Ludum Dare 57: Typing at Depth

A cover image showing a screenshot from Typing at Depth.


tl;dr: I participated with my friend in the Ludum Dare 57 game jam, and we made an action-typing game where you type to trigger abilities and maneuver down into marine depths!




The jam

The theme of the jam was "Depth".

We made this game for Ludum Dare 57 game jam in 72 hours (minus a day).

We made all the design, code, and music during the jam.

Screenshots

An animated GIF showing gameplay of Typing at Depth. The screen in scrolling slowly downward, and the level is a bright color.
Includes lots of animations and transitions.

An animated GIF showing gameplay of Typing at Depth. The screen in scrolling somewhat quickly downward, and the level is in the middle of transitioning to a darker color.
You collect ability words, avoid enemy words, and type collected ability words to trigger abilities.

An animated GIF showing gameplay of Typing at Depth. The screen in scrolling quickly downward, and the level has faded to a dark color.
The colors grow darker as you descend deeper.

Design

  • Our initial thought was that typing makes you go down the word editor, so we could play on that idea for "depth".
  • We also through in marine themes for the actual text content.
  • And we thought it would be fun to have a color shift as you play, to really give you the sense that you're descending into the murky darkness of the deeps.
  • It then made sense that we'd need to be trying to type certain words, and that we'd need to be dodging certain obstacles as we worked our way downward.
  • So that led pretty naturally into the system we implemented for collecting words, triggering those words, and dodging blocks of terrain and moving enemies.
  • We created three types of abilities:
    • shields (temporary invincibility),
    • drops (the word you type falls straight down),
    • and missiles (the word you type homes-in on the nearest enemy).
  • We created four types of enemies:
    • small fish (they move sideways across the screen, with some amount of oscillating sideways to make the sideways speed change in an interesting way),
    • big fish (they move just like small fish, but wish slower speed and a larger oscillation span),
    • jellyfish (they move upward, also with some vertical oscillation to make the upward pace more "bloopy" and organic),
    • and sharks (they move toward the player).
  • Also, we knew that we'd want per-character animations to really make things exciting.
  • Oh, and we wanted to add Clippy, because we thought that was funny. We're pretending to make a word-editor-like system. Why not have an annoying assistant in the bottom corner??

Retrospective

  • I did this jam with my friend Alden, whom I've worked with on a few other jams now.
  • I had a lot of fun making all sorts of nuanced text animations for this one!
    • I made some configurable systems to support animations of any given object along a long list of possible dimensions.
    • I then used this for whole-word animations (e.g., enemies moving up or across the screen), as well as per-character animations (e.g., a word exploding with each character spinning and flying in a different direction away from the impact).
    • I've made a handful of animation frameworks like this in the past (like this library for per-character text on the web!), so it was easy for me to take this tool pretty far in our game.
  • The idea for this game was Alden's idea, and I was really excited about it from the start.
  • I think we scoped the game pretty well this time.
  • But Alden and I both had other commitments during the weekend that prevented us from working the whole jam. There's certainly a handful of other features we'd have enjoyed adding, if we had that extra day!
  • If I had to pick the main source of difficulty over the weekend, it would be a bug in the current version of Godot that prevents the engine from picking up on some resource template changes when the resource is backed by a custom script.
  • But really, things went pretty smoothly!

🎉 Cheers!


This is a simple icon representing my sabbatical.

Comments