Permalänk
Medlem

Mitt första NES-homebrew

Susade runt på det världsomspännande datornätverket Internet en vacker dag och hittade PowerPak. Fick lite nostalgiska tankar och köpte en. Fixade fram en gammal NES och blev såklart sugen på att testa mig på detta med homebrew. Sagt och gjort så läste jag på lite och satte igång. Eftersom jag inte har någon fantasi så började jag med att göra en remake på min remake på NS shaft.

Resultatet hittar ni här.

För att testa behöver ni antingen en nintendo-emulator (Typ Nestopia, den är rätt bra), eller en PowerPak och en riktig Nintendo. Spelet är skrivet i C och 6502 assembler (Fantastiskt nice att kunna koda logik i C, googla upp Shiru's guide om hur). För den insatte/intresserade är det mest avancerade den parallaxscrollande bakgrunden. Grafiken ritade jag i NES Screen Tool, och musiken är gjord i FamiTracker.

Tänkte dela med mig av denna hobby, som är ofantligt kul. I och med att NES är så begränsad kan man göra allt själv och få hyggliga resultat, samt att man får vara lite kreativ och jobba med det man har (Typ 2k RAM, 3 färger per sprite, 8 sprites max på en rad). Det är rätt tillfredsställande att se sitt verk på ett riktigt NES. För alla retrosugna 80-talister kan jag verkligen rekommendera PowerPak.

Nåja, hoppas detta glädjer någon. Om nån har några funderingar så svarar jag på det jag kan. Det vore kul och se om någon annan här på Swec pysslar med något liknande. Nu ska jag fila på nästa spel

Edit 2014-07-12:
Här är min senaste skapelse, en port av Flappy Bird till NES.
https://www.dropbox.com/s/wts3twej93bh7do/flappy.nes?dl=1

Visa signatur

Core i7 7700K | Titan X (Pascal) | MSI 270I Gaming Pro Carbon | 32 GiB Corsair Vengeance LPX @3000MHz | Samsung 960 EVO 1TB

Permalänk
Permalänk
Medlem
Skrivet av Nioreh83:

Nåja, hoppas detta glädjer någon. Om nån har några funderingar så svarar jag på det jag kan. Det vore kul och se om någon annan här på Swec pysslar med något liknande. Nu ska jag fila på nästa spel

Superkul, verkligen! Fulländat i all sin enkelhet. Blir sugen på att prova själv

Visa signatur

Kom-pa-TI-bilitet

Permalänk
Medlem

Bra jobbat, gillar både bild och ljud

Visa signatur

www.filipsprogram.tk - lite freeware
"Delight, herregud. Talang är bara förnamnet."

Permalänk

Riktigt coolt! Får man lite tid över kan det här bli ett projekt till sommaren.

Visa signatur

][- perfect -][

Permalänk
Sötast

Hallå där, inte alls illa

Hann endast få 20P dock för nu är det sängdags, men det hade härlig musik och helt ok känsla, häftigt!

Skulle du vilja röja hur källkoden ser ut i detta stadiet?

Permalänk
Medlem

Halloj, tack för de fina kommentarerna allihop!

Skrivet av Allexz:

Skulle du vilja röja hur källkoden ser ut i detta stadiet?

Ja nog kan jag rota fram den om det är väldigt intressant, fast jag skäms över hur den ser ut. Iom att detta var mest för att lära mig så är ingenting kommenterat och så. För att snabba upp programmet får man göra en del fulingar också, allt sånt man annars får lära sig att låta bli.

Lokala variabler är aja baja om man vill att det ska gå snabbt. Man har det sk zero-page-minnet där man kan stoppa variabler om man vill spara några cykler. Där har jag de flesta av detta spelets variabler, även fast jag kanske inte hade behövt det. For-loopar skrivs med en och samma "i"-variabel som är globalt deklarerad i zero-page. Sånt är hela koden fylld av, så det är lite knepigt att följa. Plus att man gärna vill undvika funktioner.

Bäst tror jag är att du tar Shiru's "Chase" istället som är hans demospel. Det är mycket mer kommenterat och fint. Här finns allt sådant: http://shiru.untergrund.net/articles/programming_nes_games_in_c.htm

Min C-kod är baserad på hans exempel, fast mycket fulare skrivet. Jag använt hans assembly-bibliotek och sen är allt kompilerat med CC65. Jag har lagt till/ändrat en del grejer i assembler-biblioteket för att få till parallax-bakgrunden, men det mesta av biblioteket är orört.

Visa signatur

Core i7 7700K | Titan X (Pascal) | MSI 270I Gaming Pro Carbon | 32 GiB Corsair Vengeance LPX @3000MHz | Samsung 960 EVO 1TB

Permalänk
Sötast
Skrivet av Nioreh83:

Halloj, tack för de fina kommentarerna allihop!

Ja nog kan jag rota fram den om det är väldigt intressant, fast jag skäms över hur den ser ut. Iom att detta var mest för att lära mig så är ingenting kommenterat och så. För att snabba upp programmet får man göra en del fulingar också, allt sånt man annars får lära sig att låta bli.

Lokala variabler är aja baja om man vill att det ska gå snabbt. Man har det sk zero-page-minnet där man kan stoppa variabler om man vill spara några cykler. Där har jag de flesta av detta spelets variabler, även fast jag kanske inte hade behövt det. For-loopar skrivs med en och samma "i"-variabel som är globalt deklarerad i zero-page. Sånt är hela koden fylld av, så det är lite knepigt att följa. Plus att man gärna vill undvika funktioner.

Bäst tror jag är att du tar Shiru's "Chase" istället som är hans demospel. Det är mycket mer kommenterat och fint. Här finns allt sådant: http://shiru.untergrund.net/articles/programming_nes_games_in_c.htm

Min C-kod är baserad på hans exempel, fast mycket fulare skrivet. Jag använt hans assembly-bibliotek och sen är allt kompilerat med CC65. Jag har lagt till/ändrat en del grejer i assembler-biblioteket för att få till parallax-bakgrunden, men det mesta av biblioteket är orört.

Tackar

Permalänk
Medlem

Haha det var faktiskt småkul
Inväntar fler projekt nu ju

Visa signatur

| Ryzen 2600 | * | 16 GB DDR4 | EVGA 1060 6GB SC | * |
| Steam - Toivo |

Permalänk
Medlem

Nästa projekt tror jag blir ett lite större spel med mer konventionella banor och bossar. Jag kommer nog hålla det NROM, dvs utan mapper-chip innan jag ger mig in på den biten. För den som inte vet vad det betyder så kan NES endast adressera max 32KB programminne (inklusive data för banor/musik etc) samt 8KB grafik. För att komma runt detta innehåller många spel så kallade mappers som byter ut denna data mitt under spelet. Då kan man lagra mycket mer och göra större spel med mer grafik.

Visa signatur

Core i7 7700K | Titan X (Pascal) | MSI 270I Gaming Pro Carbon | 32 GiB Corsair Vengeance LPX @3000MHz | Samsung 960 EVO 1TB

Permalänk
Medlem

Har pillat lite mer med NES-programmerandet under åren som gått. Har ett större projekt jag håller på med, men det tar sån jäkla tid att få klart nåt när man försöker vara lite amitiös Passade i alla fall på att klämma in ett litet projekt när jag ändå hade ledigt.

Här är min senaste skapelse, en port av Flappy Bird till NES.

https://www.dropbox.com/s/wts3twej93bh7do/flappy.nes?dl=1

Den saknar den snygga parallax-bakgrunden från originalet, men jag är ändå nöjd med resultatet.

Visa signatur

Core i7 7700K | Titan X (Pascal) | MSI 270I Gaming Pro Carbon | 32 GiB Corsair Vengeance LPX @3000MHz | Samsung 960 EVO 1TB

Permalänk
Medlem
Skrivet av Nioreh83:

Har pillat lite mer med NES-programmerandet under åren som gått. Har ett större projekt jag håller på med, men det tar sån jäkla tid att få klart nåt när man försöker vara lite amitiös Passade i alla fall på att klämma in ett litet projekt när jag ändå hade ledigt.

Här är min senaste skapelse, en port av Flappy Bird till NES.

https://www.dropbox.com/s/wts3twej93bh7do/flappy.nes?dl=1

Den saknar den snygga parallax-bakgrunden från originalet, men jag är ändå nöjd med resultatet.

Du får gärna skapa en video av spelet för oss lata sopm inte orkar ladda ner emulatorer och sånt

Permalänk
Medlem
Skrivet av iXam:

Du får gärna skapa en video av spelet för oss lata sopm inte orkar ladda ner emulatorer och sånt

Kanske blir en video i framtiden om jag pallar.

Jag har även laddat upp en något tweakad version då de första som testat tyckte det var för svårt (fast det ska ju vara jävligt svårt ) Tråden på nesdev finns här för den intresserade:
http://forums.nesdev.com/viewtopic.php?f=22&t=11425&p=131052#p131052

Visa signatur

Core i7 7700K | Titan X (Pascal) | MSI 270I Gaming Pro Carbon | 32 GiB Corsair Vengeance LPX @3000MHz | Samsung 960 EVO 1TB

Permalänk
Medlem
Skrivet av iXam:

Du får gärna skapa en video av spelet för oss lata sopm inte orkar ladda ner emulatorer och sånt

Här är en liten video. Ursäkta crappy bild, har ingen vettig kamera.

https://www.youtube.com/watch?v=UyZ2YJpOuaI

Visa signatur

Core i7 7700K | Titan X (Pascal) | MSI 270I Gaming Pro Carbon | 32 GiB Corsair Vengeance LPX @3000MHz | Samsung 960 EVO 1TB