8000 GitHub - geekychris/amiga_games: Example projects and games for the AmigaBridge cross-development environment (submodule of amiga_mcp) · GitHub
[go: up one dir, main page]

Skip to content

About

Example projects and games for the AmigaBridge cross-development environment (submodule of amiga_mcp)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

184 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Amiga Games logo

amiga_games

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.

What's in here

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 amiga3d engine, 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) and scairy_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) and ace_pilot2 (Ace Pilot 2: WWI biplane dogfights in 3D, chase and cockpit views, an 8-mission campaign; the 2D ace_pilot is 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 in amiga3d/README.md.
  • AmigaOS 4.1 (PPC) games ported from their 3DO versions — planet_chomp (a maze chase on a tiny sphere) and rolling_steel (the marble racer) render through software Mesa (OSMesa), built by the parent repo's third_party/mesa-os4/build.sh; spectral_keep (the isometric adventure) composes its pre-rendered sprites in software. They build with scripts/build-example-ppc.sh <name>. Each also builds for classic 68k (020+, RTG or AGA) with scripts/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; see boing_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, from tools/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.

How to build

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 examples

From 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 directory

Every 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.

How to deploy + run

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>.

Bridge client API (quick reference)

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.

Contributing

  • 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.yaml for the screening rules.
  • Every example should include -noixemul and -m68020 in its Makefile CFLAGS.

License

TBD — pending a per-project license decision. All code here is original work.

About

Example projects and games for the AmigaBridge cross-development environment (submodule of amiga_mcp)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

0