Voltar aos Projetos Realizados

Desenvolvimento de jogos no NES

  • Ano: 2025
  • Titulo Original: Explorando ferramentas modernas para desenvolvimento de jogos no NES: Um estudo da plataforma e aplicações práticas
  • Modalidade: Trabalho de Iniciação Científica
  • Organização: UFABC
  • Autores: Vitor Vieira Fernandes, Mario Gazziro
  • Anexos:

RESUMO: Este trabalho explorou a arquitetura do Nintendo Entertainment System (NES) e as particularidades do desenvolvimento de jogos para a plataforma, utilizando ferramentas modernas como FPGAs e a linguagem C. O projeto culminou na criação de um demake do jogo Flappy Bird, adaptando suas mecânicas às restrições técnicas do NES, como limitações de memória e processamento gráfico. A metodologia combinou a análise documental da arquitetura do console com o desenvolvimento prático iterativo, empregando a FPGA Tang Nano 20K para emulação fiel do hardware e a biblioteca NESlib para a programação em C. Os resultados demonstraram a viabilidade de recriar um jogo moderno no NES, com a implementação bem-sucedida de mecânicas como scrolling horizontal, geração procedural de obstáculos e detecção de colisão, alcançando 60FPS estáveis no hardware. O principal desafio, a restrita capacidade de atualização da VRAM, foi solucionado com a divisão da renderização em múltiplos quadros. Conclui-se que o projeto não apenas valida a aplicação de ferramentas modernas no estudo de hardware clássico, mas também serve como um recurso didático aplicado de arquitetura de computadores. O repositório público com o código-fonte e a documentação detalhada do processo constitui uma contribuição valiosa para a comunidade de retrocomputação.

ABSTRACT: This work explored the architecture of the Nintendo Entertainment System (NES) and the particularities of game development for the platform, using modern tools such as FPGAs and the C language. The project culminated in the creation of a demake of the game Flappy Bird, adapting its mechanics to the technical constraints of the NES, such as memory limitations and graphics processing. The methodology combined documentary analysis of the console's architecture with iterative practical development, employing the Tang Nano 20K FPGA for faithful hardware emulation and the NESlib library for C programming. The results demonstrated the feasibility of recreating a modern game on the NES, with the successful implementation of mechanics such as horizontal scrolling, procedural obstacle generation, and collision detection, achieving a stable 60 FPS on the hardware. The main challenge, the limited VRAM upgrade capacity, was solved by dividing the rendering into multiple frames. It is concluded that the project not only validates the application of modern tools in the study of classic hardware, but also serves as an applied teaching resource for computer architecture. The public repository with the source code and detailed documentation of the process constitutes a valuable contribution to the retrocomputing community.