Terminal Rain: A game where you search for meaning in a cyberpunk sprawl, with only the neon light to guide you…

It’s been a while since the last update! This dev blog post will focus on the work I’ve done with procedural generation, some graphical improvements, and some new ways of interacting with the world.

Terminal Rain generated city block

A randomly generated intersection.

I’ve started generating infinite city blocks in all directions (at least until integer overflow, at which point I assume it loops). However, it’s not too hard to find repeated building types in the screenshot above. While the blocks are arranged randomly, the buildings themselves have very few random properties. The blocks themselves use their coordinates as their seed, guarenteeing that they’re generated the same every time.

I attempted to randomly generate the building interiors too, which turned out to be a really tough problem. The roguelike dungeon algorithms out there don’t really fit, since I’m trying to tightly fit a bunch of semi-rectangular rooms into a larger rectangle, with logical hallways in between. Hopefully I can post my progress on that soon, and go into detail on my eventual algorithm.

Terminal Rain bar interior

The lighting system has gone through a lot of refinement.

Graphically I’ve been playing a lot with the lighting. I’ve been trying to get it flatter with the lights themselves looking brighter. Lights also used to have three colors associated with them (main, fall-off, ambient), and I’ve simplified them to one color that the others are derived from. Lights take up the most room in memory right now, so eventually I’d like to find more ways to reduce their footprint, like simplifying the flickering system.

The screenshot above also shows the incidental dialogue system I’ve been building. Here’s what it looks like in action:

Terminal Rain incidental conversation

This dialogue is completely random right now.

Incidental dialogue is just for flavor right now, but I think it has a lot of potential. It could help signal when you’ve alerted someone to your location, for instance.

In direct dialogue, you can now ask anyone their mood or thoughts, the latter of which uses some sentence building to create a generated “story.” In the last blog post I showed how you could buy and sip whisky. Now you can give someone that whisky, making them like or dislike you (which has no current effect).

Terminal Rain asking thoughts

Someday I’ll describe why stuff like this is important to me, but for now I’ll let the screenshots speak for themselves.

Lastly, I’ve been putting some work into the alarm system and have added security cameras. It might not seem ethical to put them in every motel room, but this is cyberpunk! I’d like these to play a big part in sneaking and reconnaissance gameplay. Cyber-cops chase you around if you go somewhere you’re not supposed to be for too long and a witness sees you, but they don’t do much else.

Terminal Rain security cameras

We are always watching.

This turned out to be a big post, that’s what I get for waiting a month. You can follow more frequent updates on my twitter at @jacksonlango.