/PokemonAssemblyVersion

🐉 Remake of Pokemon FireRed in Assembly RISC-V

Primary LanguageAssembly

📚 About

Group project made in University of Brasília, for the course "Organização e Arquitetura de Computadores" (Computer Architecture & Organization), in which we learned about machine language assembly RISC-V, types of CPU, datapaths and many hardware in-depth concepts. The project proposal was to recreate the Game Boy Advance game Pokemón FireRed with assembly RISC-V. We used RARS and VSCode to program, and FPGRARS to execute the game. Also, we adapted the game so it could run in an FPGA DE1-SoC kit, there were many limitations with functions and storage, but we worked around it. Making a game with assembly language is not practical at all, but it gave us a good understanding of how the hardware works and many programming concepts, how to handle problem-solving situations and manage teamwork.

You can find the more descriptive report, in scientific article model, only in Portuguese here.

🎮 Game

  • Story with dialog boxes
  • Soundtrack
  • Usable items and money system
  • Different types and battle moves
  • 6 unique pokemons
  • Map and structures you can enter
  • Battles with AI pokemons
  • Battle scenes with action menu
  • Player movement
  • Interactive NPCs
  • Pause menu
  • Special terrains with random pokemon generation

🖼 Design

We designed almost every aspect of the game based on our university culture, pokemons are inspired from animals that we find in campus, with a lot of references and inside jokes. A lot of game design concepts we brought from the original game itself, like the battles, the maps, and gave a bit of our own twist. The story is about a freshman who finds himself trapped in the city of OACapulco and the only way to escape is to defeat the bus driver in a pokemon battle, to do this, he enlists the help of Professor Lamar to instruct him and give him his pokemon to battle, then the freshman must venture around the city chasing wild pokemons until he can buy the ticket and fight the bus driver.

🛠 Built With

👥 Group

  • Vinícius: Game logic, objects, print sprites
  • Gustavo: Battles, AI, gameplay
  • Daniel: Sprites, maps, and story design, report
  • Lucas: Audio and map implementation
  • Jasiel: Report

🤝 Contributions

  • Prof. Lamar: Teacher who taught us and proposed the project
  • Monitores: Teacher assistants that helped us so much, thanks to Thiago Tomás, Eduardo Freire, Ruan Petrus, and others that helped too

👨‍💻 How to Play

Java is a prerequisite to run

  1. Download the repo
  2. Open the /src folder
  3. Drag the file main.s to the executable fpgrars.exe

or

  1. Clone the repo
  2. Open the /src folder
  3. Run fpgrars main.s

Keybinds

  • W = walk up
  • A = walk left
  • S = walk down
  • D = walk right
  • Z = interact