Motion Controlled GameBoy Game with Wireless Multiplayer using nRF5340
Abstract
Dette prosjektet involverer utviklingen av et bevegelses-kontrollert spill designet for Nintendo Gameboy Pocket. Spillet integrerer sensorteknologi med klassisk maskinvare. Spillet benytter seg av et akselerometer for å detektere bevegelse, som lar en spiller kontrollere et fly ved å bevege på sensoren. Akselerometersataen er overført til konsollen over SPI igjennom en hjemmelaget kabel som sørger for effektiv overføring.
Nøkkeldelene av prosjektet inkluderer design og programmering av selve spillet ved hjelp av GBDK2020-pakken, skape Bluetooth-kobling med en annen enhet, generering av SPI-signaler basert på input data fra en IMU og designet av en prototype PCB for å samle prosessene. Multiplayer-funksjonalitet var prøvd implementert ved hjelp av Bluetooth. Dette ville latt to spillere konkurrere i sanntid.
Prosjektet har også involvert sin del med utfordringer i integrasjon av maskin- og programvare, som optimaliseringen av ytelse innenfor de tekniske grensene til systemets begrensede minne og prosessorkraft. Igjennom prosjektet har dokumentasjon av prosessen blitt laget fra første forsøk til ferdig produkt. Dokumentasjonen setter lys på metodene og prosessene brukt for å få til utfordringene som ble støttet på.
Prosjektet demonstrerer hvordan en effektivt kan kombinere eldre maskinvare med ny programvare og teknologi. This project involved the development of a motion-controlled game for the Game Boy Pocket, integrating sensor technology with classic gaming hardware. The game, a first-person flying simulator, leverages an accelerometer to detect motion, allowing players to control an aircraft by tilting the device. The accelerometer data is transmitted via SPI through a custom-made link cable, ensuring real-time movement.
Key components of the project included designing and programming the game using GBDK-2020, making Bluetooth connections with another device, generating SPI signals based on input data from an IMU and designing a prototype PCB to simplify the process. Multiplayer functionality was tried implemented using an nRF5340 module for Bluetooth connectivity, and would enable competitive and cooperative gameplay between devices.
The project also involved challenges in the integration of hardware and software, such as the optimization of performance within the constraints of the Gameboy Pocket's limited memory and processing power. Along the way, documentation of the development process was made, from initial design to final implementation. It highlights the methods used to overcome the challenges that were faced.
The project demonstrates how one can effectively combine aging hardware with new software and technology.