Balatro to niezwykle udana gra roguelike inspirowana pokerem, która od czasu premiery w 2024 roku zyskała wielu zwolenników. Teraz fanowski projekt przeniósł grę na nietypowy sprzęt: kalkulator graficzny NumWorks. Użytkownik Reddita "RKI3000" podzielił się postępami w tworzeniu opartego na Pythonie portu Balatro (patrz poniżej), działającego w środowisku NumWorks microPython. Skrypt ma obecnie około 700 linii i zajmuje 20,9 KB - mniej więcej połowę pojemności pamięci kalkulatora.
Pomimo ograniczeń, port zawiera już talię 52 kart, odpowiednią mechanikę punktacji, limity rozdań i kart odrzuconych oraz modułową strukturę, która pozwala na dostosowanie rozmiarów rozdań i zestawów kart. Dodano również sprite Jokera, choć sama mechanika Jokera nie została jeszcze zaimplementowana.
Jak dotąd największym wyzwaniem okazały się ograniczenia sprzętowe. Nawet jeśli nie przekraczamy limitu rozmiaru skryptu, niewielka pamięć RAM kalkulatora szybko się zapełnia. Aby zaoszczędzić miejsce, sprite'y są kodowane za pomocą RLE (run-length encoding), choć takie podejście nadal powoduje, że zużycie pamięci jest bliskie limitu. W odpowiedzi deweloper i członkowie społeczności rozmawiali o technikach takich jak mirroring sprite'ów, kompaktowe kodowanie binarne i wykorzystanie wbudowanej czcionki kalkulatora w celu zmniejszenia zależności od niestandardowej grafiki.
Projekt wybuchł na subreddicie r/Balatro wkrótce po jego opublikowaniu. Użytkownicy porównywali metody oszczędzania pamięci do tych stosowanych w grach NES. Ponieważ kalkulatory NumWorks nie zawierają głośników, projekt jest obecnie ograniczony tylko do wizualizacji.
Użytkownik poinformował, że planuje udostępnić skrypt, gdy będzie on bardziej kompletny. Chociaż pewne kompromisy są nieuniknione, biorąc pod uwagę ograniczenia urządzenia, to i tak jest to całkiem fajny port.