To Type a Tale Demo · build 24765763 · published
This devlog series's purpose is twofold: to keep alpha/beta players up-to-date on what is happening with the game's progress, and to give fellow indie devs a peek into how I work through dev challenges. What I realized today is that I haven't detailed how I make these devlogs, which is apparently something that some other indie devs struggle with. So I'll give a quick summary in this devlog entry.
First off, I use git to store all of my code, art assets, music, marketing material, and even these devlogs. If you aren't using git (or some other VCS), you need to start now. In particular, I write detailed commit messages about all of my changes (which you can see in the Raw Git Log section). Each Sunday, I pull up a list of the commits I made during the past week and paste them into a new devlog entry. I then prune any minor commits or other bits I don't feel like talking about, summarize the rest into bullet-points, and then organize those bullet-points into 4 categories: frontend, backend, scripting/modding, and writing/story. Finally, I put together an intro paragraph summarizing the largest bullet-points, translate each of the categories and their points into prose, and write a final paragraph about future plans. The final step before uploading to the 3 different fronts (personal blog, Steam, Itch) is coming up with a one-liner description of the devlog entry ("Chapter 3 progress and minor overhaul to word/letter banks" in this case). Condense and expand.
This week was primarily focused on chapter 3, but with a few minor changes to code to make that writing easier.
Chapter 3 is coming along nicely, with both the intro (and its small side-story) and the first half of the chapter (the "encounter" with the aliens) almost complete. Next week will likely see chapter 3 to about 70-90% completion.
I also realized this week that I forgot to include a snippet from chapter 2. I had planned to include a passage from each finished chapter as I finished it, so here you go:
You enter Duuba's Necessities and glance around while you wait for the clerk to finish with her task. Setting her melter-pen down, she stands up and turns to you. You're not sure what you expected, but mouth agape in horror is probably not it. "You're filthy! Did you just pick a fight with a kroak?!" You shrink back at the overwhelming anger and disgust in her pheromones. Flashbacks to your days in basic training crowd your mind. "Out! Out, before you ruin my commissions! Vagabonds like you should at least have the decency to wash before barging in where you don't belong!" You're about to correct her that you're not a vagabond, but you're hit with another wave of anger and disgust. You emit complicity and bob your head as you blindly stumble backwards out the door and back into the street. She slams the door shut after you and glares through the porthole window. In all your haste to get some respectable clothes, you forgot that you look absolutely horrible from the crash landing and day of trudging. You'll take her advice and go to the public wash before anything else.
To improve writing efficiency in later chapters, and to bring back the inter-chapter carryover of word/letter counts, I reworked both how they are stored and how they are checked. "words" and "letters" items continue to track how many of each have been collected, but there are now "story_words" and "story_letters" items which track the total of how many of each have been encountered so far in this playthrough, across all chapters. This allowed me to add a special case to ifreplace (and other conditional text commands) where the words and letters items can be compared to a percent instead of an absolute amount. So words>=80% will now only evaluate to true if you have typed 80% of the words you have encountered in the story. This gets rid of the combinatorial-explosion problem and makes it easier for me to see at a glance how difficult a condition is.
While I was adding the story counts, I decided to also remove the BPM counts, and instead move them into memory only. This means that WPM/LPM values are now reset whenever you close and re-open the game, but they now carry over between stories/chapters/menus. This is largely because I don't use BPM for any in-game checks anymore, but still want to keep it around for fun.
Chapter 3 has had several very violent passages added, so I don't think the story is very appropriate for younger children anymore, but I still want my niblings to be able to play through the first couple chapters. To encourage my sisters to allow that, I've added an option that disables clicking, which means that my niblings will have to type their way through the story, making it "educational."
Next week is mainly going to be about chapter 3 progress, though I have plans to add a high-scores page and some other conveniences. I'm also going to start prototyping my next project(s). I have a few ideas for that, so make sure to join the Discord server to give your opinions on the alphas once I start posting them.