Portable game modules
Games use a stable C interface instead of owning the platform loop. The same game code can target macOS, iOS, Android, and Web builds without game-specific platform forks.
THE TECHNOLOGY BEHIND THE GAMES
ArcadePotion is our deliberately focused C11 engine for responsive arcade games, portable runtimes, and fast content iteration.
BUILT FOR THE WORK
ArcadePotion exists to help us finish games. It keeps platform code, rendering, audio, input, assets, and packaging behind stable boundaries while each game remains focused on its own rules and personality.
It is developed alongside playable projects that exercise the engine under real arcade workloads. Features are added when a game needs them, then made portable, measurable, and reusable.
CAPABILITIES
Games use a stable C interface instead of owning the platform loop. The same game code can target macOS, iOS, Android, and Web builds without game-specific platform forks.
The default SDL GPU path handles 3D transforms, depth testing, shaders, and post-process bloom. A compact CPU renderer remains available as a fallback and reference implementation.
INI content defines assets, scenes, entities, behaviours, projectiles, weapons, bosses, cameras, HUD layouts, events, effects, input, audio, and difficulty. Much of a game can change without recompiling the engine.
Games refer to logical asset IDs rather than scattered filenames. The same loaders read desktop files, iOS bundles, compressed Android assets, and persistent save locations through asset:// and save:// paths.
Shuffle & Seek uses deterministic shuffles, responsive touch input, animated 3D tokens, multiple play modes, local statistics, trophies, and accessibility-minded presentation.
ap_tool validate loads every subsystem, resolves referenced assets, discovers scenes, and instantiates content to catch path and schema failures before a build is shipped.
The packer follows declared dependencies, copies only referenced content and required libraries, records CRC-32 and byte size in a package manifest, and can produce relocatable ZIP distributions.
A unified build driver handles engine and game builds, tests, packaging, installation, and launch across supported targets. Platform checks are part of the workflow rather than an end-of-project surprise.
PORTABILITY
PROOF, NOT PROMISES
Tests, content validation, packaging checks, benchmarks, and physical-device runs are treated as engine features. The goal is predictable game behaviour and repeatable releases—not the longest possible feature list.
./tools/ap_build.sh \
--platform ios \
--game NeonShellGame3D \
--run
./build/ap_tool validate \
NeonShellGame3D/assets/game.ini
./build/ap_tool benchmark
DEVELOPED IN THE OPEN
ArcadePotion is internal studio technology, built around the games Memset Games wants to make. Follow the implementation, documentation, and platform work on GitHub.
Explore ArcadePotion on GitHub ↗