← Back to projects

Design Philosophy

Studio Darkly explores what games feel like when you strip away traditional visuals and lean into audio, vibration, and minimal HUDs. Both shipped titles prioritize VoiceOver and TalkBack support, localized UI (English and Spanish), and gameplay that works whether you can see the screen or not.

The project started as I added accessibility features to my Beer Guide Apps and realized that accessability as a secondary feature left a lot to be desired. Apps are written to be visual and that leaves visually impared people to navigate the app with rudimentary tools. I set out to see if I could use the capabilities of devices to provide an experience that did not rely on visual content.

The games still rely on the Accessability features of the devices - as limited as they are - for instructions, configuration and navigation, but the game play experience is entirely in the dark.

Games

Dark Assault

Retro arcade defender · haptic-first

A space-invaders-inspired arcade game with no classic visual battlefield. You read the fight through audio cues, strong haptics, and a minimal HUD, then react with touch or tilt. Training mode includes silhouettes to help map cues to positions while you learn.

  • Touch and tilt controls with multiple difficulty presets
  • Selectable sound themes that change all in-game cues
  • Screen-reader-friendly labels and two-line combat status
  • End-game formations and configurable power-ups
React Native Expo expo-audio Haptics

Dark Intercept

Audio-first hunt · spatial sound

Hunt mosquitoes in a toroidal arena using spatial sound, not sight. Each mosquito is a continuous spatial beacon — panned by bearing, attenuated by distance, Doppler-shifted by motion. An active ping reveals bugs beyond passive hearing range. Screen-reader players are the primary audience; visual training mode is optional.

  • Custom native spatial-audio engine via expo-dark-depths-proximity-audio
  • Pure-logic game simulation separated from React UI and audio bridge
  • Training, Go Dark, and Go Hard modes with level progression
  • Joystick, tilt, and screen-reader stepper input options
Expo SDK 54 expo-router Native module i18n

Proximity Audio Module

proximity-audio is a custom Expo native module providing real-time positional audio using AVAudioEngine on iOS and AudioTrack on Android. It powers Dark Intercept's mosquito beacons and active ping system, and is consumed as a local file dependency by the game app.

An earlier spatial-audio prototype (audio-proto) seeded the sonar and motion toolkits used in Dark Intercept's audio bridge.

Swift / AVAudioEngine Kotlin / AudioTrack Expo Modules TurboModules

Tech Stack