Apollo Launch

Lead Programmer

Brief

Apollo Launch is an infinite, space-themed game where players dodge asteroids and collect fuel to keep their ship flying. Featuring randomized spawns, increasing difficulty, and a local high score system, it offers progressively challenging gameplay.

What I Worked On:

  • Designed core concept of gameplay loop.
  • Implemented game mechanics and logic.
    • Timed input challenege that determined fuel level during take off.
    • Space invaders-like movement with endless vertical scroll.
    • Randomized fuel and asteroid spawner.
  • Integrated custom art and animations.
  • Programmed local high-score system with user input functionality.

Team Size: 3

Skills Used: GameMaker, GML, Leadership, Project management

Project Length: 6 months

Platform: PC

Game Design

Apollo Launch is an endless runner arcade game where players take control of a rocket and navigate through space, aiming to achieve the highest possible score before the inevitable end. Inspired by the Apollo Space Mission, the game integrates rhythm-based launch sequences with classic dodge-and-collect mechanics, challenging players to balance speed, fuel, and agility.

Game Objective

In Apollo Launch, players control a rocket in an endless space environment, striving to maintain their speed and avoid obstacles to achieve the highest score possible. Players collect fuel to sustain their speed and dodge asteroids to prevent damage. The game continues indefinitely until the player loses all lives.

Gameplay Mechanics
  • Launch Sequence: The game starts with a sequence where players must press a series of A and B inputs within a time limit (e.g., ABBABAABA). Correct inputs facilitate a successful launch, while incorrect or missed inputs contribute to the game's difficulty.
  • Endless Space Navigation: After launching, players use the left and right arrow keys to steer the rocket, avoiding asteroids and collecting fuel canisters. The game environment is procedurally generated, creating an endless stream of obstacles and fuel sources.
  • Damage and Fuel Management: Collisions with asteroids cause damage to the rocket. As damage accumulates, players also lose fuel, which decreases their speed. Maintaining a high speed is crucial for survival, and players must continually collect fuel to keep their rocket operational.
  • Point System:
    • Collecting fuel canisters: +50 points each
    • Colliding with asteroids: -5 points per hit
    • Correct sequence input: +50 points per correct character
    • Completed wave: +150 points per wave
    • Incorrect sequence input: -25 points per incorrect character
    • Sequence timer expiration: -250 points

Randomized Spawner

The randomized fuel and asteroid spawner is key to maintaining the infinite gameplay loop and adding variability to each playthrough. I created a system that spawns both fuel canisters and asteroids at random positions to challenge the player while providing fuel to continue the game. The randomness ensures that no two playthroughs are the same.

How I Achieved This:

  • Randomized asteroid and fuel spawns using instance_create().
  • Varied spawn positions with irandom_range() for unpredictable gameplay.
  • Increased asteroid speed over time for added difficulty.
  • Controlled spawn timing with alarms, decreasing delays as difficulty rises.
  • Added collision detection for asteroid damage and fuel collection.
Back to Projects