Status
SteamPeaks
ChartsSalesUpcomingPatchesEventsCalculator
New on SteamEvery app, DLC and depot the minute Steam creates itAppsEvery app on Steam, newest change firstPackagesSubs and bundles, and what each containsDepotsDepots, manifests and install sizesTagsSteam's user tags and the games under themDevelopers & publishersCompanies and their cataloguesTechnologiesEngines, SDKs and anti-cheat found in the filesChange historyEvery PICS changelist as it lands
SignalsNineteen readings of the whole catalogueCompareAny games side by sideRecordsAll-time peaks and the days they were setReportsWeekly and monthly write-upsAlerts & newsroomWatch a game, get told when it movesSteam statusIs Steam up, right nowWeb API explorerTry the endpoints in the browser
EventsSteam's own events and the sales calendarCalculatorWhat a Steam account is worth, and its pile of shame
/
Sign in
/
SteamPeaks
The ultimate resource for Steam data.
ExploreChartsSalesSales and festsUpcomingPatchesEventsRecordsTrendingSignals
DatabaseAppsPackagesDepotsTagsDevelopersTechnologiesChange history
ToolsCalculatorCompareSearchAlertsSteam statusAPI
SiteMethodologyFAQDiscordSupportSign in via Steam
Not affiliated with Valve or Steam. Game names and artwork belong to their owners. All times UTC.
PrivacyCookiesFair useStatus
To Type a Tale Demo›Events›Weekly Devlog 2026-08-02
Game update

Weekly Devlog 2026-08-02

To Type a Tale Demo · published 38 days ago · build 24521118

All eventsPlayers around this dateRead on Steam

This week was all about implementing the other three challenge types that I had planned. Rather than hard-coding them, I decided to rework them to be more dynamic.

The biggest change is that challenge types are now defined using a JSON file (similar to stories, achievements, and music). The JSON specifies the color(s) of the capsule, its animations, and how it reacts to various player actions. This JSON specification is much more complex than the previous ones I put together, bordering on a scripting language, so the documentation was also similarly complex. However, I managed to add all of it to the modding documentation, so you can view it and create your own challenges!

To accommodate the new ways of defusing words, I added some logic to Words/LetterLabels to deform the letters of "trigger" words. I'm not sure I'm quite happy with how they turned out, but I'll wait for feedback before tinkering with them more. This deformation not only affects the trigger words of ghost challenges, but also spike challenges, which should hint to the player how to defuse ghost challenge words.

Unfortunately, I ran out of time to fully implement the shader effects for the other three challenge types. So while their logic is complete and they are playable in mods, they don't have any effects other than their base colors. I should be able to knock out the shader effects early next week.

Another new feature of the challenges that you can witness now is how penalties are handled. Previously, when you typed a spike word, a red overlay popped up with the text "-100 words" and that was it. Now, a bunch of words (either recently typed or randomly generated) will fly out of the bank and down off the bottom of the screen. The overlay will still pop up, but the text has been modified to be dynamic and to use the story-specific terminology (e.g. "-100 gaseous fuel"). I also added an outline to the text, to make it easier to read.

On the story side, I completed the negotiation side story for the linguist and I'm almost done with the administrator and engineer. Next week will likely see me starting chapter 3.

The only remaining major code task is implementing Steam achievements. I have a few other optional features I'm hoping to add before go-live, but they'll be put on the back-burner until the Steam achievement unlocking logic is complete.

Raw Git Log

  • writing: intros for remaining negotiation side-stories
  • writing: intro to Barrifon
  • writing: finished linguist and began administrators
  • challenge rework
    • reimplemented challenges in a dynamic form
    • challenges (including the keyword for placing them in tiacs) are now read from a json file that can specify appearance and their reactions to various actions on the player's part (details will be placed in mod documentation)
    • note that the animations/additions for the non-spike/non-pulse challenges (and trigger words) are not implemented yet, so they just have their base colors
    • ChallengeManager handles accepting actions from other parts of the code and passing them to the appropriate ChallengeCapsules
      • main sets the active capsules based on which paragraphs are visible
      • ChallengeManager also handles the timers for ChallengeCapsules

    • Word has been reworked to initialize a ChallengeCapsule instead of a basic ColorRect, passing off most of the appearance code to that class
    • ChallengeCapsule handles reacting to actions by performing the logic for each of the effects that the Challenge specifies
    • several global signals (word defusion/activation, command word trigger, and penalty trigger) were added and handled by main
    • re-added the trash logic to main and implemented having words/letters fly off to the trash, based on the penalty; letters are randomly generated, but words pull from the last 100 you've typed

      • the error overlay now shows what was subtracted; unfortunately, this only works if a single penalty happens (SHADOW causes two penalties in a row, so only the latest shows)

    • cleaned up capsule shader in preparation for adding the new features
    • changed how challenge changes during the game affect the GeneratedParagraph output; should be more accurate now
    • changed how Word/LetterLabel handle collection, so it is a bit more consistent (namely, Word no longer emits `collected` when setting `already_collected`)
    • changed Word "dark background" to be dynamic based on Challenge's luminance
  • updated modding documentation for challenges

    • add a sample custom challenge to the sample mod
    • updated the sample mod's documentation for Word Commands (now called Challenge Words) to document the various actions/effects that are possible

  • implemented trigger word deformation

    • trigger words now have a per-label deformation to indicate they are trigger words; this takes effect regardless of whether the trigger words are neighbors of the challenge word or a random other word in the paragraph, which will hopefully hint to new players about the nature of other challenge words
    • possible deformations currently include: smaller font, larger font, faded color, RGB color, or outline
    • if the word is short (4 or fewer characters), a more extreme version of the deformations is applied, to make it easier to spot
    • trigger words now also revert to normal words when typed or when the challenge capsule is deleted

  • trigger limits now actually apply

    • when attempting to generate trigger words, the range specified in params 2 and 3 now actually affect how many are generated and required (as specified in the documentation already)
    • moved pre-collection call after the display action in main, so the trigger words can be generated before pre-collection (which would prevent any challenge capsules in completed paragraphs)

  • fixed minor issue with story completion

    • markstorycomplete was being processed before the final paragraph object was generated, leading to the last paragraph being left off; fixed by moving the handler after the object generation

More from To Type a Tale Demo

Other announcements

All events
Game update30 Aug 2026Weekly Devlog 2026-08-30This week involved finishing the story for chapter 3 and the finalizing of all achievements. As a bonus, I put together a guide for unlocking all the achievements. There are now 28 achievements: 8 achievements for activating/defusing the 4 challenge word types, 2 for the modding mini-story, 3 miscellaneous achievements, 2 for chapter 1's endings, 3 for various choices in chapter 2, 6 difficult…Game update23 Aug 2026Weekly Devlog 2026-08-23This week saw the completion of the encounter side-stories in chapter 3 and the beginning of the interrogation sequence. I also added a few debug tools to help with checking my work on the more complicated parts of the story. The final encounter side-story — waiting in the trees for the third hostile — has been completed. It has the first and probably only bad end where you don't actually die.…Game update16 Aug 2026Weekly Devlog 2026-08-16This 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 ent…