Mega-Update: The Black Hare
I've been updating my tumblr blog regularly, with a focus on my interactive fiction, The Black Hare - but I've been lax about cross-posting those same updates to this blog. So, without further ado, here are all of the updates that I have made, to date, in one big post, from oldest to most recent:
Weather System - 28/03/2026
I’ve been thinking about this all night and the idea of a weather system is looking increasingly attractive to me. I’m already working on a day/night cycle, but adding a weather cycle adds another layer of vibrancy to the city and the story experience. Playing around with the code for that right now.
My thoughts at the moment are mostly about how different locations and the NPCs/interactions that can be found in those locations change based on the weather. This also extends to your character’s skillset - which skills are impacted by these weather conditions, and how.
I’m still playing around with potential “temporary” clues that could disappear with different weather conditions, like something written in the dust on a window could disappear after heavy rain. Under heavy fog, something you might have seen remains hidden from view.
And, because I’ve got two traits/skills that relate to the idea of fortune/luck and superstition, I’m also planning on exploring an Omens mechanic, which could impact a character’s fortune for that particular day.
So many ideas, so little time… Guess I’d better get started.
Passage Bloat and Trap Doors - 31/03/2026
Continuing on with more Black Hare updates, I’ve spent the weekend wrestling with my "passage bloat" demons.
The first draft of The Black Hare prologue has this issue in spades, with one card game alone using more than 50 passages. It's time to start tightening up the screws, if not for a smoother experience, then for my own sanity.
I'm shifting to a "screen"-based approach. Instead of 20+ passages for the Marketplace and all of its shops and the choices found within those shops, I'm aiming for one master passage that holds the entire set in one screen. It works for this IF because of how much independent exploration and discovery is encouraged. That being said, I doubt it will work for every element in the game, but minimizing whatever number of passages I can will still result in a much more manageable blueprint.
I'm considering how best to approach the merging of routes and the "master screen" together. I think I can fit all of the information into one passage, but I wonder how finicky that might make the layout and structure from the reader's perspective. Already spacing issues are a headache to go back and fix.
This new approach also allows me to weave in all the variables I’ve been obsessing over: time of day, skills/core traits, money, the weather system (+omens), and even an AP system. I have a more detailed update coming up on how these gears mesh, but the short of it is that I've decided to go for it and apply as many of these fun features as I can.
This undoubtedly means more "oh no" moments and many more late nights scouring GitHub for macros and Twine/IF forums to ultimately frankenstein together a range of solutions for my very specific problems. But the liveliness and the layers this will add to Talesmoth and the story at large is worth the trouble.
I do occasionally worry that I’m building an RPG under the guise of interactive fiction, but that's only a concern because from my perspective I can see all of the gears and wires and cogs. For the reader/player, it will feel like any other IF, just with a few more surprises hidden in the shadows.
I regret that I don't have a prologue to share with everyone like I originally intended, but the shape of a potential demo is forming within the heavy fog. Summer is coming and I hope that that will be a time of great productivity on this project. Until then, I'll bluster on in sporadic weekend bursts.
A trap door has opened:
- Some quests or events happen on specific days, and the weather/time of day/location mechanics can make players lose time (ex. Being injured). The issue I’m thinking about will be the rare soft lock, where a player gets injured, loses two days of being able to use a skill they need for the quest they’re on, and therefore is unable to progress.I’m wondering if there’s an n+1 type of solution to apply, wherein the quest deadlines and events don’t necessarily have a preset time, but rather wait for the player to reach a certain place in the game before setting that particular event to, say, the next day, or only if a variable has been set to true - maybe a combination of the two. 🤔
- I should anyway be able to completely circumvent this issue because with different skills and traits, I need multiple ways to complete a quest to be made available to players, so that should usually take care of this kind of soft lock. The issue there is that the different paths to progression are often a function of character specific traits/skills, so they won’t all show up to all players… That being said, since I group core trait skills and background skills differently, I can make sure that even if a player is locked out of using a core trait skill to progress, they can use a background skill.
- This also means that I now have to ensure a specific path to progression for each skill… which could end up being a lot more work. Will end up being a lot more work.
Decisions, decisions.
Marigold's Pawns - Part 1 - 05/04/2026
Okay, here’s a little bit of progress in an otherwise draining time of year that has unleashed a turbulent storm in my mind: I present to you Marigold’s Pawns (also known around town as The Pawnery, because I couldn’t stick to one name, and I liked the oddness of the word “pawnery”).
This is one of the locations you can visit in Talesmoth. Functionally, it’s mostly just a shop where you can find random items for sale, some common and some rare, and a few which you may need in order to complete certain puzzles/story quests if you are otherwise unable to procure them. (In this way, it can also help me to minimize that soft lock problem I was considering in my previous post about the weather system and how it interacts with your character’s skills and traits). It’s also where you can sell any superfluous or unnecessary items that you’ve picked up throughout the story to make a little more coin. (A wise traveler knows the value of a heavy purse in a city of many hidden secrets.)
Marigold’s Pawns is not a case of “What you see is what you get.” There’s more to this place - and its owner - than you will see at first glance. Chatting with Marigold may reveal a few threads you can pick at and unravel, and perhaps - if all the stars align - there’s something more than just friendship to be found amongst these cluttered shelves.
Below you can see what it looks like with the new approach of only having one screen (one passage) per location. Here’s what it looks like when you enter the pawn shop:
There’s still a little tinkering to do, but the bare bones of it are solid. I now need to populate the shop with actual items to purchase, and these items need to be a mish-mash of rare and common items, as well as items that you might need and items that you don’t really need for the main game story. Maybe - in case some readers are so inclined to leave more good behind - I can also include items that, while not needed to progress the story or the routes, can help NPCs around Talesmoth to solve their problems. But that would be a last, last-layer type thing. Right now, I’m focusing on the essentials.
Finally, a note on a somewhat ambitious idea that I’ve been playing around with: Of course, the story’s interior design is something I’ll work on at the end, to ensure the overall architecture of the game also embodies the steampunk/Victorian/gothic aesthetics I’m going for, but apart from that, I want to do something more. I want to create pixel art portraits of the NPCs, and a pixel art portrait of the (customizable) player character as well.
Why is this ambitious? Well, for one thing, I’m no pixel artist. And for another thing, I’m no pixel artist. I’ve dabbled slightly, ‘tis true, but it seems I’ll have to put on my gloves and learn another skill for this interactive fiction project.
Marigold's Pawns - Part 2 - 06/04/2026
The name Marigold’s Pawns also has another meaning - the idea of pawns on a chess board. It connects with the character of Marigold and her position in Talesmothian society. There is a game being played on a much larger board, and maybe - just maybe - you’re one of the pawns being moved without even realizing it.
But I’d rather not elaborate more on that since Marigold herself is still a work in progress and I don’t actually think that most routes would be able to figure out who she is in the Big Scheme of Things in Talesmoth.
In fact, only one specific set of conditions, or one specific character identity, would be able to unlock her full story, and that’s 1 out of 100+ possible character identities…
Hold on! That’s not all! You also have to make 1-2 very critical choices that relate to Marigold to unlock her full story - and her secret ending. This is where the chance of it happening becomes more difficult to measure. You will have to choose the right responses when talking to her, and you may also have to bring her a specific item in order to trigger the required conversation in the first place.
And Marigold isn’t the only NPC in Talesmoth who’s got secrets locked away behind odds like that. I really want The Black Hare to reward exploration and re-plays, where each playthrough reveals something different about the world that you hadn’t noticed before.
This unique, fated alignment of the stars that transforms a normal shopkeeper into something much more is just one of the ways that I’m doing that.
The Resistance Leader - 08/04/2026
Once more, I come bearing updates. I am enjoying this flurry of activity while it lasts. Today's update tells of the fabled Resistance, a political activism group which is headquartered somewhere in Talesmoth, though few people know where, exactly. And you, dear reader, have the chance to uncover it!
The Resistance, which is what I'm currently calling the location as well as the group (very Equilibrium of me, I must say), is run by a man whose name I refuse to share because it might give him away when you play the game. Nevertheless, he, much like the titular Marigold of Marigold's Pawns fame, has a story and a secret ending that you can delve into, given that the stars align in your favor.
Interestingly enough, the conditions to so do - those stars that need to be aligned - are perhaps not what you'd expect. And, unlike Marigold's storyline, this character's storyline requires you to complete certain quests, which prove your undying loyalty to the cause, and - perhaps - inadvertently - his growing loyalty to you.
But not all of these NPCs whose stories and endings can be unlocked will be of the romantic ilk. I'm playing around with other concepts - of friendships forged which withstand the test of time, of mentors found in the unlikeliest of places, and of family recovered when all had been thought lost. Some will have happy endings, and others, tragic ones. There is a multitude of differing experiences to be found in life, and so, too, in The Black Hare, you will find a small, tiny sampling of that life which is so varied, unpredictable, and strange.
I wish that I could work faster, so that I might share this with you sooner rather than later, but I hope that when the time is right and this interactive fiction is finally finished and ready to be experienced, you'll be able to play all sorts of different routes and live all kinds of different lives to your heart's content.
In light of this, I’m switching things up. Rather than focus on the coding and Twine project itself, I’m exhuming my writing notebooks. I’ll be writing little notes and scenes and transcribing them into documents before I can finally add them in the game. It removes the clutter of the Twine passages and the little voice in my mind that whispers, “After all, why shouldn’t I code it now?” I’m no hobbit, but I too, am stricken by the dark whispers of my shadowy desires. Anyway, to get the sheer volume of writing done, I’m rolling up my sleeves, getting rid of my bracelets (because wow they’re annoying to write with) and getting down to the honestly joyful and lovely business of writing.
The Lighthouse Keeper - 10/04/2026
Added a new location today - the Lighthouse. And, of course, every lighthouse needs a Lighthouse Keeper. Lonely and saddled with yearning, the Lighthouse Keeper is not only physically isolated but also socially isolated. He keeps to himself and does his job, but all the while, he dreams of something different. Something more.
And along you come, disturbing the stagnant air of his musty cottage and disrupting his sickening solitude. It's time the Lighthouse Keeper reconsidered life as he knows it. Does he have the courage to shake off the salt-encrusted uniform and set out on a voyage of his own, and can he trust others to guide him? Or will he forever remain guarded, in his tower, unable to trust, heart steeped in a torturous desire for more?
I had originally set up the Lighthouse Keeper as an NPC whose specific story and ending can be unlocked by a player who, among other conditions, has Integrity as their core trait, but as I continue to develop his story and watch as this character begins to take shape from a nebulous fog, I'm thinking that he might, actually, be more suited for a player with a Risktaker trait. Someone who can pull his soul out of its dormant state and show him the thrilling world that lies beyond that horizon he's memorized.
I'm not certain that I want this to be a romantic path. I would prefer it was something different - that it reinforced the idea that yearning isn't always solved by finding a person, but rather by filling your soul with that which nourishes it.
On a more technical note, I have been testing the new approach which I found online; it's very finicky in a way that I hadn't expected. The way that this method works is that I create links that refer back to functions, and these functions have to be set up in the JavaScript, which in turn calls upon entire chunks of text/content that are assigned variables and are set up in the StoryInit passage.
I remember reading somewhere that the more stuff is contained in the StoryInit passage, the longer the interactive fiction can take to load. Right now, the StoryInit passage is already very cluttered, with well over a hundred variables (I'm sure there's some variable bloat to take care of, too), and I've only included 3 locations' content. I wonder what will happen when I finish entering the rest of it - the 50+ other locations and their content.
Obviously, the StoryInit passage is for initializing certain information or conditions for the game; I don't believe it was ever meant as a storage-heavy passage. And there are other practical issues with this approach, which perhaps was only ever meant as a solution to 1 or 2 specific cases in an IF (I can't think of any other reason this might be practical to use otherwise). I'm considering just how annoying it is now to have to scroll through what I have in StoryInit to get to a specific location-content variable. Or any variable, really. So thinking about how much worse that'll get if I continue on...
Ergo, new adjustment:
Rather than work on the StoryInit passage, I can have content passages that hold all of the information or text related to a specific character/location. This saves me from worrying about the StoryInit passage and potential lag, though it does mean creating more passages in general, and if you remember my previous post about passage bloat, I'm really trying to keep it down. I'm considering having a passage per "neighbourhood" or group of locations. It'll be a big passage for each grouping, but at least it would be organized and allow for some kind of easier navigation compared to dumping them all in the StoryInit passage and scrolling for hours to find one tiny typo - a surefire recipe for insanity.
Add tags to the mix, and I think I'm on to something here. This may be a good middle-ground. While I won't completely be rid of additional passages like I'd hoped, I still won't have to deal with as many passages as I otherwise would. Some of this might be par for the course for seasoned IF writers, but as someone who is still very much exploring the limits of Twine and other IF engines, all of these hurdles are new challenges that I must tackle and find my own solutions to.
Aside from this, and as an added silly little gift for those who make it this far, I've been playing around with putting together a pixel art portrait for Kane. Again, I'm no pixel artist, and while I'm not truly satisfied with how I'm leaving the portrait tonight, I think it's a good first try, and we'll see how things develop moving forward. My main goal is to continue practicing, get the general process down (especially as it pertains to shading and highlights, as well as smaller details), and have something that feels like it belongs in the world of The Black Hare as I imagine it in my mind.
The Hourglass is Empty - 12/04/2026
We’ve come back full-circle. After much experimentation and adjustment, I’ve decided that the lag isn’t that much of an issue for me anyway, given that I don’t believe I’ll reach the sheer number of variables required for that to become an issue. I have made another decision which I believe will not only help with minimizing any potential lag, but will also emphasize the themes and atmosphere of The Black Hare.
In the steampunk gothic world of Talesmoth, there is no going back. What happened was fated to happen; this is a strong thread which connects the various events in the story. Thus, we must live with the consequences of our choices and our actions - and I believe removing the ability to go back is a clear way to reinforce this theme.
Now, because I know that many IF players like the safety of being able to go back to a certain place in the story where they feel they maybe made a mistake (which we can also do by making multiple save games), I’ve introduced a new mechanic: The Hourglass.
This is essentially a checkpoint-based “auto-saving” system. Certain locations or areas in the game will be marked as Checkpoints (“Places in Time” is the current thematically-aligned title). These Places in Time can be revisited using the Hourglass, which will take you back in time to one of these set moments in your journey - important locations or events that were unlocked, and if it is an event that is your chosen Place in Time, then it will be the start of that event - meaning, you can make different decisions in that important event as well, if needed.
The game will include a simple scrollable list of all of the Places in Time that are included in the story, though you will only see those which you have unlocked.
Nevertheless, the Hourglass itself can only be used a limited number of times (perhaps up to 3 or 5 times throughout your entire gameplay). Since the Hourglass is an object which you must find early in the game, I do enjoy the idea of including an obscure mini side-story or side-quest which allows the reader/player to “refill” their Hourglass. However, the narrative implications - where it could fit alongside the story itself - is something I am still considering.
And now, we arrive at the question of the Price to be Paid. The idea of the Hourglass is a magical one, and in the world of Talesmoth, magic is not good. In fact, all magic is “dark arts” and greatly forbidden. Therefore, the Hourglass is not a friendly item, but at times perhaps a necessary item. I believe that it would make much sense for the player to lose something - to pay a cost - in order to return to a Place in Time using the Hourglass.
The question becomes: What is that cost? What will they lose or sacrifice in order to return?
The cosmic horror enthusiast in me entertains thoughts of insanity - an insanity filter which grows stronger the more you use the Hourglass and travel where no human was ever meant to travel. Things that are not there, shadows in the darkness, watching you, following you - whispers in your ear from unknown sources - and mysterious physical ailments that can only mean one thing: an impending doom, despite your best efforts to hold on to your sanity and your life.
That sand which you have used in your travels back in time is replaced with tiny, swirling fragments of your soul. And the more you use, the more of yourself you lose. Intrinsically intertwined, the soul and mind alike shatter a little more every time you make the jump.
Do you dare?
Getting Some Style - 18/04/2026
This week, I completed the first hand-drawn portrait of a minor character - so much better than the pixel art attempts of yore. I'll keep practicing with my NPCs, working my way up to my main support characters (Kane, Genevieve, Lavender, and Reed).
My final boss battle will be the player character. I'll need to create different combinations based on players' choices, so I'll have to be very careful with how I draw the base and then the additional customizable elements (such as hair type, accessories, clothes, etc.). Colors can be done digitally, and the rest of it I'll manage somehow by hand, hopefully.
I'm also tackling a different beast: as I move my work from the previous Twine project to the new one, I'm re-evaluating my use of variables in the StoryInit passage, consolidating and grouping them wherever possible, and finding solutions to minimize the number of active variables the game needs to consider at any point in time. Doing that now is probably going to save me a big headache later.
I'm also simultaneously streamlining my introduction in the prologue, currently working on taking a set of 5 passages and merging them into one. As an additional little slice of fun, I've been messing around with the UI. This is what it looks like at the moment:
As you can see, I'm really trying my best to use the same passage for as much as possible. What you're seeing above is actually about ELEVEN passages in one long trenchcoat. The choices you make reveal more text. Like peeling an onion.
I'm thinking one passage per scene, unless it's a particularly dense or heavy scene. In any case, I've been hearing the restless cries of my desire to have a pretty prototype to test with, and for now they've fallen silent, and I can return to the craft of weaving my story.
.png)


Comments
Post a Comment
Share your thoughts in the comments section!