Minimal Game Boy Hello World using GBDK-2020 and PyBoy
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

2.9 KiB

MICE! — Documentazione Tecnica

Benvenuto nella documentazione tecnica di MICE!, un gioco completo per Game Boy DMG (1989) scritto interamente in C con la toolchain GBDK-2020.

Schermata Titolo e Gameplay


Cos'è MICE!

MICE! è un gioco di strategia in tempo reale a schermata fissa. Il labirinto viene generato proceduralmente ad ogni partita. Il giocatore controlla un cursore di mira e deve eliminare tutti i topi prima che il tempo scada. I topi si muovono autonomamente, trovano percorsi nel labirinto e si riproducono se si incontrano.

Meccaniche principali

Meccanica Descrizione
Generazione labirinto Recursive Backtracker iterativo, sempre risolvibile
AI topi Pathfinding casuale senza backtracking, spatial hash per collisioni
Riproduzione Spawn di un cucciolo a ogni incontro tra topi adulti
Bomba (A) Esplosione a croce che si propaga lungo tutto il corridoio
Fucile (B) Sparo istantaneo con cooldown di 3 secondi
Timer Countdown visualizzato come HUD sprite nella barra inferiore
Musica Tracker chiptune 4 canali nativo, jingle dedicati per vittoria/sconfitta

Struttura della Documentazione

Sezione Contenuto
Hardware Game Boy Vincoli fisici: SM83, VRAM, OAM, APU
Architettura Moduli Grafico dei moduli C e dipendenze
Loop Principale Sequenza di inizializzazione e game loop
Generazione Labirinto Algoritmo Recursive Backtracker, MAZE_PITCH
AI dei Topi Movimento, pathfinding, riproduzione, spatial hash
Rendering e Autotiling Tile system, bitmask 4-bit, hardware scrolling
Sprite e OAM Allocazione 40 sprite hardware, meta-sprite 16×8
Armi e Gameplay Cursore DAS, bomba propagante, fucile con cooldown
Audio Mini-tracker 4 canali, SFX, Wave RAM
Pipeline Asset Script Python, conversione PNG → header C 2bpp
Ottimizzazioni Riepilogo di tutte le tecniche di ottimizzazione

Quick Start

# Compila tutto
make

# Gioca
pyboy -w SDL2 -s 3 --sound-volume 100 maze.gb

# Test audio interattivo
pyboy -w SDL2 -s 3 --sound-volume 100 test_audio.gb

# Validazione headless
python3 tests/test_pyboy.py

Dati Tecnici

Parametro Valore
Target hardware Nintendo Game Boy DMG (1989)
Toolchain GBDK-2020 + SDCC
Linguaggio C (SM83/Z80-compatible)
ROM size 32 KB (MBC1 0x00, solo ROM)
Tile in VRAM 256 tile 8×8 @ 2bpp
Sprite OAM 40 slot hardware (8×8 px ciascuno)
RAM disponibile 8 KB (WRAM)
FPS target 60 Hz (sincronizzato su VBlank)
Frequenza CPU ~4.19 MHz