Endless Cyan Rivers

"Gaze into my cyan eyes. See an ocean: your identity, a droplet drowned in endless lives."

  • Saintly Hologram, advertising its choice of starting Soul to new players

The Games Foxes Play

(complete source code - mirror | view all previous posts | play 0.4.3 online in browser on itch.io! (very old))

I've done too much this week. I'm nearly at 1000 Git commits. Let's jump straight into it.

Here is this week's demonstration video.

  • Tiles have been removed. There are only creatures now.

    • There are now intangible creatures. They can move anywhere, completely unimpeded.
      • Yes, things such as the Well (stairs) or floor features are creatures. They have a Soul and everything. And you can become them. You can turn yourself into a walking door.
    • Properties can be applied to pretty much anything. Those airlocks that slide open when you touch them? You can put that on an enemy. You can open your enemies. Literally.
  • The new Axiom "Droplets Drowned In Endless Lives" turns other creatures into perfect copies of the caster in both body and Soul. You can have 10 clones of yourself walking around in perfect synchrony and copying all your Souls ("spells"). This is balanced, because each action also makes 10 turns pass due to the way Souls work (1 turn per clone).

  • The new Axiom "Reality Torn Asunder" removes all safeguards and restrictions from all Souls. For example, combining that with the previous Axiom lets you turn the walls and stairwells into clones of yourself.

  • The new Axiom "Timelines Snapped Like Twigs" makes associated Souls trigger every second. Not every turn. Every second.

  • Merging all those 3 alongside some other fun Axioms has return an old enemy type I had retired months ago. The new Serene Harmonizer gradually consumes the entire level with everything in it by turning every piece of matter into a clone of itself.

    • This is actually the nerfed version. The initial prototype would literally conquer the entire game in seconds due to a hilarious chain reaction and drop my frames per second to 1.
  • A new starter area presents the player with a choice of 1 out of 6 starter Souls. Which Caste will you pledge yourself to? Since this is practically one of the first things a new player will see, I am making sure to bring out the cool stuff right away. This is no choosing if you want to be a wizard or a warrior, this is choosing if you want identity takeover, soul swapping or gravity manipulation in your starting kit.

    • Actually making those 6 Souls is a work in progress. I have the Ordered one (knockback and teleports) finished. The Feral one (gravity swap) is coming along, but has a few bugs. The Saintly one (assimilation and clones) will be extremely easy to make. Artistic (soul swap) shouldn't take too long. Unhinged and Vile are the ones I'm not too sure about. Their themes are respectively "greed and desire" (probably something about stealing abilities) and "distancing oneself from direct conflict" (probably something about summons or making a little pokémon team).
  • Save and load system completely reworked.

    • Every time a creature changes either its Position, Species (and some other minor things), this gets tracked.
    • When the game is saved, the RNG seed is noted, as well as all the modified Positions and such of every creature in the game.
    • To reload the game, simply build the world using the same RNG seed, then move everything back into place.
    • Making it so Soul changes are tracked too is a work-in-progress, but should not be too hard.
  • Complete rework of the rendering logic, which significantly improved performance and made movement animations much more satisfying.

  • Tons of new lore and text for many different things.

I had the week off from any responsibility which allowed me to go full no-life and implement all this stuff. I expect the coming week to be very different. Nonetheless, I am still aiming for my objective of a new playable - and winnable - demo before the end of the year!

ALL IS SOUL

"A glass canister filled with wispy, pink vapour. The label reads, "Once the fluorescent tubes' buzzing becomes unbearable, break immediately and inhale contents. May induce ego death."

  • Saints' Breath flavour text

The Games Foxes Play

(complete source code - mirror | view all previous posts | play 0.4.3 online in browser on itch.io! (very old))

The fascination is getting to me. My ideas are getting weirder by the day. This might be the week in which I put the most hours into my game since its very inception. I don't even want to play video games anymore, I just want to make make make.

Return of the Diamond Fist

My beloved hyper-punch knockback spell is back after an all-too-long retirement, fully reprogrammed to use the new Soul system in a way that makes me feel like an absolute genius. In simple terms, taking a step will passively punch the creature on the next tile in front of the player, knockback that creature (if possible), and create a shockwave at its impact location.

In order to increase reliability, the companion active ability (which I somehow managed to fit in the same Soul) warps every creature in a short circle AOE as far from the caster as possible, in order to forcefully reposition creatures backing into corners or cuddling in packs to avoid getting punched.

Video demonstration.

The wheel UI in the top right has been reworked to automatically scan the player's Souls, detect all hotkey bindings and add them as clickable buttons. Currently, you see it scanning the Saintly Soul, containing the WASD movement commands, and then the Ordered Soul, with that active I just mentioned assigned to 1. Yes, if you mess up your starting Saintly Soul, you may literally lose the ability to move. I am going to need a surrender button.

I am not too sure what to limit these actives with, or when they recharge... Mana, creatures defeated, turns passed? I can't quite find a satistfying mechanic that would tie in with my game. Maybe I should just let these abilities get spammed as much as the player wants and balance them around that.

ALL IS SOUL

I am currently in the process of removing tiles from my game. That's right, every wall, feature and doorway is being turned into a creature that believes it is an inanimate object. Their Souls, devoid of any reaction to the passage of time, only have simple Axioms such as "You are untargetable.".

(Floor tiles will remain as the only tile type).

I expect lots of horrible bugs to surface from this rework, but for now, it has allowed me to create this hilarious "reverse black hole" giga-spell, which instantly makes any pain endured in development worth it. The matching Soul goes roughly like this: "When the spell hotkey is pressed, target all adjacent tiles to the caster, expand, expand, expand, [...], exclude the caster's tile, warp every targeted creature as far away from the caster as possible."

There has been previous times where I journeyed into fundamental reworks like this only to get disappointed and undo everything. This time, I think this is genuinely a great idea:

  • If I am not wrong, not having to draw tiles and just plopping creatures on a black background will improve performance considerably on my potato laptop.
  • If I am not wrong, only having to save the position, health and Souls of creatures and not tiles will do wonders for my soon-to-be save & load system.
  • Lore-wise and flavour-wise, it's just perfect.

I'll be building a starter dungeon of sorts soon where every single interaction revolves around my Soul system. If everything goes according to plan, it will have cool powers like enemy ability copying and body swapping (both of which are trivial due to the Soul system - the creature which currently is the "player" is only determined by which entity is holding the legendary Reality Anchor...)

Perhaps... a new demo before the end of the year is possible? That will depend on what Real Life™ has in store for me...