Advertisement

tower-of-time-game

Public Download (.zip) Make my own copy

by maciej-trebacz via GitHub · MIT licensed · 17 versions

Open source, kept here so you can read it and make your own copy. Not our work.

Vibe coded Tower Defense type of game made for a game jam

no ratings yet
About this project (the project's own write-up)
Tower of Time

Tower of Time

Entry for Beginner's Jam Summer 2025

A time-traveling tower defense game where you defend your base against waves of enemies using the power to rewind time.

🎮 Play the game at https://m4v3k.itch.io/tower-of-time

Screenshot

About the game

Tower of Time is a unique tower defense game that combines strategic building with time manipulation mechanics. When enemies overwhelm your defenses, use your time-travel powers to rewind and rebuild your strategy. The game features multiple tower types, energy management, and wave-based enemy spawning.

Key Features

  • Time Rewind: Roll back time to survive the enemy waves
  • Multiple Tower Types: Basic turrets, sniper towers, slowdown towers, and splash damage towers
  • Energy System: Manage energy for building towers and rewinding time

Controls

Game supports both keyboard and gamepad.

  • Move: Arrow Keys / Gamepad Analog Stick
  • Action: Spacebar / Cross (PlayStation) / A (Xbox)
  • Rewind: Backspace / Left Trigger

Vibe Coding Proof of Concept

This game serves as a proof of concept for AI-assisted game development. Approximately 95% of the codebase was written by AI using:

  • Augment Code - Advanced codebase context and AI coding assistance
  • Cursor - AI-powered code editor, mostly using Agent mode
  • Claude Sonnet 4 - My LLM of choice for this project (also used OpenAI o3 and Claude Opus 4 occasionally)

For detailed prompts and development process, see PROMPTS.md.

What I've learned:

  • It is entirely possible to develop a game with AI, but you need to know what you're doing
  • AI makes prototyping super fast, but as you transition from prototype to final game you need to be careful
  • AIs like to write a lot of code, this project could probably have two times less code
  • Claude Sonnet 4 knows Phaser.js pretty well but for key areas I've given it a URL to the docs for the specific feature I was working on and it helped
  • If the AI gets stuck on something ask it to add debug/console logs and share them with the agent
  • If after that it still gets stuck don't fight it, roll back everything and try rephrasing the prompt or giving it more context

Tech Stack

  • Engine: Phaser 3 (v3.90.0) with Phaser Editor v4
  • Language: TypeScript
  • Build Tool: Vite

Development

Requirements

  • Node.js (for package management)
  • pnpm (package manager)

Available Commands

Command Description
pnpm install Install project dependencies
pnpm dev Start development server
pnpm build Build for production

Project Structure

src/
├── main.ts         # Entry point and configuration
├── scenes/         # Scenes (Title, Level, Configure)
├── prefabs/        # Prefabs (Player, Towers, Enemies)
├── systems/        # Systems (Energy, Building, Config)
├── components/     # Components (Input, Rewind)
├── ui/             # UI components (Bars, Menus, Dialogs)
└── utils/          # Utilities (Sound, Music, Keys)
public/
├── assets/         # Assets (Images, Sounds, Fonts)
├── style.css       # Basic CSS styles
index.html          # Game entry point

Credits

  • Idea, coding & art: m4v3k
  • Balancing, menu music & testing: death_unites_us
  • In-game music: Amnesia Fortnight - "A - Spacebase DF-9"

Art Assets

  • Space Station-Game asset by jonik9i
  • Ocunid Monster by Robocelot
  • Void Main Ship by Foozle
  • Pixel purple gem by Lunarnia
  • Seamless Space Backgrounds by Screaming Brain Studios
  • Sounds from freesound.org

License

MIT License - see LICENSE file for details.

Versions (17 — latest: Fix a bug preventing selling towers, re-add removed waves)
Files (106 · 8.5 MB)

Open a version to see exactly what changed in it, or download the zip for everything.

Get it on your computer

With the Library Mode tool: librarymode get ken/tower-of-time-game

Or tell Claude Code / OpenCode: "get ken/tower-of-time-game from Library Mode"

Kept safe with Library Mode. Every version of this project, and this page to show it — built with Claude Code or OpenCode, no developer words. Make your own, free