WCNH codebase: Pre-made sci-fi PennMUSH, Ruby bridge, and fully-coded systems
So, I figured I might as well flog this here too.
If you want to make a sci-fi game and don't know much about code, you should probably check this out.
It's a complete source code and starter database from a functional sci-fi game. It uses PennMUSH with a mix of softcoded systems, and a custom PennMUSH-to-Ruby bridge that allows for writing of significantly complex systems in Ruby. It has:
- Multi-racial chargen (softcoded) - loosely based on the FUDGE system
- MongoDB-backed bulletin boards, following the familiar Myrddin command scheme
- Event calendars
- Hand-to-hand combat, with weapons, detailed damage modeling based on race, etc
- IC communications via 'subspace' (instant channels) and 'tightbeam' (message-based/IC mail)
- Contracts system for creating TPs in an IC way
- Economy, with banks and personal accounts
- Ship cargo mission system, with generated missions based on a basic commodity supply & demand model
- Full "semi/virtual" item system for creating items with MongoDB attributes attached
- Full RP (pose, say, etc) logging system, for player 'scrollback', automated XP awards, and admin * review
- Basic space system (softcoded) with ship movement, classes, etc. Ship combat is not supported.
- Faction/organization system (softcoded)
- Basic globals (+finger, who, etc)
- Room parents, exit parents, etc.
It was not at all designed to be split out and partially used, but you're welcome to try. It's all open source and I will help support it as best as I can in my free time.
It's also a bit more complex to set up than your standard MUSH due to the external dependencies. I'm happy to help with that part too.
@Rince This looks promising and I'm setting it up now. I've been pondering what system to use for an Eclipse Phase game. This might be the one.
@Hexagon Sweet. Get in touch with me on MUS*H or the game "demo" port, wcmush.com 2199. It's, unfortunately, fairly unlikely that you'll be able to get it bootstrapped without a bit of help, but I'd love to see our many hours of hard work live on.
@Rince, do you have the soft code available in a text file format, or only on the live server?
If the latter, please send me a chat to a sample site where I can see how you approach the logging. Thanks.
@Thenomain Yeah, all the systems and softcode is in https://github.com/tkrajcar/wcnh_systems. Navigating it can be a bit tricky if you don't know your way around, though. The RP log system uses @hook/after - see https://github.com/tkrajcar/wcnh_systems/blob/master/softcode/util/hooks.mush for the contents of what the @hooks point to. The underlying code to actually create the log entries in the database is Ruby and is at https://github.com/tkrajcar/wcnh_systems/blob/master/lib/lib-logs.rb .
We'll see if I can't get this altered to TinyMUX. Thanks for the links.
Quick note on this, today I spent some time and did some consolidating that I should've done long ago. https://github.com/tkrajcar/wcnh now is the one-stop-shop for the MUSH code, the Ruby code, and the softcode, and has an updated README with lots of useful information. I also updated and tested the Vagrantfile that's included for bootstrapping a simple VM with all the dependencies installed and confirmed the game compiles and runs fine on it.
Can you install any of this without the ruby/etc.? Like, will it even install as just a DB? I admit to a deep curiosity to some of the stuff but have little knowledge of all of the rest of that.
Sure, you can grab the DB at https://github.com/tkrajcar/wcnh/blob/master/database.gz.dist and play with it if you want. Just expect lots of #-1s due to not having rpc().
If you just want to kick tires, come to wcmush.com 2199, create and run through chargen and you can see everything. I'm stepping out for a bit but might be around later to show you around more.