Provil — Geïntegreerde Proef
Een op Raspberry Pi gebaseerd reactiespel waarbij de speler zonder timer zo dicht mogelijk bij 10 seconden moet mikken en wordt afgeleid door chaotische visuele glitches op het scherm.
Dit deel van mijn GIP is een fysiek reactiespel gemaakt met de Raspberry Pi, genaamd Glitch // Timing. De speler drukt op een knop en moet de knop opnieuw indrukken zo dicht mogelijk bij de 10 seconden, maar er is geen timer zichtbaar, dus je moet de tijd zelf inschatten. Op het scherm verschijnen continu willekeurige glitch-elementen (teksten zoals "SYNC LOST", "DESYNC", "▒▒▒▒▒▒") in felle kleuren om je af te leiden.
Hoe bouw je een interactief hardwarespel waarbij de speler zijn tijdsinschatting traint, zonder gebruik te maken van een zichtbare timer of aftelling, en hoe verstoor je die inschatting bewust met visuele afleiding op een fullscreen display?
Een volledig werkend reactiespel bouwen met de Raspberry Pi en gebruik te maken van een fysieke drukknop, een scherm met afleidende glitch-animaties, een scorevermelding met dierenrang, verschillende moeilijkheidsniveaus en een scoreboard.
Pin 17 (BCM) — drukknop met interne pull-up weerstand (PUD_UP).
Analyse van hardware-opties, keuze van Raspberry Pi, GPIO-bibliotheek en Tkinter als UI-framework.
Drukknop aangesloten op GPIO-pin 17 met interne pull-up weerstand. Scherm verbonden via HDMI.
Spellogica, glitch-animaties, rangensysteem met 5 dieren, on-screen AZERTY-toetsenbord en scoreboard geprogrammeerd.
Drie moeilijkheidsniveaus toegevoegd, inclusief HARD-modus met willekeurige doeltijd (8–12s).
Uitgebreid testen met gebruikers, bugfixes in scoreboard-rangschikking en glitch-timing bijgesteld.
# Glitch-animatie: willekeurige tekst in willekeurige kleur glitch_texts = [ "SYNC LOST", "TIME ERROR", "SIGNAL NOISE", "???", "DESYNC", "FRAME DROP", "▒▒▒▒▒▒", "010101" ] def glitch_loop(): if running: interval = DIFFICULTIES[current_difficulty]["glitch_interval"] label.config( text=random.choice(glitch_texts), fg=random.choice(colors) ) root.after(interval, glitch_loop) # zichzelf opnieuw inplannen
Het eindresultaat is een volledig werkend spel: de speler voert zijn naam in via het on-screen AZERTY-toetsenbord, kiest een moeilijkheidsgraad en start de ronde met één druk op de knop. Glitch-teksten flitsen over het scherm in hoog tempo. Bij de tweede druk op de knop wordt de afwijking getoond samen met een dierenrang. Het scoreboard toont de top 5 per moeilijkheidsgraad en de eigen ranking. Het spel is bijzonder herhalend doordat de glitches elke ronde willekeurig zijn en spelers hun rang willen verbeteren.
Dit project toont aan dat een eenvoudig concept met 1 knop, 1 scherm en 1 Raspberry Pi makkelijk kan uitgroeien tot een boeiende interactieve ervaring door slimme inzet van hardware en software. De combinatie van tijdsinschatting, visuele afleiding en een competitief rangensysteem maakt het spel uitdagend voor elke speler. De HARD-modus met willekeurige doeltijd voegt een extra laag complexiteit toe die zelfs ervaren spelers verrast. Het GIP heeft diep inzicht gegeven in GPIO-programmering, event-driven UI-logica met Tkinter en het ontwerpen van een complete gebruikerservaring op embedded hardware.