The Shapeless Path

"Where the Ordered forces do not have soldiers, they have traps. A careless step, and would-be looters become the looted, their every memory sold to the highest bidder on the hivemind's network."

  • Flavour text of A Click, Then a Flash, mutator component

The Games Foxes Play

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

So many changes. It is utterly insane how I either can't think about anything else but my game or can't bring myself to write a single line of code on any given day, no in between. I'm glad I can keep up the pace now, because The Plane Where Grass Is Touched has some exciting but time-consuming advancements in store for me in the coming weeks.

My itch.io page has been updated with a new demo that includes all of the changes in the last 3 months! Still a bit rough here and there, and potentially confusing, but I certainly had fun playing it from beginning to end.

Steps Shift The Mind

There are two new types of spell-crafting blocks: Mutators and Contingencies. This means that the structure of a spell is now as follows:

  • Contingency: When [SOMETHING] happens...
  • Form: ...target all [THESE] tiles...
  • Mutator: ...make some [CHANGES] to the spell...
  • Function: ...and unleash all kinds of [EFFECTS].

As an example, the following spell:

  • Contingency: On taking a step...
  • Form: ...target tiles in front of you in a beam...
  • Mutator: ...set down a trap on the targets with the following effect...
  • Function: ...launch the target forwards and damage it when it hits a wall.

does exactly what it says on the tin.

Mutators and Contingencies are optional. Contingencies in particular tend to induce sacrifices and costs, as you are basically turning an active ability into a passive one - a very powerful thing.

Additionally, all spells now have a Potency rating dependent on which components constitute it. Power up GYVJI (a Function) with 4 Potency, and unleash shockwaves on impact! Increase the duration of applied status effects from SENET or KASHIA! There is also a potential Cost, currently only found on Contingency blocks. Each time the Contingency triggers, you will lose an X amount of Shattered Souls until you can no longer power the Contingency. How to get these Shattered Souls? By failing challenges and losing encounters, of course. In my game, failure is simply a different kind of step forward.

Maybe this is a bit complicated, but only a fool would settle out into a traditional roguelike journey with the goal of mass market appeal.

Laws of Soul and Spirit

As the old burns to feed the new, many UI elements have been added and removed:

  • There is a new minimap viewable in the lower right corner, which dynamically updates every turn. The way it is rendered in the backend is... a bit gory (it is actually rendering outside of its frame, so I draw black rectangles to cover the overextending bits), but it works and I have noticed no performance issues.

  • In the Legendary Soul menu, the minimap is replaced by a new display which contains all relevant information about your crafted spells: its Potency (blue number), its Cost (purple number), its Caste (colored symbol), its Contingencies (yellow row), its Forms (green row), its Mutators (pink row) and its Functions (orange row).

  • There is now support for paragraphs and colored text in all text functions. This sounds so simple, but it was easily the most nightmarish thing on this list. Yet the result is so glorious! Yes, Ulfsire, I have stolen the way you describe your powers in your game (Path of Achra) because I find the systematic layout to be very apt for a synergy-based game.

  • The "Resolve", "Ipseity" and "Harmonic Relays" mechanics (and associated UI elements) have been all shown the door. A tragic thing, considering how I was really imagining the final product to include all of these as major mechanics, but as Souls shift and change, so does my game.

Unlocking Memories of the Old World

There is now a "drawback" to crafting spells - each pattern used will now permanently add a new feature used in the map generation of future Visions (dungeons). Most of the time, this is a creature. Can that charming spell component deal with the swathes of Felidols it just added to the monster pool? I say "drawback" in quotation marks, because it is basically the whole point of the game - you are adding more diversified creatures in your ultimate quest to recreate the Old World as it once was, with all its weird denizens.

The Faith's End facility (where the player begins the game) has also received a slight touch-up for thematic purposes. Your existence is confined to only 5 vertical rooms, with the Saints' Voice hologram as your sole company. Reinforced windows scattered across the corridor allowed the (now-long vanished) wardens to document your every motion. At the end of your containment chamber, an access gate with a few drawbridges allow access in and out of your cell - a privilege which is naturally not yours to choose.

Spoiler alert: those drawbridges won't stay locked for long. The cataclysm still rages outside the facility, and its perpetrators know you're trapped in there - your mind teeming with memories and an identity ripe for claiming. That will be something for a future week.

Bonus: Tighten Your Seat-Belts

Oh, as I was tinkering around with some potentially fun spell combinations, here is a particularly hilarious one I stumbled upon:

  • The EGO Form targets yourself (+4 Potency).
  • The GYVJI Function causes all targets to be brutally punched backwards, until they collide with an object, at which point they take massive damage and emit a damaging shockwave (at 4 Potency or more).
  • The PARACEON Function causes all targets to gain temporary invincibility for Potency x 1 turns.

This means:

  • EGO-PARACEON: You become temporarily invincible. Neat but boring.
  • EGO-GYVJI: You launch yourself into a wall and perish pathetically.
  • EGO-PARACEON-GYVJI: You BLAST OUT like a ROCKET LAUNCHER and EXTERMINATE every bystander with the shockwave, and leave COMPLETELY UNHARMED.

For bonus fun, add a good Contingency, like the "on Step" one I mentioned above.

Demonstration.

DIY Divinity

"Disassemble a legend, and realize what it is made of - bits and pieces of thoughts from those who shared it. Sew the storytellers back together, and gain power only spoken of in myths."

  • flavour text of the "Reforging Legends Past" tutorial node

The Games Foxes Play

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

First, I had a problem with the map generation system generally making unfun structures. Therefore, I made it so the player can build their own dungeon networks, since they probably know better than I do what is fun for them. When in doubt, outsource the labour.

Now, I am doing the same for spells.

DIY Divinity

I am retiring the concept of multiple pre-defined spells from my game - the à la DCSS kind with a massive list to choose from. I have all this lore about souls being malleable and adaptative, and then I forcefeed the player with hardcoded, immutable effects. No can do.

Instead, I have enabled the player to craft their own tools of destruction (and occasionally, creation)! Right now, there are two possible classes of components:

  • Form components target specific tiles. The Ego Form targets the tile you are standing on, the Beam Form targets all tiles in a straight line in front of you, and so on. They also assign their Caste to the Spell - Ego is Saintly, so all Ego- spells are Saintly as well.

  • Function components trigger an effect at each of the targeted tiles. The Senet Function induces Charm Touch status effects on all targets, the Gyvji Function punches all targets back, and so on.

Each component has a pattern. For example, this is Senet and this is Ego. If you imprison souls in the Soul Cage to draw those patterns like so, the Vision they create becomes special - upon clearing it, you will be awarded with an Ego-Senet spell. It is Saintly, because of the Ego- part. That means that from now on (after equipping the new spell), every single time you'll use a Saintly soul, instead of being healed, you'll enchant yourself with a Charm Touch.

Lore-wise, you are stitching together bits and pieces of the identities of your hapless prisoners. It's like the psychic equivalent of that "flesh golem" trope assembled from the body parts of many different species, but with minds instead of muscles.

With every update, this magic is getting darker and darker... Oh well, there are too many heroes in roguelikes anyhow.

Here is what Beam-Gyvji looks like - reliant on the Unhinged caste (because of Beam-), it fires out a hyper-knockback laser upon the first encountered unsuspecting fool. Sorry about the low framerate, I have yet to find a good GIF recorder that works on OSX (this is LICECap, suggested in the subreddit sidebar).

Fun? So far, very much so. Broken? I expect it to be. With free reign over what can be combined together, the player will probably be able to assemble some pretty deranged contraptions. Frankly, that's part of the fun, but I'll have to keep this system in check to ensure things remain interesting.

The Bottomless Dream-Pit

I made a thread a little while back wondering how I'd actually present those possible patterns to the player. I think I've made my decision - they are all somewhere in the research tree, but their placements are semi-randomized (semi-, because I want simple stuff like Ego- to come up early), and must be unlocked progressively. Each time the player crafts a new spell, all patterns used in the process are "researched" and the next nodes linked to it are unlocked, granting access to more complicated patterns.

There are also some "tutorial" nodes here and there which teach game mechanics, and are "researched" when the player does an action that shows mastery of the mechanic. For example, the node about Turbulent Souls is "researched" (green border) when the player successfully contains one inside the Soul Cage.

It seems to me like a rather interesting gameplay loop - draw patterns in the Cage, go challenge the Vision, return to claim your new spell, look at unlocked nodes... And craft a new spell, more powerful but requiring the defeat of a more difficult Vision, which your new spell should help you with. Great replayability - you might get the same Form two runs in a row, but that's just an invitation to try combining it with different Functions. I might try to go for a "skill tree" of sorts and make it so researching a certain pattern prevents you from researching another, forcing you to make choices.

The only small problem is that unlike the old versions of my game, there is kind of... uh, no way to lose. If you fail a Vision, sure, the souls get scrapped into Shattered Souls, but the only way you'd actually be done for would be somehow breaking every single one of your Souls. It can pathetically happen at the very beginning of the game when you only have one, but after that, it gets quite improbable.

I have ideas for a system that will add a proper loss condition, but that will be the topic of a future post...