Clockwork TD Devlog #11: New Year, New Features, New... Name?


This is the eleventh post in an ongoing series about the development of my thesis project, Clockwork TD.

Welcome back and happy new year! This year, my goal is to ensure I get at least one devlog written per project sprint; I'm just wrapping up spring 19, so I'm actually not too far behind the pace!

My final focus for Clockwork TD before declaring Alpha is creating a viable meta gameplay loop outside of the actual tower defense game. As a roguelike, the ability for players to earn & unlock new modifiers and abilities to strengthen their future playthroughs is a huge part of the game's draw and replayability. When returning to the project after the holiday break, I started by mapping out, then creating a "New Game Options" menu for the player to use when starting a new session. I intended on doing this in Figma, but sketching it out once by hand was enough to envision what I wanted, when combined with the game's existing UI framework:

Using the UI elements I designed for Unlockables in the game, I was able to create a data-driven screen for choosing the game's difficulty (and later map mode):

In the below code, UnlockItem is the UXML element (deriving from Button) that is normally used to show Unlockables; ShowNewGameModal() is a utility modal that takes a set of clickable elements with delegates to fire for each, then wires them up and adds a wrapper command to close the modal when a choice is made.

When moving on to the map mode choices, as part of re-examining and refactoring my map generation logic, I ended up adding full on terraforming to the game:

(code available at onewinter.net.)

This addition, while first and foremost being really freakin' cool and fun to use (no duh, says Axon TD: Uprising), also helped slim down some other parts of the game. Undo was no longer an option because of the possibility of the map growing after sealing a spawn tile; the code challenge to command-ify that process so it could be reverted was too daunting, and so the entire Undo/command system was scrapped, with Undo All now simply loading the checkpoint from the beginning of the turn (great example of a seemingly unrelated system replacing another system seamlessly). Upgrade, a command that already didn't really seem to have much of a place in the game (besides proving that you could), could now be scrapped in favor of Elevating a tile to boost the stats of the Tower on top.

Using the CursorState framework ended up making these additions fairly easy; each function (Elevate, Excavate, Seal) is assigned to its own button, so the logic for mousing over while in each mode is fairly straightforward. The most difficult logic, of course, is when running the Elevate function on a path tile in order to change the enemy path; this requires checking each of the possible spawn tiles and ensuring they all have viable paths to the home tower. This is computationally taxing to get done in a single frame while the mouse cursor is moving around, so keeping it in required a compromise to cap the number of spawn tiles for each ring between 4 and 6.

Of course, this rad new feature cause me to start thinking about the game's name: Clockwork TD was always meant to evoke the way the spawners moved around the map sort of like of a clock (it also referenced the clock-based puzzle in the second Hunger Games book, which served as minor inspiration when I was trying to design the map/game progression). However, the term Clockwork really is inextricably associated with Steampunk culture at this point, and I feel like a game releasing with that name and no Steampunk elements runs the risk of being labeled misleading. Enter Terraformer TD! Or, once I realized the punny name had been right there for like 30 hours... Terrorformer TD!

The second half of the New Game Setup window will be coming soon, along with some final tweaks to the Post Round and Post Game screens to match. Once that's complete, I'll probably take one last wrap-up/review sprint and then I should be ready to officially launch the game's Alpha and seek out wider playtesting feedback!

Read the full version of this devlog at onewinter.net.

Get Terrorformer TD

Leave a comment

Log in with itch.io to leave a comment.