Skip to content

About

πŸš€πŸ‘Ύ Assembly-based arcade game built for the PEPE-16 simulator, with asteroids, probes, energy management, and sound.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

Β 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Beyond Mars

Assembly-based arcade game developed for the PEPE-16 simulated computer, featuring a space-travel setting, moving asteroids, directional probes, energy management, and audiovisual effects.


Project Description

Beyond Mars is a game centered on the survival of a spaceship seen from above.
The player must avoid or destroy incoming asteroids while managing a limited energy reserve.

Asteroids approach the ship from multiple directions, and the player can launch probes in three directions to stop them. Some asteroids are mineable and reward the player with extra energy when destroyed, while others are simply hazards. The game also includes pause, restart, and suspension features, as well as custom audio and pixel-art visuals.

This project was developed in the context of the Introduction to Computer Architecture course using Assembly and the PEPE-16 environment. The gameplay, mechanics, and audiovisual design are described in the project report included in the repository. 【0†relatorio36.pdf】


Main Features

Gameplay

  • Top-down space survival game
  • Multiple moving asteroids threatening the ship
  • Three directional probes:
    • left
    • center
    • right
  • Energy-based gameplay loop
  • No win condition: the goal is to survive as long as possible

Asteroids

  • Up to 4 asteroids may exist simultaneously
  • Asteroids can appear in 5 different movement configurations
  • Each asteroid has a 25% chance of being generated as mineable
  • Mineable asteroids increase the player's energy when destroyed

Energy System

  • Initial energy value of 100
  • Energy decreases over time
  • Launching a probe consumes energy
  • Destroying mineable asteroids restores energy
  • The displayed energy value may exceed the initial value depending on gameplay

Controls

  • D - launch left probe
  • E - launch center probe
  • F - launch right probe
  • 0 - pause / resume
  • 4 - restart the game
  • 3 - debug / sprite preview mode in pre-game states

Additional Features

  • Pause and resume system
  • Restart after game over
  • Suspension support
  • Sound effects for player actions
  • Distinct audio feedback when a probe cannot be launched yet
  • Animated ship lights for cosmetic effect

The report explains that only one probe may exist in flight per direction, which motivated the cooldown sound and some gameplay constraints. 【0†relatorio36.pdf】


Graphics and Audio

The project adopts a retro pixel-art style, adapted to the resolution limitations of the Media Center display.
The repository includes several custom assets used by the game, including:

  • ship sprites
  • asteroid sprites
  • pause/start/game-over screens
  • energy and interface images
  • sound effects and music clips
  • editable graphic source files (.psd)

The report also notes that separate pixel displays were used for asteroids in order to avoid visual artifacts caused by sprite redrawing. 【0†relatorio36.pdf】


Project Structure

.
β”œβ”€β”€ README.md
β”œβ”€β”€ beyondmars.asm          # Main Assembly source code
β”œβ”€β”€ beyondmars.cir          # Circuit / simulator file
β”œβ”€β”€ relatorio36.pdf         # Project report
└── assets/                 # Images, sounds, and visual resources
    β”œβ”€β”€ ast1.png
    β”œβ”€β”€ ast2.png
    β”œβ”€β”€ nave.png
    β”œβ”€β”€ gameplay.png
    β”œβ”€β”€ pausa.png
    β”œβ”€β”€ dead.png
    β”œβ”€β”€ start.png
    β”œβ”€β”€ beyondmarslogo.png
    β”œβ”€β”€ energy.png
    β”œβ”€β”€ *.wav / *.mp3
    └── *.psd

Technical Highlights

  • Developed in Assembly
  • Built for the PEPE-16 simulated machine
  • Real-time keyboard interaction
  • Sprite-based game logic
  • Energy management mechanics
  • Direction-based projectile system
  • Audio integration
  • Use of simulated peripherals such as the Media Center and hexadecimal displays

Gameplay Overview

The player controls a spaceship that must survive incoming asteroids while maintaining enough energy to continue firing probes.

Important gameplay details:

  • Asteroids approach from multiple predefined directions
  • Probe launch positions differ depending on direction
  • Collisions with the ship occur at different heights depending on asteroid trajectory
  • The ship includes rotating decorative lights
  • Probe firing is limited so that only one probe can travel in each direction at a time

The report also mentions a debug-style pre-game mode triggered with key 3, used to preview sprites during development. 【0†relatorio36.pdf】


Files Included

Core Files

  • beyondmars.asm - main game implementation
  • beyondmars.cir - circuit/simulator configuration
  • relatorio36.pdf - project report and design explanation

Asset Folder

The assets/ directory contains:

  • game screens
  • audio effects
  • sprite images
  • original design sources

Academic Context

This project was developed for the Introduction to Computer Architecture course as an Assembly programming project focused on:

  • low-level programming
  • hardware-oriented reasoning
  • peripheral interaction
  • state-based game logic
  • audiovisual integration in a simulated environment

Credits

This project was developed as part of the Introduction to Computer Architecture course by:

About

πŸš€πŸ‘Ύ Assembly-based arcade game built for the PEPE-16 simulator, with asteroids, probes, energy management, and sound.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages