Noirmancer October Update: New Level In Playtesting

Published on 2026-10-19 by DistractedMOSFET

This a development update for my mind-erasing stealth game Noirmancer. I usually give some brief status on how development is going and ramble about some aspects of game dev I've been thinking about.

STATUS UPDATE

Hey kids, dad's back with the milk. As usual I decided to shut the hell up until I had good news. The good news is that the next level can be played through from start to finish. So I guess it's "alpha" in some sense. Unpolished, undecorated, but it is a level. I've done the first playtest with someone. And of course, there's heaps of problems that need to be fixed. That's normal. Although always painful.

The new level sees the protagonist sneaking into Apogee Social Club. This level is much bigger in terms of floor space than the previous one, and features far more NPCs. As the protagonist sneaks around while the club members are still about in the late evening.

Most of the work since the last update has been level design stuff that I don't particularly want to talk about in the blog post since it just kind of feels like spoilers? But I will follow-up on something from the last one: The bugs got a new use case, retrieving intel for you. It's potentially a very bad idea to add this but it's interesting enough that I wanna try it.

A really small addition to the game that isn't particularly pretty at the moment is bead curtains.

(Extremely early footage, obviously)

THE FLEXIBLE POWER OF JUST SHOOTING HEAPS OF RAYS INTO THE ENVIRONMENT

It's funny to me just how much game dev stuff you can achieve via firing probe rays into the environment sometimes. Obviously if you're making a shooter then you use heaps of rays for that. Noirmancer has slightly more unusual ones. How obscured in darkness a location is can be determined by shooting rays from lights towards interest points (the player mostly). But I've been going a little crazy with it recently. I now using bouncing rays in a different way with lights: when you toggle a light I fire a bunch of rays out from the light to find NPCs who saw that light suddenly change, and they'll go to investigate.

Just recently I've automated the tedious manual process of building trigger volumes that I use to hide objects and lights when you're not inside the rough area they're visible in. Just shooting rays out from the lights and getting a rough sample of where the light can sensibly be perceived from and building volumes from that. It works pretty well. It'll probably require some manual tweaks, but mostly automated with tweaks is preferable to constant manual work, IMO.

The public alpha demo used bouncing rays to determine where the ambient sound of outside should be visible to the player, such as through windows and doors. In the time since the demo I've expanded the use of bouncing rays for audio calculations.

The alpha demo used used NPC-pathfinding systems to determine the distance between the player and an NPC who should react to a sound. It's a clever lazy way of implementing that, that I stole from Filcher, but it has problems. Now I approximate audio-distance with bouncing rays, which overall works much better. I've added sounds that do a fraction of a second of bouncing ray samples around the environment to try to find the player before determining whether the player can hear them, to stop them being audible through walls. There's some very fancy acoustic simulation plugins out there, but I kinda like how easy this is to slap onto an existing game and not really change anything I was doing. The system I'm using is so simple I can easily read and understand all of it from top to bottom and customize it to my needs rather than be stuck with something off the shelf.

As time goes on, I keep adding more and more rays. Fortunately, they seem to be very cheap and I'm yet to be punished for it.

MEDITATIONS ON CREATIVE CHALLENGES

As is often the case for me in this project, I got into a slump. I kicked my ass, started setting weekly goals again and pushed myself. It's been great to make real progress again.

I'm finding it very helpful to work through level design creative block by having different perspectives to consider. Thinking about rooms via their story-purpose or the flow of the player through that room or where intel is going to be in that room or what abilities I want to facilitate there. Just take a different perspective and sometimes that's enough to get an idea.

For me, one of the biggest challenges is dealing with uncertainty. Good choices aren't obvious in game design. And so this can really make me hesitant to make choices. But I gotta simply push forward. I think some amount of discomfort is just normal? And you have to embrace it a little.

It has occurred to me that a thing I really should've done with this game is set a floor-space budget per level. As you increase the floor-space the demands of the level generally increase. So far, I think the levels in the game are a bit too big. But I'm hesistant to try to seriously rework what I've already got and lose time to that. So instead I'll measure them up, decide on some kind of floorspace target for future levels that's maybe around the size of the alpha demo level, and start each level with that amount of empty floor space. Then start partitioning that floor space and arranging it. Start with the amount you can do, and work backwards.

What's Next?

I just did a playtest of this level so I have a big list of things to improve, before playtesting again and again and again. At the same time, I probably have to start thinking about the next level. In some point with the playtesting the time between playtests will probably become longer than I have changes I wanna make so these two processes will probably start becoming interwoven.

Follow along

Wishlist the game on Steam. You can follow this project via RSS (Don't know RSS?), or by following me on Mastodon. And of course feel free to contact me via email, or Mastodon with any comments or questions.