Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Templates

Inspired by some Cogmind blog posts about procgen, I made a small templating system that I use for placing exits, entrances, and other junk in the levels. Similar to the moves, I specify some options for what a map feature can look like, and then try to randomly place different variants on the map until one sticks.

This works okay, though I'm finding that I need a lot more visual language to make it feel less sterile. When my design vocabulary is walls and doors and they all look the same, it doesn't feel like anything. I also want to make it more organic. I have been trying to get it to blend templates together a little, by saying "it's okay if your template overlaps with a pre-existing element as long as they have compatible types for that space." But that doesn't appear to be working reliably yet.

Vertical Slice

Along the way I got a full vertical slice done. The current design is this. You load into a level, you have to find three buttons and press them and then find the exit elevator. That's all working. The problem is its tedious, not a challenge. You're not accumulating resources as you explore, which makes exploration kinda dull. The challenges offered by the bots are not intense enough to be anything but an annoyance. And there's not enough "juice" to the visuals or interacting with the bots for it to feel like much. So the slice is "in" but it's not good yet.

Next Steps

I've got a zillion directions I could go from here. I'm not sure where to find the fun, so to speak. One change I made to support this BSP map generation style was to make the playable area a lot larger. But I'm wondering if that's part of what's not fun here? When I go back to the out of the box "digger" algorithm that rot.js has, it does feel better. So maybe I need to shrink the play space back down and really try to cram some character and hard choices into a smaller space. Push you into more direct conflict with the bots.

The other area is different kinds of bots. I'm thinking some just basic stationary bots that shoot their vision across a hallway or room at least forces you to do more than just wait for your path to clear from a basic bot. Might also need hunter bots that are punishing you for waiting too much. Or bot spawners like in Invisible, Inc. where staying on a level amps up the "heat." 

I may spend some time looking at blueprints to get more inspired about how human-built inside spaces look. There's a lot of thinking on dungeons and tunnelers in proc gen, but I'm going for a like mega-corp basement vibe. No wasted space, stuff has a purpose. Server rooms, storage rooms, cubicles, maintenance closets. That sort of thing. But I need to draw out in more detail what "good" versions of that would look like and then get to generating. 

I'm also thinking about "juice." When I look at screenshots for other games, the worlds are just a lot more natively inviting. They use color in interesting ways, the shapes are more varied. I've tried using some other characters but for whatever reason they render weirdly/poorly in the ROT.JS display. There's also an anti-aliasing that feels a little odd and I wonder if harder edges would feel good? I need to spruce up the environment and offer something more to make it feel real than what I have now. Updated the latest playable version here. Hit "m" on the title screen to get the map generator mode, and any key other to generate a new map.