2025 game jam

Last Oasis

A browser-playable Godot platformer with a state-machine character controller, traversal abilities, and jam-focused authoring tools.

Game JamGodotPlatformerGameplay Tools
Role
Primary gameplay and tooling programmer
Status
Released
Engine
Godot
Last Oasis cover art.

Overview

Last Oasis is a jam platformer about Palis, a water spirit trying to find water and keep survivors alive in a desert. The project shipped as a browser-playable submission to the thatgamecompany x COREBLAZER Game Jam 2025.

Key Contributions

As the primary gameplay and tooling programmer, I was responsible for the core character controller, traversal feel, special abilities, and the authoring tools used by the design team to iterate rapidly under tight jam constraints.

Character controller

  • Built a nested state-machine character controller covering ground, air, wall-slide, slam, destroy, and death states.
  • Added traversal feel details: coyote time, variable-height jumping, double jump, wall jump with diminishing returns and input buffering, spike grace frames, and slippery-tile handling read from tile custom data.

Chain-reaction destructibles

  • Built a chain-reaction destructible system: a facing raycast breaks a target, then an expanding overlap query breaks neighbors outward with per-depth delay.

Launch ability

  • Built an aimable launch ability as a separate component with aim, fire, and cancel states, a live guide line, and on-screen control prompts.

Authoring and world tools

  • Built an editor-time tile-to-scene tool (a @tool TileMapLayer) that swaps placed tiles for scene instances keyed by tile custom data while preserving each tile’s flip, transpose, and rotation. It drives hazards, destructibles, and dissolving platforms.
  • Built an input-icon autoload mapping live InputMap bindings to on-screen key and mouse icons, with exported-build .remap handling.
  • Built velocity-driven squash and stretch with skew and momentum-aware sprite flipping, plus world and environment systems: dynamic lighting, depth-based cave darkening, and shader-driven tilemap effects.

What The Work Shows

This project shows gameplay programming under a tight production cycle: making a character feel responsive, building tools only where they remove real authoring friction, and keeping implementation decisions small enough for a short jam team to debug and ship.