Scream of a Million Minds

"A holographic dreamscape, woven from the intertwined daydreams of the Soul Cage's unfortunate denizens. A careless step into this theatre of dancing lights is all it takes to replace your world with their own."

  • Hypnotic Projector flavour text

The Games Foxes Play

(complete source code on github | view all previous posts | play 0.2 online in browser on itch.io!)

This week, I have been continuing the complete redesign of my entire game. I feel a little heartsick butchering some huge blocks of code and knowing I am effectively invalidating hours of work, but I try to keep a holistic perspective. I couldn't be where I am now without all these missteps. Every good idea is the sum of many bad ones.

Complete UI rework

The abundance of numbers in the lower part of the sidebar was starting to irk me by its inelegance. I am not sure yet if the replacement I have cooked up is final, but it is certainly an improvement. Two receptacles of Souls illustrate the cacophony of minds screeching inside Terminal's psyche, and a little spinning wheel contains all Souls used in each room. Zero numbers, pure visual goodness. You can even see the turbulent Souls thrashing around! I hope it isn't too distracting. If it is, such an annoyance is clearly representative of the player character being driven mad by the endless chit-chat of psychic voices.

The Intangible Path

Every time I add something new to my game, a question keeps coming up - how in the world will I ever tutorialize this mechanic? I love interactive, text-less tutorials, but at this point I have to make some concessions.

The new Research Tree tries to address this problem, slightly inspired from the Thaumonomicon which appreciators of eldritch tentacles and power drills may recognize. Each "Node" contains an entry of thoughts and reflections from Terminal for those interested in the lore, and a column of condensed information to assist the aspiring soul manipulator. Doing certain things in the game that prove mastery of the previous topic will unlock the next node combined with a discrete notification, pushing the player further on the intangible path.

I imagine some of these concepts are still a bit nebulous for new players, so I hope to replace the placeholder grid in the lower right corner soon with some helpful GIFs - or perhaps a mini-interactable dungeon showing off the feature.

I wish to do more things than just tutorializing with this new feature, but that will be the topic of a later Sharing Saturday - with a possible connection to that one thread I made earlier this week. My gratitude to all kind commenters who pitched in. I already made the pattern finder code - possibly a little inefficient with all those nested loops? My tests seem to run fine for now. If everything goes according to plan, this should be positively awesome.

Sundered Minds

"Failure is as valuable as success and both are required for victory" was always a core part of my design philosophy for TGFP, but with the recent cullings, this precept had started to sink away from relevance. No longer! Upon dying inside a pocket dimension, you now respawn in the dimensional layer above, and all Souls contained in the Soul Cage become Shattered Souls. Lore-wise, I imagine this as a kind of failed surgery - the Souls not recovering from your incursion into the deepest reaches of their identity and breaking apart as a result.

This is not necessarily a bad thing. Yes, you have scrapped some potential building blocks for creating more pocket dimensions, but as Terminal is himself made out of what is basically spiritual sewage, this resource can be assimilated within your psyche to enhance its abilities. Every 3 Shattered Souls grant an additional free use of a spell in each combat room, which is a welcome boon in especially dangerous areas.

Random additional changes

  • I have excised the so-called "accidentally implemented feature" that is the grid effect appearing on the minimap. No, Onei, it's not a feature, it's a bug. I have deluded myself for long enough. Into the trash it goes.

  • Brand-new Hypnotic Projectors, placed inside a special room, constantly display the pocket dimension crafted by the Soul Cage in all its glory. They also double as a means of access, as you stare into the dancing holograms, substituting your reality with their own...

  • I have written and rewritten some flavour text and descriptions here and there to be less heavy on purple prose, and to hopefully leave a better lasting effect. Soul manipulation is dark work, we're not in the realm of bunnies and rainbows here! It's a tough balance finding the right point that screams "delusional zealot" without going full Caves of Qud 2: Attack on Thesaurus.

My obsession with development has been rekindled, and my free time is being mercilessly slaughtered on the altar to JavaScript. I pray that the flame will keep on burning for the weeks to come!

Staring Into Infinity

"There was a time where the legislators of the Old World would have smitten any users of this sinister device with the most harrowing punishments they could conceive. It turns out these primitive rules are hard to enforce when one lacks a physical form."

  • flavour text of Ivory Bars

The Games Foxes Play

(complete source code on github | view all previous posts | play 0.2 online in browser on itch.io!)

Unfortunately, I have chosen to downgrade my browser build to the old 0.2 from January. 0.3 is bloated with unfun features and is way too confusing, giving people a bad first impression of my game - as cool as the map generation algorithm may be.

At last, officially back on track. It's genuinely deranged how forcing myself to sit down and get developing is the most arduous thing ever, but if I survive the first 30 minutes of urges to go do something else, then I become so engrossed it would take a nuclear cataclysm to get me off the computer.

Anyhow, to get past the "none of these features are fun and my game is stuck" bottleneck, I have had to rethink the core gameplay loop entirely. The progress shown in this post is the result of weeks of obsessed brainstorming and daydreaming cumulated across many, many public transit rides.

I hope I won't have to scrap all this stuff again. But this time, I feel like I actually thought this through. Plus, despite the apparent complexity, it was surprisingly easy to make just by repurposing some bits of code from unused features.

Totally Not Evil And 100% Ethical

The player now starts every single run directly in the pre-fabricated facility I have showcased last week. It is not randomized, and contains a couple of interesting rooms - but the one I would like to talk about is our little sinister friend right here.

Meet the Soul Cage. A prison capable of holding captive the very identity of whichever hapless individuals are placed within. Mechanically, this means that Souls (the spells of my game) can be both placed and retrieved into the slots of this container.

Now, Souls used to be rather obedient and overjoyed at the thought of you enslaving them for eternity. That is no longer the case. When acquired for the first time, Souls will now be in their Turbulent state, which makes them thrash fruitlessly in terror both in your inventory and in the cage. They are not usable in this state.

While placed in the Soul Cage, Turbulent Souls daydream a lot - of the worlds they once knew, of the creatures they encountered on their travels. When a whole assortment of Souls unite their thoughts from the Cage, they create together a Vision of the universe outside the facility.

You may explore this Vision. By meditating in this familiar room, you enter a dream-dungeon where each room represents one Turbulent Soul. Compare the structure between the cage and the map.

In each of these rooms, your task is to exterminate the creatures within - through the combat system I've shown many times now. Upon doing so, the Soul they belonged to will be coerced into submission, cease its struggles, and have its ability unlocked for usage.

Now all is left to do is exit the Vision, return to the Cage, and harvest the freshly disciplined Souls like a cultivator visiting their fields on a warm summer day. As for who will refill it to repeat the process?

Well. The creatures inside the Vision... They may be just imaginary creatures, but they have Souls too. Perhaps you are an imaginary creature yourself?

Staring Into Infinity

I love this mechanic, because it lets me use the map generation/display system I made without removing the fun part of my game (clearing puzzle-like encounters in small rooms). The future plan is to make the player able to accumulate a large quantity of Disciplined Souls, then put those in the Cage, and create a Vision that is peaceful, stable, comfortable... A new facility to call home, with its own dream-Cage to continue the process one layer downwards. And so on, in an infinity of dreams within dreams.

Why would one want to embrace such insanity? Well, I doubt the Harmony - the main antagonistic force of the game - are very happy about your psycho-agricultural business. As they pour into the facility from the outside world, perhaps the only escape will be down a bottomless pit forged out of the imagination of hundreds.