Example projects and games for the AmigaBridge cross-development environment. Every project here compiles to a classic AmigaOS m68k executable and links against libbridge.a from the parent amiga_mcp repo.
Four flavours of project:
- Demos —
boing_ball,starfield,plasma,bouncing_ball,aga3d,sfx_player. - Games —
dot_chase,stakattack,orb_hunter,bullion_dash,nova_defense,orbital_patrol,pea_shooter_blast,frank_the_frog,rock_blaster,sky_knights,ace_pilot,lunar_rider,uranus_lander,jump_quest,rj_birthday,hubert, and more. terra_strike— a Zarch / Carrier Command style landscape shooter for 68k (020+, AGA) and AmigaOS 4.1: flat-shaded 3D island, tanks, buildings and ships, a main screen converted from AI-generated art. 67 unit tests that run on the host, on the Amiga and inside the game, plus an end-to-end test driven through devbench MCP. See its README.- Games on the shared
amiga3dengine, for both 68k (020+) and AmigaOS 4.1 — ports of browser games from geekychris.github.io:stack_tower(the falling-block puzzle round a tower),lander_3d(landing on the Moon, Mars and an asteroid),boing_pinball(pinball with three tables) andscairy_fun(the self-driving car game); and games written for the engine:block_breaker_3d,harbour_crane,ridge_runner,tank_duel,marble_tilt,orbit_docking,drone_courier,canyon_rail,sphere_siege(a shooter where your ship moves over the inside of a sphere and fires through its centre; AmigaOS 4 tested, 68k builds) andace_pilot2(Ace Pilot 2: WWI biplane dogfights in 3D, chase and cockpit views, an 8-mission campaign; the 2Dace_pilotis still here). On AmigaOS 4 they are drawn at twice the resolution in full colour. Each has host, on-Amiga and end-to-end tests and a README; the engine is described inamiga3d/README.md. - AmigaOS 4.1 (PPC) games ported from their 3DO versions —
planet_chomp(a maze chase on a tiny sphere) androlling_steel(the marble racer) render through software Mesa (OSMesa), built by the parent repo'sthird_party/mesa-os4/build.sh;spectral_keep(the isometric adventure) composes its pre-rendered sprites in software. They build withscripts/build-example-ppc.sh <name>. Each also builds for classic 68k (020+, RTG or AGA) withscripts/build-example-68k.sh <name>, running the 3DO code with a software cel engine and real Paula sound. Each has a README. boing_twist(AmigaOS 4.1 only) — a twisty puzzle on the Boing ball: a picture (the Boing checker, NASA's Earth, Moon, Mars and Jupiter, or your own) is wrapped round the ball, cut into tiles and jumbled; twist bands and flip halves to put it back. Textured 3D through software Mesa at up to 1024 x 768, in a themeable room (the 1984 demo's grid room first). Host, on-Amiga and end-to-end tests; seeboing_twist/README.md.- Tools / tests —
hello_world,debug_test,test_example,test_new_features,memory_monitor,system_monitor,disk_benchmark,symbol_demo,game_of_life,arexx_test,shell_proxy,launcher(the game menu the AmigaOS 4 guest boots into; sorts by most used or A-Z, and on AmigaOS 4 has a picture view showing each game's screenshot and description, fromtools/launcher_pictures.py).
All titles here are original — no commercial trademarks are used in code, on-screen text, or filenames. See .coderabbit.yaml for the trademark-screening rules applied to every PR.
This repo is designed to live as a submodule of amiga_mcp at examples/:
git clone --recurse-submodules https://github.com/geekychris/amiga_mcp.git
cd amiga_mcp
make examplesFrom within a single example directory (once libbridge.a is built in the parent repo):
cd examples/dot_chase
make # produces the m68k binary named after the directoryEvery example Makefile assumes it sits two levels below the amiga-bridge/ library:
CFLAGS += -I../../amiga-bridge/include
LDFLAGS += -L../../amiga-bridge -lbridge -lamiga
That path resolves as long as this repo is checked out inside a parent amiga_mcp clone at examples/. Standalone clones need amiga-bridge/ symlinked or the paths adjusted.
The parent amiga_mcp project ships a Python devbench (host-side) and the bridge daemon (Amiga-side). Once devbench is running and connected to your Amiga (FS-UAE, WinUAE, Amiberry, or real hardware):
amiga_build_deploy_run # via the MCP tool from Claude Code
or from the web UI at http://localhost:3000/.
Binaries deploy to the AmiKit shared folder and appear on Amiga as DH2:Dev/<name>.
Every example uses this pattern:
#include "bridge_client.h"
int main(void) {
ab_init("my_game");
ab_register_var("score", AB_TYPE_I32, &score);
while (running) {
ab_poll(); // process bridge messages
game_tick();
}
ab_cleanup(); // must be called on every exit path
return 0;
}See the parent repo's CLAUDE.md for the full API.
- New examples must call
ab_init()/ab_cleanup()and follow the AmigaOS memory/signal-pairing rules described in the parent repo's CLAUDE.md. - No commercial trademarks in code, on-screen text, comments, filenames, or binary targets. See
.coderabbit.yamlfor the screening rules. - Every example should include
-noixemuland-m68020in its Makefile CFLAGS.
TBD — pending a per-project license decision. All code here is original work.