Hvordan mazerne blev produceret til traditionelt Berzerk spil

Dette er et screenshot fra Atari 5200-versionen af ​​det traditionelle spil Berserk. Men den anmeldelse, vi byder på, ser virkelig på den oprindelige mønt-op-version. Labyrinten for hvert niveau blev etableret på flugt, der udnytter et frønummer, der blev fodret i en rudimentær algoritme. Her er et tæt kig på præcis, hvordan labyrintbygningskoden virkelig fungerede.

For nylig så vi en snak af Palfall Creator [David Crane] som en del af vores retrotechtacular serie. Det er en ægte perle af programmeringshistorie, såvel som en af ​​vores foretrukne take-aways var, at niveauerne ikke blev hardcoded, men udviklede sig ved hjælp af en tilfældig talgeneratoralgoritme med et hardcoded frø (således at spillet var nøjagtigt samme hver gang du spillede det). Dette anvender dog en lignende teknik dog med et noget tilfældigt frø.

Labyrintbygningen blev omvendt konstrueret ved at observere spillet i en mame emulator, såvel som ved at grave med demonteret kode. Hver gang koden er “kold startet”, starter frøet ud på nul, men derfra anvendes rumnummeret som det næste frø. Dette fodres med en ekstremt simpel algoritme. Det producerer retninger for væggene, som bruger S få bit-wise operationer til at tilføje søjlerne inde i værelserne.

Det er en fremragende ting at undersøge undersøgelsen, hvis du komponerer spil til dine indlejrede projekter. Ved at generere rummet programmatisk udnytter du ikke op som meget programhukommelse. Af programmet i disse dage har selv enkle tidsfordrivsstyrere metode mere opbevaring til at arbejde med end [Alan McNeil] havde, da han designede Berserk.

[via reddit]

[Billedkilde]

Leave a Reply

Your email address will not be published.