I have been working on a Perl MUD framework called AberMUD. Most of the core server logic is in a separate framework I called MUD. Though the framework is called AberMUD, I am mostly basing the framework on the Dirt code-bases, which are just a variant of the original AberMUD, but a very good one in my opinion. I think it would be great if people used MUD to build other bases like DikuMUD and TinyMUD, and brew up a framework of their own. I know I am itching to write one.
I played on MUDs a lot in my teenage years. It has always been a dream of mine to write a framework that makes it very easy for other people to crank out robust MUDs. With the rise in popularity of modern gaming, MUDs are a dying culture. I am hoping to keep it alive by making a convenient framework and hopefully a community to back it.
I am also using AberMUD to learn a lot of new cool things in the Perl universe. Listed are some modules that currently make this project really easy and fun to expand:
- Moose - OO with meta-object and role capabilities
- Bread::Board - Wires all the MUD components together for easy object construction
- KiokuDB - seamless, persistent OODBM for storing all the MUD data
- Path::Dispatcher - Great dispatching tools for command parsing
- POE - Convenient socket-oriented tools to prevent reinventing the wheel
I may use other cool modules in the future like HTTP::Engine or something like it to build a web interface for managing components of the universe, like locations and objects.
AberMUD and MUD are both on Github for anybody to peruse and clone.
Documentation is still sketchy but I will make it a lot more verbose once the framework starts to settle. Feel free to give feedback!