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 tehnilist võistluskirjeldust, 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, vahepunktide salvestamiseks 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.
Pettuste tõkestamine ja vigade eristamine
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.
Abivahendid 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.
Mida sama algväärtus tagab ja mida mitte
Algväärtus määrab, kust mängu korratav juhuarvude jada algab. Tähtsad on ka mootori versioon ja reeglid: sama number ei muuda Classicu katset võrdseks väljakutsega, kus on algsed lisaread või keelatud kiirlangetus. AREN8 salvestab võistluse algtingimused, et server saaks sisendeid õigetes tingimustes uuesti läbi mängida. Võistlejad alustavad ühisest lähteolukorrast, kuid nende otsused loovad erinevad mängulauad.
Näiteks võivad kaks Plokisaju mängijat saada sama kujundijada, kuid üks katab augu kinni ja teine jätab selle ligipääsetavaks. Nende hilisem seis ja skoor peavadki erinema. Värvisajus võivad erinevad vahetused kasutada täiteklotse erinevas järjekorras ja tekitada erinevaid kaskaade. Determinism ei tähenda, et eri tegevuste järel on kõigil sama laud. See tähendab, et sama toetatud mootor, algtingimused ja salvestatud sisendid annavad sama tulemuse. Kontroll ei tõesta ka seda, kes telefoni käes hoidis: konto osalemisõigus ja keelatud automatiseerimine on eraldi ausa mängu küsimused.
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.

