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.
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γ
- 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
- 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
- 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
- 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
- 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γ
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γ
.
βββ 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
- 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
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γ
beyondmars.asm- main game implementationbeyondmars.cir- circuit/simulator configurationrelatorio36.pdf- project report and design explanation
The assets/ directory contains:
- game screens
- audio effects
- sprite images
- original design sources
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
This project was developed as part of the Introduction to Computer Architecture course by: