// THE ENGINE

We built our own engine. It ships with the game.

Pure ES6 classes. No build step. No bundler. No npm. No server. A folder of files, double-click the HTML, the game runs. The engine ships in the same folder. Open it, read it, fork it. Make your own game with it.

USB Deluxe tier See the tech
// WHY OUR OWN ENGINE

Because engines die. Folders of text files don't.

Unity changes its license. Unreal needs a hundred-gig install. Phaser breaks when a dependency updates. Godot is solid — but it's still a binary on your disk that one day won't run on your OS.

We wanted something else. A game engine that's a folder of text files. You read them. You understand them. You modify them. They will keep running on any computer that can open a browser — for decades. No install. No build. No version mismatch. No mandatory update. No telemetry phoning home.

Worst case it works. Best case, it works anyway.


// THREE ARTEFACTS, ONE GESTURE

The engine is part of a family.

Galaxtarus is made by hand at three levels. They share a logic: slow, readable, durable.

// 01 · THE CODE
The engine
Vanilla JavaScript classes. A beginner can open Ship.js and understand it in an hour. No abstraction layers you can't see through.
// 02 · THE SOUND
The music
Composed note by note. Tone.js synthesis + raw MIDI option in preferences. A .mid file weighs 5 KB and opens in any sequencer since 1983.
// 03 · THE OBJECT
The chest
Hand-carved wood by Raphaël (chip carver, international level). Engraved with the shuttle. USB stick inside containing everything. Signed and numbered.

Three artefacts, one gesture: made by hand, without dependencies, designed to outlive the people who made them.

Open the folder. Read the code. Make your own game. The engine is yours too.
// ARCHITECTURE

Four root classes. Composition over inheritance.

The engine is built around four root abstractions. They're small, clear, and reusable for any 2D game — RPG, shooter, puzzle, exploration.

ClassRole
Behavior Anything that lives. Has update(dt), state, bus listening, dispose.
Entity A thing with a position in the world. A container of Components — never a monolith.
Sequence A scripted narrative orchestrator. Cinematics, scenarios, timed events.
System A transverse singleton — CollisionSystem, SaveCoordinator, AiDirector. No spatial position.
EventBus A simple publish/subscribe channel. All communication goes through it. No hidden globals.
StateMachine Tiny finite state machine for AI, animations, dialogues, anything with phases.

Above all that, a single rule: classes go on window.GALAXTARUS, instances get injected. No singletons. No hidden coupling. Any project built with this engine can swap whatever it wants.


// WHO IT'S FOR

For people who want to understand, not just import.

Self-taught hobbyists who want to see a real game engine without a Computer Science degree.

Students learning programming, who can read this engine from the first line to the last and follow what's happening.

Teachers who need an example to show in class — a complete, real, shipping engine that fits in one folder.

Indie devs who want a small, sober, dependable starting point for a small game — without committing to a stack that'll be obsolete in three years.

Collectors who like the idea of holding a game engine in their hand.

[ IMAGE — CODE EDITOR ]
VS Code or similar with src/entities/Ship.js open. Reading the engine like reading a book.
// USB DELUXE — WHAT'S IN THE BOX

The game, the engine, and every tool we used.

If you back at the USB Deluxe tier, you also get every editor we built to make Galaxtarus. The same tools we used. The ones that run from file:// like nothing has changed since 1998.

ToolWhat it does
zone_editor.htmlDesign zones — asteroids, pickups, triggers, drawings, force fields, markers, notes.
universe_editor.htmlMacro-map of the universe. Place zones in the world. Define travel times.
planet_editor.htmlBuild procedural planets — rings, atmospheres, surfaces, palettes.
boss_editor.htmlCompose multi-segment bosses with state machines. Sixteen movement primitives.
music_editor.htmlProcedural audio composition. Tone.js front-end.
drawing_editor.htmlA small vector editor: points, lines, polygons, circles. Used for boss artwork, monoliths, ornaments.

Plus the engine source code. Plus the .md design notes we wrote while building. The full creative paper trail. Everything fits on a USB stick. Nothing requires the internet to keep working.

See pledge tiers → Tech details →