CasNum: Quando Euclide Incontra il Game Boy (e Pokémon Red)

CasNum: Quando Euclide Incontra il Game Boy (e Pokémon Red)

Avete mai pensato di poter eseguire Pokémon Red usando solo compasso e riga? No? Beh, ora potete. CasNum è un progetto che sembra uscito direttamente da un incubo di un docente di geometria, ma che in realtà è una delle cose più creative che abbiamo visto da tempo.

Immagazzinatevi il concetto: un’intera libreria che implementa l’aritmetica a precisione arbitraria usando solo costruzioni geometriche con compasso e riga. Sì, proprio come facevano gli antichi Greci, ma con l’obiettivo di emulare un Game Boy.

Il progetto è nato come un esperimento folle di 0x0mer, che ha deciso di non accontentarsi di un semplice ‘a + b’, ma di voler vedere “il punto medio che nasce dall’intersezione di due cerchi”. E qui entriamo nel vivo della cosa: CasNum rappresenta ogni numero come un punto (x,0) sul piano e poi implementa tutte le operazioni aritmetiche e logiche usando solo costruzioni geometriche.

La parte più divertente? Ha funzionato. Non solo: ha funzionato così bene che è stato possibile integrare questa libreria in un emulatore Game Boy. Certo, Pokémon Red ci mette circa 15 minuti per avviarsi, ma una volta fatto, si riesce a ottenere un “quasi” giocabile 0.5-1 FPS.

Per noi smanettoni, questo progetto è una miniera d’oro. Non solo per la curiosità intellettuale, ma anche perché dimostra che, con un po’ di creatività, si possono risolvere problemi in modi che nessuno si aspetterebbe.

Certo, non è esattamente l’approccio più efficiente (il tempo di esecuzione è… beh, geometrico), ma è un ottimo esempio di come la programmazione possa essere un campo per l’esplorazione e l’invenzione.

E poi, ammettiamolo: chi non vorrebbe dire di aver giocato Pokémon Red usando solo geometria euclidea?

Se volete provare, il codice è disponibile su GitHub. Ma preparatevi a un’esperienza… lenta. Molto lenta.

Source: CasNum

Lascia un commento