Mario ja satunnaisuus

”Pelit ja satunnaisuus” -Ohjelmointi -alasivun alla kirjoitan, että ”Mariossa ei ole juurikaan satunnaisuutta”, ja olen pelannut elämäni aikana Mariota tuhansia ja taas tuhansia tunteja ja tälläkin hetkellä 27.09.2020 kesken on Mario All Stars ja Paper Mario Origami King.
Satunnaisuus viihteellisimmissä tietokone-ohjelmissa, kuten peleissä, pidentää tavallisesti pelin elinkaarta, ja peleistä saa mielenkiintoisempia pelaajan näkökulmasta.


Nintendon Mario -Franchise on Nintendon lippulaiva-Branch, jonka uusi julkaisu kyseisessä pelisarjassa omaa pitkän elinkaaren tavallisesti, vaikka pelissä ei juuri satunnaisuutta olekaan.


Tämä ”Mario ja satunnaisuus” -on aihe, joka ei ainostaan minua ole mietityttänyt. Nopea hakukoneella tarkastelu hakutermillä ”Mario Randomness”, löytyy Reddit-keskustelulaudalta vastaus, jossa todetaan Marion satunnaiselementtäjä omaavana pelinä.


On totta, että Mariossa on tiettyjen elementtien toistuvuudessa hieman satunnaisuutta. Esimerkiksi loppulinnojen Bowser (Koopa) -hahmon syöksemä tuliliekki on satunnaisuuteen perustuva, mstä kohtaa Marion vihollinen lähettää sen liikenteeseen, joskin liikeratoja esimerkiksi 1985 julkaistusssa Super Mario Bros -tasoloikassa on rajoitettuna kahteen.
Lisäksi varhaisemmissa Marioissa välillä saattaa tulla eteen tilanteita, joissa pelitason fysiikkamallinnus ei toimi täysin, esimerkiksi Marion lähettämä kilpikonna hahmo menee Goomban tai pikku-Bowserin läpi kaatamatta sitä, vaikka kilven isku pitäisi tuhota vastustaja.
Reddit-viestisäikeessä, jonka katsoin läpi, joku vastaajista on linkannut todisteeksi Marion satunnaisuudesta Githubissa sijaitsevan konekielisen lähdekoodin, jossa on viitattuna satunnaismuuttujien käyttö.


Linkki Githubissa sijaitsevaan koodiin, jossa voi tarkastella satunnaisuuden koodia Mariossa on suoran linkin päässä tässä malliksi.


Tuo Githubissa julkaistu Super Mario koodin implementointi on suurelta osin 1980-luvun PC-maailmassa suosittua ollut Assembler-konekieltä. En tiedä, onko varhaiset NES 8-bittiset Nintendo-pelit ohjelmoitu konekielellä, mutta voisin hyvin kuvitella, että on ainakin osittain.