Inspiration

The idea behind Orbital came from a fascination with gravity-based movement and space survival mechanics. We wanted to create a game where players feel the tension of navigating an orbit while dodging unpredictable cosmic hazards. Classic arcade games like Asteroids and Geometry Wars inspired our fast-paced movement and survival mechanics.

What it does

Orbital is a fast-paced survival game where you control a ball moving in an orbital path, using A and D keys to navigate.

Meteors randomly spawn from different directions, adding an element of unpredictability. Colliding with a meteor ends the game and presents the player with options to replay or return to the main menu. A main menu allows players to start the game, tweak settings, or exit. The options menu includes difficulty settings and a volume slider.

How we built it

We developed Orbital using C++ and SFML (Simple and Fast Multimedia Library) for smooth 2D rendering and input handling.

Physics & Movement: Implemented using vector mathematics to create smooth orbital motion. Collision Detection: Uses circle-based collision detection to determine when the player is hit by a meteor. Game State Management: Handled transitions between the Main Menu, Game, Options Menu, and Game Over screens. Dynamic UI Elements: Built an interactive menu system with keyboard and mouse controls.

Challenges we ran into

Menu Transitions – Managing smooth transitions between menus and ensuring correct game restarts without infinite loops. Meteor Spawning – Ensuring meteors spawn from all sides randomly while still moving towards the center. Collision Handling – Preventing unexpected overlaps or false positives in detecting collisions. Game Reset Issues – After replaying, the player sometimes wouldn’t be visible due to incorrect reinitialization. Mouse Hover Issues – Implementing highlighting effects for menu options to improve the user experience.

Accomplishments that we're proud of

Smooth orbital movement mechanics that feel natural and responsive. Fully functional menu system with keyboard and mouse support. Randomized meteors of different sizes for an unpredictable challenge. Polished UI interactions, including hover effects and proper button feedback. Seamless game state transitions, ensuring replayability without errors.

What we learned

How to implement smooth movement using vector math. The importance of structured game state management. Optimizing SFML rendering for performance. Handling user input for both keyboard and mouse seamlessly. Debugging collision systems efficiently.

What's next for Orbital

Power-Ups & Abilities – Shields, speed boosts, or teleportation to dodge meteors. Scoring System & Leaderboard – Keep track of survival time and compare scores. New Environments – Introduce different space backgrounds & themes. More Game Modes – Timed survival, infinite mode, or even multiplayer. Visual Enhancements – Particle effects, meteor destruction animations, and smoother transitions.

Built With

Share this project:

Updates