mjb.im

Navigation

My Works

To see most of my (public) projects, you can visit my github profile. Increasingly, I am using sr.ht, and you can find my public projects there at my sr.ht git repo list. As of writing, the only public project there is this website.

Games

Evenfall Arcane

Work in progress. An open world, spellcasting RPG. My main game project, likely for quite a while due to it's scale. You can read more about it on its website, EvenfallGame.com.

Unnamed Project, 2019

Work in progress. Current side project. Yet to be named, yet to be really even announced, but the main keywords to describe it are: "absurdist roguelike tower defense."


Not Games

GM Core

Decidedly not a game, but still game related. GM Core is a suite of utilities to serve as a basis for game development in GameMaker: Studio 2, bringing in convenient data management functions, a simple networking framework, event pub-sub, a test framework, delta timing and simplified particle management. Each of these are broken out into their own package, allowing you to pick up just what you need to lower the footprint in your project.

Patchwire

Working alongsize GM Core, Patchwire is a simple multiplayer game server framework. I built it for some simple multiplayer game development in GameMaker: Studio 2. The server framework is written in Node and uses a simple JSON command exchange interface, so the client can be written in any language with socket and JSON support.

Jankbot

A steam bot built to help bring together gaming communities. Jankbot is a pluggable steam bot that can load extensions from NPM. There are a modest number of jankbot modules on NPM, mostly written by me, but a few others. Jankbot is certainly the project I get the most questions about from others running the bot. I have been personally hosting one for my group of friends for years now, and while it hasn't been as crucial as it was in our hayday, it's still around to remind us of our quotes list or broadcast when people are trying to play a game.

Combat Manager

Work in progress. I am building a combat manager for tabletop RPGs. I've found that there isn't a lightweight, no-login-required, simple-interfaced combat manager out there. I tried just relying on a spreadsheet for a while, but I really want a click-button manager with enough tools and data management to be useful without getting in the way. I'm still building this out, but the absolute basics are available on the preview server.

Ipsum Micro

On Github - Live server

ipsum-micro is a tiny lorem ipsum generating microservice. By default, it returns 10 sentences of lorem ipsum. You can append ?### where ### is between 1 and 1000 to the url to generate more or less.

Taiga

On Github

A small toy programming language, mostly as something to do to learn more Crystal. It features a nearly assembly style syntax and a unique underscore token which always contains the value of the previous expression, letting you flow data through lines.


Old, old stuff

This section has some of my older work that doesn't really reflect my modern work, but is still kinda fun to keep around.

Droppel

On Github

A tiny little script to basically just move a file into a web sync'd folder and then symlink it out from there, allowing you to store a file in the web sync folder but use it in arbitrary locations on other computers.

Typechat

On Github

A hostable link sharing server that uses web sockets to live update for everyone connected. It is basically a super simple live forum that is entirely keyboard driven. You have one input at the top, and new posts come in under that. You can give simple commands to post, reply or upvote stuff. For a little while, we used it at our office to share links with each other and comment on them (usually just silly stuff).

Project Heights

On Github

My crack at a JavaScript game engine in the early 2010's. Its sister project, heights-peak managed entities to "compile" down into a runnable Heights project, which I intended to use as a backend for a web based game development studio. Woulda been neato. Maybe I'll take another shot at it sometime.