Terminal Sky — a procedural missile-defense arcade game, and a Godot codebase to learn from

Defend the last cities beneath a dark terminal sky. Click anywhere above the horizon to launch an interceptor, place an expanding energy burst, and catch incoming missiles before they reach the ground. A well-placed shot can trigger a chain reaction across the screen. Miss your timing, and a city burns.

Clear a wave to choose one of three upgrades: widen your blasts, overclock your interceptors, add ammunition, increase chain-reaction scoring, or rebuild a destroyed city when the option appears. Blast-radius growth is capped, so the later waves still reward careful aim instead of turning into automatic clears.

Play it free in your browser. Buy this listing to get the complete, clean, commented Godot 4.6 project plus a Windows build.

The hook: zero art, zero audio files

This entire game ships with no gameplay PNGs, no WAVs, no OGGs. The skyline, stars, batteries, missiles, trails, explosions, particles, and HUD are drawn at runtime with Godot's _draw() API. Every sound effect is synthesized into audio at startup. That means:

  • Tiny asset footprint and nothing to license or attribute for gameplay assets.
  • Infinitely tweakable — change a number, get a different look or sound.
  • Resolution-independent, crisp vector-style visuals.
  • A practical example of building game feel without an art or audio pipeline.

Systems implemented

  • Missile-defense loop — click-to-launch interceptors, expanding blast zones, limited ammunition, and vulnerable cities.
  • Chain reactions — intercepted missiles become new player blasts, rewarding timing and positioning with escalating combo scores.
  • Wave progression — increasing missile counts and speed, plus bonuses for saved ammunition and surviving cities.
  • Between-wave upgrades — randomized three-card choices for blast radius, interceptor speed, ammunition, chain score, and city repair.
  • Procedural particles and trails — layered blast rings, radial rays, sparks, fading missile trails, glow, burning ruins, and camera shake.
  • Procedural audio engine — PCM-synthesized launch, burst, impact, bonus, and upgrade sounds, all AudioStreamWAV, no sound files.
  • Full game loop — title, waves, upgrade selection, game over, pause, credits/licenses, and local best-score saving.
  • Export pipeline — Windows + Web presets, smoke tests, screenshot capture, and one-command packaging scripts.

Plug-and-play modules you can drop into other projects

The code is deliberately compact. These pieces are small enough to lift into your own Godot projects:

  • TSAudio.gd — a procedural SFX bank. Generate sine sweeps, noise bursts, impacts, and short melodies as 16-bit PCM at runtime.
  • TSBurst.gd — a reusable vector particle burst. Spawn short-lived sparks with configurable color, count, power, and gravity.
  • TSExplosion.gd — expanding blast zones. Draw layered rings and radial rays while tracking which targets were already hit.
  • Camera shake via a Camera2D offset, keeping gameplay coordinates intact.
  • Best-score save/load with ConfigFile and user://.
  • Pause + quit-to-menu using the PROCESS_MODE_ALWAYS / PAUSABLE pattern.

How the procedural generation works

  1. Art — the skyline, batteries, missiles, trails, glowing blast rings, sparks, stars, burning ruins, and HUD are composed from lines, circles, and rectangles inside _draw().
  2. Audio — each sound is a math function of time sampled into 16-bit PCM and wrapped in an AudioStreamWAV.
  3. Combat pacing — each wave scales hostile count and speed. Upgrade cards are rolled from a small pool, with city repair appearing only after damage and capped upgrades leaving the pool when complete.

What you get (paid)

  • The complete Godot 4.6 project — every script, commented, organized.
  • A ready-to-run Windows build (single .exe).
  • Export, package, screenshot, and smoke-test scripts.
  • A clear license (see below).

Controls

  • Left click — launch an interceptor at the cursor
  • 1–3 — select a between-wave upgrade
  • Esc — pause or resume
  • Q — quit to menu while paused
  • C (title) — credits & licenses

Requirements

  • Play: any modern desktop browser, or 64-bit Windows for the download.
  • Edit the source: Godot 4.6 (GDScript build), free from godotengine.org.

Built with

Made with the Godot Engine (MIT). The engine's attribution is shown in-game and included in THIRD_PARTY_NOTICES.md.

License

The game code is original and provided under the terms in LICENSE (all rights reserved by default — you may study, modify, and build it for your own use, but not resell or redistribute the source, or publish a game substantially based on this source, without prior written permission). No third-party gameplay art or audio is used.

Purchase

Get this game and 4 more for $19.95 USD
View bundle
Buy Now
On Sale!
60% Off
$9.99 $3.99 USD or more

In order to download this game you must purchase it at or above the minimum price of $3.99 USD. You will get access to the following files:

TerminalSky-source-godot46.zip 21 kB
TerminalSky-windows.zip 34 MB

Leave a comment

Log in with itch.io to leave a comment.