6. Testimine, itereerimine ja viimistlemine¶
Niipea, kui soovitud mängumehaanikad on implementatsioonini jõudnud, tuleb neid ka testida, veendumaks, et disain töötab nagu on ette nähtud (works as intended). Testimisel eristatakse eri testimisviise, millel on oma taust ja mõte ning need võivad olla kas manuaalsed või automatiseeritud.
Smoke Test - Käivitatakse mänguprogramm ja mängitakse testija oma suva järgi, et näha kas mäng jookseb kokku või satub raskesse veaolekusse. Kui mänguprogramm jääb püsima, isegi, kui see ei tööta nii, nagu ette nähtud, loetakse test õnnestunuks.
Monkey Test - Mänguprogrammile antakse käsitsi suvalisi sisendeid ja vaadatakse, kas see viib mängu veaolekusse. Kui mäng töötab nii nagu ette nähtud, loetakse test õnnestunuks.
Feature/Functionality Test - Testitakse konkreetset mängumehaanikat või gruppi mängumehaanikatest, et näha, kas mäng töötab nagu ette nähtud. Kui töötab, on test õnnestunud.
Unit Test - Automaatne test, millega testitakse konkreetset mänguprogrammi funktsiooni või gruppe funktsioonidest, et näha, kas need töötavad nii, nagu ette nähtud. Kui test töötab eelduste kohaselt, on test õnnestunud.
Soak Test - Mänguprogramm käivitatakse ja jäetakse tööle ettenähtud olekus ning vaadatakse, kas mäng jõuab veaolekusse. Kui ei jõua, loetakse test õnnestunuks.
Play Test - Mänguprogrammi mängitakse nii nagu eeldatakse, et mängija seda mängida võiks. Kui kõik mängus implementeeritud mängumehaanikad töötavad nii, nagu ette nähtud, loetakse test õnnestunuks.
Testimismetoodikaid ja testimise vorme on veel palju erinevaid, kuid kõikide põhimõte on veenduda implementatsiooni õigsuses ja vastavuses disainile. Testimise põhiline eesmärk on veenduda, et mäng toimib nagu ette nähtud ja vaid üksikute testimismeetodite eesmärk on veenduda implementatsiooni vastavust tarkvaraarendusstandarditega. Eelkõige on vaja veenduda, et missioonikriitilised osad mängust, mis lubaks mängijal mängida mängu algusest lõpuni probleemideta, töötaksid.
Hea tava on mänge testida pidevalt arenduse käigus, eriti niipea, kui on implementeeritud uus mehaanika ja sageli tehakse seda ka implementatsiooni käigus sammhaaval, et vältida olukorda kus implementeeritud süsteem ei tööta nagu ette nähtud ning jääb avastamata täpne moment kus implementatsioon on ebaõnnestunud.
Testimisel on mõttekas eraldada teste mängija kogemuse parandamiseks ja mängu funktsionaalsuse tagamiseks. Esimene prioriteet peaks olema pea alati mängu funktsionaalsuse tagamine ja järgnev testimine, kui see on tagatud testimisel positiivsete tulemustega, peaks keskenduma mängija kogemuse parandamiseks. Mängija kogemus seisneb selles, mis on mängijate subjektiivne arvamus, kuidas mäng töötab, st. kas mingi osa mängust on frustreeriv, kas sisendite andmine on kohmakas või kas mängureeglid tunduvad õiglased või ebaausad. Selle käigus toimub tavaliselt palju muudatusi peenhäälestuste näol mängu põhimehaanikate osas ning mängijale esitatava informatsiooni osas kasutajaliidese abil.
Lõppkokkuvõttes on testimise eesmärk valideerida esiteks, kas mäng töötab nii, nagu disainitud ja teiseks, kas mängu on lõbus mängida. Kui testimise käigus selgub, et kas mäng ei tööta nii nagu ette nähtud või ei täida oma eesmärki mängija lõbustamiseks, on vaja võtta samm tagasi ning naasta disaini ja/või implementatsiooni itereerimise juurde. See tähendab, koguda kokku testimisel kogutud materjal, seda analüüsida ja muuta selle uue informatsiooniga mängu disaini ja/või implementatsiooni.
Iteratiivset arendust võib vaadelda kui omaette mängu - mängureegleid välja kujundades ja sellele vastavaid koodijuppe kirjutades selgub, mida saab paremini teha ja seeläbi omaenda oskusi mänguloojana parendada. Selle protsessi käigus selgub ka rohkem, mis ideed sobivad mängu visiooni ning just nendele ideedele keskenduda, mis pakuvad mängijale rahuldavat kogemust. Ideed, mis tunduvad mängijatele kohmakad või frustreerivad tuleb muuta või disainist ja implementatsioonist eemaldada. Seda protsessi nimetatakse viimistlemiseks (polishing) ja selle eesmärk on jätta mängijatele võimalikult hea mulje mängust.
Viimistleda saab mänge jällegi mitmel eri viisil ja üldjuhul see jääb põhiliste mängumehaanikate, visuaalide ja kasutajaliidese/sisendi töötlemise valda. On tavaline, et alles viimistluse faasis jõutakse selleni, et mäng on tõesti nauditav ning pakub mängijatele head meelelahutust. Mänguarendusringkondades sageli jagatakse anekdooti, et esimese 90% mängu loomisest võtab sama palju aega kui viimase 10% loomine ning seda just viimistlemise pärast. Eelkõige keskendutakse selles faasis tugevale iteratiivsele protsessile, kus tehakse järjest väiksemaid muutusi, et tulemus oleks mängijale võimalikult sujuv, koherentne ja stabiilne.