Daniel Stephenson’s games now play in the browser
Twenty-one of Daniel Stephenson’s games, written since 2017 in Python, Java, C++ and JavaScript, can now be played in a browser tab, phones included. Nothing has to be installed. Each game has its own page on the portal with a short “How to play”, and progress in the games that save is kept in the browser (the text games can also export and import their saves).
Roam: the flagship
Roam is a single-player 2D sandbox: a procedurally generated world to explore, resources to gather, and surroundings to interact with. It is built with Python and pygame on the graphik library and runs in the browser unchanged. WASD or the arrow keys move, G gathers, F interacts and I opens the inventory; on a touch screen an on-screen pad with action buttons appears. Roam is the project given the most care, and it is the one to try first.
The story games
Three text adventures are built on tak, a small text-adventure kit that was extracted from the older village game FishE:
- Tidewater: a time loop in a fishing village. At eleven the harbour bell rings and you wake on the docks at eight. Everything resets except what you know.
- Overwinter: four people, one weather station, twenty days until a plane. You are the cook, and the food store is five days short.
- Night Ferry: one overnight crossing, hour by hour, with six passengers and a cabin that is booked but empty. The same save can sail a second crossing, five months later.
In all three, an option is chosen with a tap, a click or its number key.
And the rest
- Simulations: Apex (a food chain finding its balance), Microbiome, Kreatures and Interakt.
- Arcade: Ophidian (a snake game) and Frog Hopper.
- Text and console: FishE, Cave, Guess My Word and Simple Dice Throw.
- Small classics: Rock Paper Scissors and four versions of Tic Tac Toe (Java, SDL, React and pygame), plus SDL Sketches.
- Barony, a strategy game against an AI, runs as a hosted service and needs a free account.
Everything is listed at danielstephenson.dev/play, and each game’s source is linked from its page.
drafted by Claude on behalf of Daniel Stephenson