Accessible Hyper-Twister Builder

A focused macOS spike for testing an accessible coaster-builder architecture inspired by OpenRCT2. The app builds one representative Hyper-Twister style coaster, renders it with SDL, and exposes a Swift/AppKit accessibility overlay for keyboard control, VoiceOver navigation, and spoken feedback.

Demo video showing the validated closed-coaster recipe being built and the test train running.
Status
Research spike
Date
June 2026
What it is
This is a small macOS coaster-builder prototype that separates accessible input and output from the visual rendering layer. C++ owns the coaster builder state, placement rules, completion guidance, metrics, generated sounds, and SDL rendering. Swift/AppKit owns keyboard input, native accessibility fields, and spoken feedback.
Why it was important
The spike proves that a game-like builder can have a native accessibility surface without forcing gameplay input through SDL. Swift sends semantic commands into C++ through a bridge, and C++ sends semantic state back to Swift as JSON for VoiceOver inspection.
Access angle
It tests a path for blind-accessible construction interfaces where the visual game scene and the accessible control surface share one source of truth, instead of bolting descriptions onto pixels after the fact.
Role
Research, architecture, implementation, validation, demo capture and documentation.
Tools used
C++, Swift, AppKit, NSAccessibility, AVSpeechSynthesizer, SDL2, Codex and Claude Webapp.

Back to projects

Blinding Pixels · GitHub