Living Incense

"The two golden-plated Soulscribes in the centre of this room possess the power to rewrite and reprogram their assigned Souls into a form much better suited to aiding your quest. As for the ruffians placed within the Relays, we shall bestow upon them elevation they could only dream of. Now, the Collective's definition of 'elevation' may vary slightly from yours, but Fluffy trusts we shall find mutual understanding somewhere down the line. No matter what, be assured - they will not be pursuing their journey at your side."

  • A Serene Harmonizer explaining the trading process in a Harmony Relay

The Games Foxes Play

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

With each inscribed (or deleted) line of code, the 0.2 release draws nearer. It would have been nice to be finished this week, but there are still some edge cases and insufficiently tested features here and there I want to polish in the next few days. Still, I've ported a new build on my itch.io page with all the latest improvements, and a slightly narrowed-down loot pool to avoid spawning the more... experimental reworks and additions.

Point-and-Click Annihilation

Finally, TGFP is fully playable using only the mouse! As I've been thinning down the number of useless keys in my control scheme, I've reached a confortable state where only WASD, the number 0-9 number row and QFLC are required to play. Ironically, full keyboard support isn't completely there quite just yet, as the inventory screen currently only supports click-to-equip, but it's getting there. Last thing I want is a complete game that demands both mouse and keyboard to be able to perform every possible action.

To move the player character using the mouse, one simply needs to click in any of these 4 triangles to select that associated direction. Now, I feel like it would be a little more intuitive if the central "joining point" followed the player instead of staying still in the middle of the screen. Right now, you could be hugging the rightmost wall, clicking slightly left of your character, and it would do absolutely nothing as your input would be registered as a right-directional move. However, having bigger, static triangles makes movement more predictable, and might be better if my game ever somehow ended up on mobile. I plan to have an option to choose between these two modes, but I wonder what should be the default. Do tell me what you think, if you please.

Also on the topic of UI, there is now a text log at the bottom of the screen, just like the OGs. It may seem strange to only implement one this late, but that is because it was already pretty clear who was attacking who just by paying attention to the animations. If anything, most of the text that goes in that log is dialogue or general status messages warning you of illegal moves or dangerous status effects. Top message is coloured, the rest is grey. I also spent an hour implementing line separators and immediately dropped them afterwards because they looked ugly. Oh well. At least I improved my coding skills in doing so.

I am open to font suggestions, if you have any. I've tested out a few and liked none of them. I need something that is both easy to read and that fits well my game's aesthetic.

Spiritual Trafficking With Narcisstic Elementals

In order to be actually capable of obtaining the sweet new Legendary Souls I presented last week, I had to completely rework my game's trading posts, the Harmony Relays. Thematically, they are also a lot more disturbing. A Collectivist - the main antagonistic faction of my game, made up of air elementals - beckons the player forward to inhale their gaseous body, which induces a deep trance in which their thoughts mesh with your own. Then, they force you to partake in a strange ritual that does not end well for the hapless souls involved. Deranged. Hey, at least you got loot.

The "ritual" in question is rather similar to the previous iteration. In short, you have 8 numbers, and you assign these numbers in groups of two around a circle trying to balance out everything to make the final result as close to zero as possible, while also absolutely avoiding negative numbers. However, not only does it now look much more pleasing to the eyes, it also features two "free" slots that can be relied upon if the current group-of-two would mess up your placements. These slots, named Soulscribes, also determine what Caste the loot drops will be.

Once the ritual is completed, two Legendary Souls spawn at the centre, and you may choose one of the two to bring with you on your adventure. If you messed up your placements, the Souls have a chance proportional to the magnitude of your mistakes to be Serene Souls instead. These are not bad at all - in fact, there could be valid reasons to mess up the ritual on purpose. But they are... dangerous. The effect they have right now is interesting enough, but there's a lot more I want to do with them.

Here is a succesfully constructed Harmonic Relay, ultimately giving me the choice between obtaining the Legendary Souls Joltzazon or Aspha Beta. I'll admit it's a bit easy to get nigh-perfect Relays with this current iteration, so perhaps I will find a way to make it harder at some point. If I do, it won't affect the very first Relay, though. Getting Serene Souls so early in the run is opening a Pandora's Box that cannot be closed.

There's a lot of text explaining these Relays for first time players. About 600 words, to be precise. Granted, a third of that is just the Harmony going on an ego trip, but as much as I enjoy writing dialogue, I know it can be frustrating for the less narratively-inclined. I designed this tutorial to not be delivered all at once, and to sprinkle every single line in non-modal fashion that never locks player action. Worse case scenario, the more intrepid of players will not listen to a single word, completely mess up the Relay and play the game with Serene Souls, which might honestly make things quite interesting anyways. I intend for a full Serene-centric build to be a viable player choice in my vision.

My 2023 in RoguelikeDev post should be ferried out soon, featuring an... unexpected guest.

Sixfold Discipline

"At one point in the history of Old World warfare, use of camouflage and invisibility technology became omnipresent. The solution was, of course, to build a very energy-hungry robot that considered air itself as its mortal enemy. Overkill? The stealth-bots - or, at the very least, what remains of them - would disagree."

  • Description of Aspha Beta, Nemesis of the Unseen, a Legendary Ordered Soul

The Games Foxes Play

(github | view all previous posts | play online in browser on itch.io! - note: not updated to this week's version yet, because I still need to rework all the loot drop tables to fit this new system, should have my development build pushed to live in a couple of days)

I've noticed that when it comes to adaptability versus planning, roguelikes stretch out among a spectrum with two extremes. Take Brogue, for example, where you are at the mercy of what random items the dungeon throws at you and must make do with what you find. Compare that with, say, Rift Wizard, where you can go for the almost exact same build every single game and theorycraft for literal hours until all your IRL responsabilities are forgotten.

My game was absolutely at the Brogue end of that spectrum until this week. You were given a bunch of random powers, you'd... occasionally get to use them, and that was that. It was kind of lame - you got to perform a HYPERPUNCH for a single turn and then had to wait until your HYPERPUNCH would cycle back around for usage, which could take ages. In fact, you were much more likely to win or lose the game before you could ever use any given non-Common spell more than 3 times.

With this new update, the correct daily quantity of punching recommended by leading doctors worldwide can finally be attained.

On-Demand Laser Beams

Let me start off with an example. Vile souls, one of the six Common castes, have as a basic effect a simple damage bonus that adds itself to your next melee attack and dissipates afterwards. Senet, a Legendary Vile soul, used to be another spell cycling through your hotbar that would empower your next melee attack with a Charming touch that recruits the struck enemy to fight for you. That is no longer the case.

Enter my new inventory screen. Let its beauty leave its mark upon your feeble eyes. There are 6 slots, one for each Common soul "caste", represented by their respective symbols. The bottom right one is for Vile souls. In each of those slots, the player may insert a Legendary Soul they have discovered in the dungeon to "lead" the caste with their ideology, belief and power. This means that you can place Senet in that bottom right slot, and anoint her as the leader of all Vile souls in your possession.

And then, every single time you use a Vile soul, instead of gaining the damage bonus, you gain a Charming touch, as Vile souls now answer to Senet's command.

The central rectangle can store up to 4 unused Legendary Souls. Meanwhile, the player's actual Soul-casting hotbar and drawing-"deck" is now composed exclusively of Common souls. Indeed, Legendaries are now basically equippable items instead of spells. One is invited to mix and match effects for each of the six castes, and find Legendaries that have synergy with each other. For maximum fun, the player also starts every run with a specific Legendary Soul to increase strategic options in the very early game.

To adjust my game's UI to these changes, I've also completely reworked the sidebar to fit the game's aesthetic style, using the new cool symbols I came up with, and also added some extra buttons to increase mouse/clicking support even more. (Old sidebar for comparison) No worries, symmetry cultists, there will be something in the bottom left as well - probably a status effect tracker. Not sure about keeping all these numbers, though - I'm thinking of an immersive numbering system in the same glyph-like style that would be both easy to read and fitting with my game's visuals.

Necromancy, Sculpture and Punches In The Face

Enough words. Time for an actual demonstration. In this video, after running around a bit with all six basic castes, I equip an assortment of the Legendary Souls Rasel (Vile), Abazon (Ordered) & Gyvji (Artistic) to turn the dead into allies, turn walls into allies and also punch enemies to death, respectively. I also occasionally use the basic, unupgraded effects of the Feral, Unhinged and Saintly castes for support, all that while listening to one of my esteemed composer-friend's favourite tunes in the OST, "Malform".

This is practically a complete rework of my magic system and utterly topples the game's balance (in the player's favour - which is a good thing, my game was way too hard). However, I'm really excited about the possibilities and strategic depth - not having the player deck bloated with all kinds of Legendary and Common souls is such a relief. I remember Spellsweaver on this subreddit suggested I'd add a way to view the contents of your own deck, and while that would have been an essential addition to my old design, I could only imagine the Theoretically Optimal Player scanning that screen on every single turn and taking a minute before every keypress to optimize for upcoming Legendary soul usage.

Now, you can just choose your loadout before entering combat, and go blasting with your selection of 6 unique flavours of psychic magic! It's also a much more replayable system, as I am now dropping only one Legendary soul instead of four in loot rooms, which doesn't exhaust every unique Legendary soul as quickly and makes every run different.