Arduino video igra za ceo komšiluk

Kris Temerman koji živi u Antverpenu, u Belgiji, iskoristio je okolnost što ima izlog na kući i uz pomoć Arduina od njega napravio retro automat za arkadne igre u kojima sad uživa ceo njegov komšiluk.

Terman kaže da je ranije na tom izlogu puštao različite projekcije, ali je ovog puta rešio da napravi nešto interaktivno, što se pokazalo kao odličan potez.

 “Po reakcijama ljudi bih rekao da im se zaista dopalo, kako mlađim tako i starijim komšijama“, kaže zadovoljno Terman.

Čitavu konzolu koju pokreće Arduino, zajedno sa led monitorom i komandnom tablom, kao i samu igru, napravio je sam.

“Jedino što ja nisam napravio je muzika koja se čuje u toku igre, nju je komponovala Angrit Sledsens, hvala draga!”, kaže Terman i poziva sve koji se nađu u njegovom komšiluku da svrate i odigraju partiju s lokalcima.

 
Igra

Da bi igra odgovarala većini ljudi iz Krisovog komšiluka i ujedno im bila zanimljiva, on se odlučio za dobar stari igrački kliše u kom vanzemaljaci napadaju Zemlju, a igrač se bori protiv njih sve dok ne stigne do glavnog vanzemaljca, pobedi ga i tako spase svet  i ljudski rod.

Igra je rađena u minimalnoj rezoluciji,  16X90 piksela, što definiše njen izgled. Može se igrati u tri moda: jedan igrač (single-player) protiv vanzemaljaca, više igrača (multiplayer) koji se bore protiv vanzemaljaca i ekstra mod u kom se dva igrača bore jedan protiv drugog.

„Svaki mod ima samo jedan nivo, ali pošto je u pitanju igra tipa “odigraj na putu do posla“, mislim da je to sasvim u redu“, kaže Terman.

 
Razvoj

Da bi razvoj bio što jednostavniji i brži, Kris je igru razvio kao Cinder C++ i Arduino aplikaciju i sve je smestio na Arduino, bez korišćenja eksterne memorije.

Napravio je malu aplikaciju koja generiše C++ klase za bitmap objekte sa gama korekcijama za led ekran.

Korišćene su ineksirane  boje da bi se sačuvala SRAM memorija. Za upravljanje LED diodama, modifikovan je Adafruit neopixel lib, da bi bilo podržano alfa-kombinovanje i operacije sa LED diodama se izvršavale brže.

Za muziku i zvučne efekte, korišćen je 8-bitni zvuk.

Ceo izvorni kod i i resursi igre (game assets) nalaze se na Github (Code-> MIT, Assets-> CC attribution)
 

Hardver

Displej je napravljen od LED traka za koje su korišćene WS2812 LED diode, od kojih je svaka zasebno adresabilna RGB LED dioda. One su raspoređene u mrežu 16X90 (=1440 LED dioda).

Kris je preko led dioda dodao laserski izrezan raster (laser cut raster) da bi pikseli postali kvadrtanog oblika i preko toga stavio sloj pleksiglasa da bi svetlo bilo još difuznije.

Iza LED dioda se nalazi Arduino Due i napajanje. Arduino uključuje displej i pokreće igru. Pošto je za ove LED diode potrebno dosta energije, postavljeno je napajanje od 60A 5V.
Displej i Arduino su povezani sa kućištem za igru preko jednostavne tx-rx serijske linije, koje su dovoljno brze za prenos komandi preko dugmića.

Kutija za igru je napravljena od prefarbanog medijapana sa metalnim ramom unutra i metalnom pločom na vrhu.

U arkadnoj kutiji Arduino generiše zvuk i muziku i obrađuje dugme/džojstik inpute.
 
Evo šematskog prikaza celog projekta:

Prilično je pravolinijski: Povezanost dugmića i džojstika, konekcije za LED diode, mesto za osvetljenje ekrana i tx-rx linija između dva Arduina. Na vrhu se nalazi i DC veza za spiker koji je povezan na Arduino DAC.

 

Izvor: neuroproductions.be