Tired of Caves?

During my first 7DRL the only dungeon generation algorithm I had was a variation of this roguebasin article. For the next two 7DRLs I kept the same algorithm, but only because I ran out of time to make a new one. For GnomeSquad, this wasn’t as much of an issue, since caves fit the theme of a bunch of Gnomes adventuring deep underneath a mountain.

For RoboCaptain, this was more of a problem. I knew I wanted the player to control a murderous robot, but what the hell would one be doing in a cave? (Secret rebel human lair under a mountain of course)

Not that these things matter very much, but I want to be sure I am not unprepared for my next game (whatever that is…), so I have been working on dungeon generation. I have read and re-read Andrew Doull’s series of articles on dungeon generation in Unangband, and want to put some of those ideas to work.

This is what it looks like so far:

The blue rooms represent a ‘region’, which correspond roughly to Andrew’s room types construct. These could be a special area of the level, or an area that a certain monster hangs out in, or nothing (or anything!). I’m trying to build a system that can handle this kind of thing from the ground up, without getting bogged down too deep in trying to build the “perfect” dungeon.

I also put some decent effort into the display code (seen above). This is only for my own personal testing. This added a slight overhead to the actual dungeon generation code, but I am trying to take a page from Bret Victor’s book and invest in some great and easy visualization features, to make my life easier. I’m not saying I will end up with anything nearly as slick as his tools, but so far they are a nice step up from the usual crude text file dumps.

The actual code is in python but serves output as JSON, since my next game will run in JavaScript, I think this will vastly increase my flexibility. Maybe if it ends up being good enough I can share it as a web service, or at least as a cool visualization tool online. (Although the “market” for a) JavaScript roguelikes that b) don’t want to use their own dungeon algorithms is probably zero)

What's Next for RoboCaptain?

I’ve had the most fun working on this game than any other game project I’ve done in the last 5 years or so. I think I will just keep going with it for now and see where it takes me.

Just as a teaser, the screenshot above is some semi-working alpha code for the next version (0.3 or 0.4). I originally intended to have the Cloak and Jetpack systems in there as secondary systems. Eventually I decided that the Cloak was so much fun as a mechanic that it got promoted. But I ran out of time to add the Jetpack… which I think all good games should have.

We’ll also see how many of these original ideas I can get in eventually.

RoboCaptain (2012 7DRL) Prototype

I put up a playable prototype here:
http://www.heroicfisticuffs.com/robocaptain/ 


It’s not a true “game” yet, but there is lots of “gameplay”. Only one (randomly generated) level, but I like the AI a lot. marines will keep their distance and apes will run right up and maul you.



For now the controls are: 
Movement – WASD
Rest / Pickup – SPACE
Cycle system – Q
Cloak/Uncloak – C
Shoot – Click
Melee Attack – Just bump into stuff, roguelike style


Q will cycle which sub-system is being charged. If you don’t want to charge anything, leave it on Power. 


Clicking on stuff in the inventory after you pick it up will use it (fuel cells), or equip it (rockets, melee weapons)


I think that’s it for now? I’m still on the fence about the cloaking.. it was not in my original design but I had an “invisible mode” for debugging and it was so much fun that I just made it part of the game, replacing the “engines” sub-system.


Obviously not finished but if you want to mess around with it I always love first impressions. The control system will probably change to numpad soon, so that you can move diagonally. I’ll also probably add a keyboard-only way to shoot stuff so you dont HAVE to use both keyboard and mouse.


Cheers!