Passion Projects

The following is a (non-exhaustive) of projects I've built myself (or mostly myself). Most of these are open source but I may sprinkle in some non-open source projects that I am working on or have released.

DragonMUD

DragonMUD is started life as a MUD server designed around the specific needs of the game I wanted to build; however, since it's inception it has become much more than this simplistic view.

DragonMUD shortly evolved from an open base for MUD games to a gaming engine for any kind of text-based games. This is enabled via an (in development) plugin system powered by Lua that allows for modifications to the function and behavior of any aspect of the game. Plugins run on varying security levels (in other words, in game scripts can't access the file system, etc...) to complete their goals, even extending the dragon CLI with new commands.

DragonMUD is now fully backed by Neo4j for intense graph search capabilities using a hand-built ORM that is implemented in a mixture of Lua and Go to connect seamlessly without loss of power to the graph database.

Future plans for the project include a plugin-based web server allowing endpoints to be designed and written in Lua with a template system. This is intended to enable web console clients or a web based interface for creating new content for the games the person decides to use.

Futura

NOTE Currently on the back burner, in an incomplete state.

Futura is a framework agnostic database management utility. The project is currently in active development and so may or may not support features you might expect it too. It's initial release will be in library and CLI formats so you can integrate with a platform you're building or use the CLI standalone. The initial release will only support RAW SQL queries for Postgres, MySQL and sqlite3. It uses and Adapter based pattern for defining new database adapters to it will be trivial to support different database systems. A future version will introduce Lua powered migrations which adapters can opt-in to on a feature-by-feature basis (such as only implementing the TableCreator interface) to allow support to be siphoned in.

DragonConsole

Unrelated to DragonMUD, DragonConsole is a Java based Swing-based Console. DragonConsole was originally created for what would have been a Java version of DragonMUD (which never got started) the console was the remaining bit. It's very easy to integrate an ANSI-color compliant Console into your Swing based applications using DragonConsole complete with in-console input mode (or maintaining a separate input text field). For now the DragonConsole project is on hold as I've moved on from active Java development but there are still features I'd like to see easily supported by the UI component such as easily piping and OutputStream into it and having it provide an InputStream from which you could read.

In addition to the standard ANSI colors DragonConsole features it own color codes which can be used instead of ANSI codes (and conversion back and forth is done by the component) that provide a few additional colors.