MissingNo., tuntud ka kui MissingNO, on glitchi Pokémoni nimi, mis on lühend "Missing Number". MissingNo. Pokémonid on mängu arendaja Game Freak'i poolt kasutatavad veakäitlejad; need ilmuvad, kui mäng üritab pääseda ligi mingi Pokémoni liigi andmetele, mida ei ole olemas.
Esmakordselt dokumenteeris Nintendo 1999. aasta maikuu Nintendo Poweri numbris, et MissingNo. kohtumine toob kaasa segase graafika ja mängija inventari kuuenda eseme dubleerimise. Sellel on Pokémoni kogukonnale ainulaadne mõju, mis ei ole võrreldav millegi muuga.
Kuidas MissingNo tekib
MissingNo on juhuslike mälu- ja indeksiotstarvete tagajärg mängu koodis (mälust loetakse väärtusi, mis ei vasta ühegi kehtiva liigi andmetele). Tuntud meetodid MissingNo ilmumiseks algsetes Game Boy mängudes (Pokémon Red/Blue/Yellow) on näiteks:
- Old Man (vanamehe) trikk — Viridian City vana-mehe näidissõltmuse ajal muutub mängu mälu struktuur nii, et järgmised metsikute Pokémonide kontrollid võivad lugeda vale aadressilt ja genereerida glitche.
- Safari Zone / nimepõhine genereerimine — mäng loeb mängija nimes/name-bytes ja Safari Zone'i tabelit, ning kui loetavad väärtused jäävad väljapoole lubatud vahemikku, tulemuseks on MissingNo.
Millised on tuntud mõjud
- Graafilised häired — ekraanile ilmuvad segased või segunenud sprite'id (näiteks mosaiiktaolised pildid või teiste Pokémonide osade kokkupandud kujutised).
- Esmemeede dubleerimine — kõige kuulsam efekt on kuuenda inventari-eseme arvu suurenemine või dubleerimine (tuntud on olukord, kus ese saab juurde +128 ühikut või millinegi suurenduse tüüp olenevalt mängu seisust).
- Andmete rikutus — partiis olevaid Pokémon'eid, nende liigutusi või statistikat võivad mõjutada vale andmed; mõnel juhul ilmnevad juhuslikud või ootamatud nimed ja tüübid.
- Õnnestumine püüda või mitte — MissingNo võib mõnel juhul püüdmine õnnestuda, kuid tema andmete ebatavalisus võib muuta mängu käitumist.
Tehniline kokkuvõte (lihtsustatud)
Lihtsustatult tekib MissingNo siis, kui mäng loeb liigiindeksit või sprite-aadressi mäluaadressist, mis ei sisalda kehtivaid andmeid (näiteks mäluosa, kus on mängija nimi või ajutised stringid). Selle tulemusena kasutatakse indeksi asemel mõnda suvalist või mitte-eksisteerivat väärtust, mille mäng tõlgendab Pokémoni andmetena — sealt ka graafika- ja loogikavead.
Riskid ja ennetus
Kuigi MissingNo kasutamine oli paljude mängijate jaoks huvitav ja kasulik (nt esemed kiiresti dubleerida), kaasneb sellega risk. Võimalikud probleemid:
- mängu andmete rikutus või ootamatu käitumine;
- salvestatud mängu kahjustumine, kui pärast glitchi salvestada (parim praktika on enne eksperimenteerimist teha varukoopia või mitte salvestada);
- erinevad emulaatorid ja püsivarad võivad glitchi käitumist erineda — mõnes versioonis on MissingNo parandatud või eemaldatud (näiteks uuemates ümbertehtud väljaannetes).
Kultuuriline ja ajalooline tähendus
MissingNo on saanud Pokémoni ajaloos legendaarse staatuse: see näitas, kuidas mängudes tekkivad juhuslikud vead võivad saada laiemaks kogukondlikuks nähtuseks. Glitchi dokumenteeriti ja levitati ulatuslikult 1990ndate lõpus, see mõjutas fännikirjandust, juhendeid ja isegi kiirjooksmise (speedrunning) taktikaid — MissingNo aitas mõnel juhul mängumaterjale "ekspluateerida" kiiremini. Samuti viis see teadustööni selle kohta, kuidas vanad 8-bitised mänguproramid käsitlevad mälu ja andmete kontrolli.
Kokkuvõte ja soovitused
MissingNo on klassikaline näide sellest, kuidas väike viga mäluhalduses võib tekitada nähtamatuid, kuid kordumatuid efekte mängukogemuses. Kui tahad teemaga eksperimenteerida, tee enne varukoopiaid ja ole teadlik võimalikest riskidest — vanade originaalkassettide puhul aitab hoiduda salvestamisest pärast glitchi; emulaatorite puhul kasuta salvestuspunktide (save state) varukoopiaid.