🏠 Go home.

My little roguelike is coming together

Published on

The level generator for my roguelike is coming together. Data structures are making sense, and it's pretty easy to iterate on, once I solved a bug involving swapped variables…

The game is going to be my excuse to finally start writing more and more code, and I'm pretty excited about how it is working so far. It's being written in Clojure, which is a fun little Lisp-like language running on the JVM, and developed to be a modular, fun, sci-fi/cyberpunk roguelike.

The basic premise of the game is a standard Roguelike: Get to the top of the corporation's tower, steal the loot, and get out before the bad-guys kill you. However, I have some really neat ideas that I've been fleshing out for it over the course of a year or so that make it really interesting to build, and hopefully when it's ready interesting to play.

There will be two "worlds": A physical world, and an overlay network world. Imagine running hacks on servers inside of the corporation's tower to disable security, unlock hidden rooms, and make your climb even easier.

When it's done, I want the game frontend to be pluggable: You can play over a terminal, or via a web browser. This is one of the main reasons I wrote the game in Clojure. The web frontend can and probably will be written in Clojurescript, and since they are essentially the same core language, you can pass EDN between the two. Define a sane API between the frontend and the backend, and I could in theory plug any frontend I wanted in to this thing, including Android.

I'm also imagining a sub-set of the levels being in a different environment – not every game should be a tower climb, I guess? When you start, you start at street level, why can't you go explore the streets, build up your kit and your ICEbreakers for the run before, well, running? There will be NPCs on the street, hacker gangs and police crews duking it out for control, and you can get some great experience and credits by lending your hacking skills to one of the factions.

You wake up in a grungy side-street alley. You've been in The City for three days. And you're still fucking future shocked.

The City is unlike anywhere else you've been. Energetic, vibrant, and completely insane. Your first day was spent just trying to figure out the street grid – from the street level any of these towers could be UltraCorp's. You need to find your way to UltraCorp's Head Quarters if you want to get Her back.

You spent day two meeting the locals. There are a couple of street factions out here, the Greens and the Reds, fighting each other and the police – known disdainfully as the Blues, just another corrupt element of The City. All of them are looking for an edge, a way to destroy the other two once and for all, and take this sector of the city under their own control.

And now it is day 3. You're still looking for that damn building. But you have a plan, and you are starting to come to understand this place. But you should know, The City evolves faster than humans can keep up. AIs roam the Net, genetically enhanced rats and genetically enhanced hackers roam the gutters.

It'll be a long while before this thing is ready to play, it's going to be my little project for the foreseeable future. I'm not putting my existing side-projects on hold, I'm going to just practice the self-control to not get distracted with new ones for a while.

Respond to this note:

Ryan Rix is a computer infrastructure fanboy who dabbles in decentralized systems. Reach him on twitter as @rrrrrrrix, via email to ryan@whatthefuck.computer or on Facebook or on Matrix as @rrix:kickass.systems.