A downloadable game for Windows and Linux

ANova Space Adventure

An endless space flyer for the Arduino joystick! Navigate your jet through an asteroid field. Destroy asteroids and survive! How far can you get?

Anova Space Adventure (Processing Application)

Features

  • Dynamic Serial Port Selector
    Pop-up window at application startup prompts user to select the port the Arduino is connected to.
  • Custom 3D models, sound effects, and procedurally infinitely looped music
    Cross-fade transitions across 3 audio loop variants make each run-through sound unique.
    Toggle music/sound FX in the menu — preferences persist across sessions.
  • Explosion particle animations
    Smoothly interpolated color fades and randomized dispersal for satisfying blast effects.
  • Arduino-controlled jet
    Pitch and yaw driven by joystick x/y. Down-press fires a projectile. Smooth motion with easing.
  • Procedurally generated infinite asteroids
    Asteroids spawn between 1000–4000 units ahead. Recycled for performance. Each has a randomized mesh and movement.
  • Procedural star background
    Dynamic starfield reacts to player orientation. Designed to avoid occlusion and maintain immersion.
  • Collision Detection
    Uses simplified 3D bounding volumes (spheres and boxes) to detect collisions. Optionally visualized in-game.
  • Score Tracking
    High scores are highlighted in neon and saved to disk between runs.
  • Responsive UI
    GUI elements resize and reposition based on the window size.
  • Packaged as a standalone .exe (Windows & Linux)
    Ready to run with no setup. Optional desktop shortcut includes a custom icon.

Known Bugs / Limitations

  • If the Arduino is unplugged while the game is running, it must be restarted to detect serial input again.
  • Selecting the wrong port at startup may cause unresponsive controls or an application freeze. Restart to resolve.
  • Serial input can be noisy on first launch. If controls behave erratically, restart the game. Pressing "R" will restart automatically on Windows.

Find the GitHub page here.

Credits

Original Game

Joel Castro

3D Models

  • 8 Low Poly Asteroids by Everios96 (via Sketchfab)
  • Jet low-poly by funbug3d (via Turbosquid)

Music & Sound FX

  • "Space Jam Loop [1, 2, & 3]" by LuckyLittleRaven
  • "Space Syndrome" by X3nus
  • "Space Station Ambiance (With Chords)" by RobboStar
  • "SFX_Explosion_01" by jalastram
  • "explosion_asteroid [1 & 2]" by runningmind
  • "Menu Select" by pumodi
  • "Blip 2" by AceOfSpadesProductions
  • "Laser" by Ashe Kirk @ Owlish Media

© 2025 by Berkeley ANova with ❤️

Download

Download
anovaSpaceAdventure_windows.zip 190 MB
Download
anovaSpaceAdventure_linux.tar 13 MB
Download
joyStickSerial.ino 1.2 kB

Install instructions

How to Install & Run

1. JoyStick Serial Input Script (Arduino)

  1. Upload joyStickSerial/joyStickSerial.ino to your Arduino.

  2. Wire your joystick as shown in the diagram below:

  3. Open the Arduino IDE’s Serial Monitor at 115200 baud and verify that you see a continuous stream of x,y,btn values.


2. Anova Space Adventure (Game)

  1. Download the Windows or Linux build from this page.

  2. (Optional) Create a shortcut to anovaSpaceAdventure.exe (Windows) or anovaSpaceAdventure (Linux) for easy access.

  3. Run the executable.

  4. When prompted, select the COM port your Arduino is connected to.

  5. Use the joystick:

    • Up/Down to navigate menus

    • Press Down to select

  6. In Settings, toggle Music, Sound FX, and Bounding Volumes on/off.

  7. In-game:

    • Tilt joystick up/down/left/right to control jet pitch and yaw

    • Press joystick to fire

    • Avoid asteroids (collision = game over), shoot them to score points










Leave a comment

Log in with itch.io to leave a comment.