Tulemus, mida saab kontrollida
AREN8 ei palu edetabelil brauseri saadetud skoori lihtsalt uskuda. Võistlustulemus ehitatakse kontrollitavast sessioonist, salvestatud sisenditest ja serveris korratud mängust.
Mida „deterministlik” tähendab
Deterministlik mängumootor annab sama algväärtuse, sama reeglistiku ja sama ajastatud sisendijada korral sama tulemuse. See ei tähenda, et mäng oleks lihtne või käigud ette määratud. Mängija valikud jäävad vabaks; korratav on viis, kuidas mootor neile reageerib.
Võistlussessioon salvestab kasutatava mootori versiooni ja reeglistiku. Hilisem tarkvarauuendus ei tohi vanale tulemusele vaikselt teisi reegleid rakendada. Nädalamängus jagavad osalejad sama nädala algväärtust. Turniir kasutab oma võistluslepingut, millesse kuuluvad turniir, algväärtus, mootor ja reeglite räsi.
Miks kliendi skoorist ei piisa
Brauser peab tulemust kohe näitama, kuid seda keskkonda kontrollib lõppkasutaja seade. Seetõttu käsitleb AREN8 kliendi kuvatud skoori väitena, mitte lõpliku tõendina. Server võtab vastu käigud ja ajastuse ning arvutab tulemuse usaldatud mängumootoriga uuesti.
Kui klient saadaks ainult numbri, saaks seda muuta ilma mängu mängimata. Mängusalvestise kontroll sunnib iga punkti seostuma lubatud sisendiga. Server kontrollib ka sessiooni omanikku, kehtivusaega, reeglistikku, mootoriversiooni ja seda, et mäng lõppes päriselt lubatud viisil.
Võrdsus ei tähenda identset seadet
Mängijatel on erinevad telefonid, ekraanid ja internetiühendused. AREN8 hoiab mänguloogika visuaalsest renderdamisest lahus: sujuvam ekraan võib pilti paremini näidata, kuid ei muuda serveri kokkupõrkeid, kujundite jada, lubatud käike ega skoorireeglit. Sisendid talletatakse mängu ajajoonel.
Ühendust kasutatakse sessiooni alustamiseks, checkpoint’ideks ja lõpptulemuse saatmiseks, mitte selleks, et osta kiirema võrguga lisapunkte. Kui salvestamine katkeb, peab klient pakkuma taastamist või uuesti saatmist; kontrollimata tulemust ei tõsteta vaikides edetabelisse.
Anti-cheat ilma mängijat karistamata
Kontrolli eesmärk ei ole ausat mängijat kahtlustada. Eesmärk on muuta edetabeli tulemus selgitatavaks. Tagasilükkamise põhjus salvestatakse diagnostikasse, et eristada vigast sessiooni, versioonierinevust, katkenud salvestist ja lubamatut sisendit.
AREN8 ei avalda turvakontrolli sellisel tasemel, mis lihtsustaks sellest möödahiilimist, kuid avalik põhimõte on selge: tulemus peab olema seotud ühe serveri sessiooniga, esitamine on ühekordne ja serveri kordus peab jõudma samasse lõppseisu.
Kus range kontroll kehtib
Kõige olulisem on kontroll nädalamängus ja turniiril, sest seal võrreldakse mängijaid omavahel. Classicu ning Teekonna kinnitatud tulemused kasutavad samuti serveripoolset loogikat, kuid nende arengueesmärk erineb võistlusest. Admini testmängud ei tohi anda avalikke auhindu ega ausat edetabelit mõjutada.
Power-up’id on Teekonna arengukiht. Neid ei kasutata nädalamängu või turniiri tulemuse parandamiseks. Nii saab AREN8 pakkuda pikaajalist arengut ilma võistlusrežiimi tingimusi segamata.
Aus mäng tähendab ka läbipaistvat ebaõnnestumist. Kui server ei saa mängusalvestist kontrollida, ei kuvata tulemust kinnitatuna ega võeta mängijalt vaikides vana rekordit ära. Taastatava võrguvea korral saab klient sama sessiooni uuesti saata; sisulise kontrollivea korral jääb põhjus diagnostikasse. Nii saab tehnilise vea parandada ilma reeglit lõdvendamata ning mängija näeb selget vahet kinnitatud, ootel ja tagasilükatud tulemuse vahel.
Korduma kippuvad küsimused
Kas AREN8 salvestab mängust video?
Põhiline tõend on kompaktne mängusalvestis: algväärtus, versioon, reeglid, ajatemplid ja sisendid. Kordusvaade rekonstrueerib neist mängu.
Kas kõrge värskendussagedusega ekraan annab rohkem punkte?
Ei. Renderdussagedus ja simulatsiooni reeglid on eraldi. Server arvutab skoori salvestatud sisenditest sama deterministliku mootoriga.
Mis juhtub tagasilükatud tulemusega?
See ei lähe kinnitatud edetabelisse ega asenda paremat kehtivat tulemust. Tehniline põhjus salvestatakse diagnostikasse.
