WCNH codebase: Pre-made sci-fi PennMUSH, Ruby bridge, and fully-coded systems
Rince last edited by Rince
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.
Bobotron last edited by Bobotron
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.
Rince last edited by Rince
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.