PlayPendium
Bulwark · Aliment pentru gândire

Cum gândește un senior al războiului

Jucați singur și trei dintre cele patru castele sunt apărate de o mașină. Fiecare senior al războiului condus de calculator rulează aceeași buclă scurtă — găsește mingea de care merită să îți fie teamă, ghicește pe unde îți va trece zidul, glisează ca să o întâmpine —, iar distanța dintre un adversar de nimic și unul primejdios ține de patru numere.

Ușor · tremur de ochire 0,18 fracțiuni de șină de eroare
față de
Dificil · tremur de ochire 0,015 plasare aproape perfectă

Scris și editat în limba engleză. Această versiune în română a fost produsă prin traducere automată; acolo unde precizia contează, originalul în engleză este autoritatea. Citiți originalul în engleză →

01 · De ce anume să îți fie teamă

Nu orice minge este o amenințare

Prima sarcină a unui senior al războiului, de o sută douăzeci de ori pe secundă, este trierea. Cu până la două mingi libere în arenă, IA trebuie să hotărască pe care dintre ele o merită scutul ei. Ea punctează fiecare minge activă și neținută după distanța până la propriul rege, apoi scade un bonus fix de 250 de unități din orice minge care chiar se îndreaptă spre colț; o minge care se depărtează este tratată ca și cum ar fi cu 250 de unități mai departe decât este de fapt. 1 Punctajul cel mai mic câștigă atenția scutului.

Efectul este un apărător care nu intră în panică pentru o minge ce trece nevinovat pe alături, dar se fixează pe una care este deopotrivă mai aproape și venind încoace. Este un model grosolan a ceea ce face un om fără să se gândească: uită-te la lucrul care vine spre tine, lasă-l pe cel care pleacă. Toată judecata se reduce la un singur produs scalar între viteza mingii și direcția către rege: pozitiv înseamnă „ochește spre mine”, iar atât ajunge.

02 · Ghicitul locului unde va ajunge

Cum ia mingea înainte, pe șină

După ce a ales o amenințare, seniorul războiului trebuie să hotărască unde să stea pe șina lui diagonală. Nu dezleagă traiectoria întreagă a ricoșeurilor: nicio urmărire a reflexiilor, nicio prevestire a săriturilor din pereți. Ia poziția mingii, o împinge un pas scurt înainte, de-a lungul vitezei ei de acum (o anticipare de 0,12 secunde), și proiectează acel punct viitor drept pe șină, obținând o fracțiune-țintă între 0 și 1. 1

Este o predicție anume superficială și tocmai de aceea IA poate fi învinsă. Pentru că ia înainte doar o optime de secundă și nu prevede niciodată un ricoșeu, o minge care va sosi printr-o săritură din perete o păcălește: ea se leagă de direcția în care arată mingea acum. Un om care își trimite loviturile ricoșând din marginile arenei se folosește exact de acest unghi mort. Mașina răspunde prezentului cu un fir de prevedere; nu plănuiește.

Calculatorul nu calculează viitorul mingii. Se apleacă o optime de secundă înainte, își îndreaptă scutul spre locul unde ar fi mingea dacă nimic nu ar interveni și lasă tot ce intervine să fie prilejul dumneavoastră.

03 · Trei trepte, patru reglaje

Dificultatea este un tabel, nu o rescriere

Cele trei dificultăți împart un corp de cod identic. Ce se schimbă între ușor, mediu și dificil este un rând de patru numere de reglaj. 1 Tremurul adaugă o eroare aleatorie țintei scutului, așa că ochirea unui senior ușor rătăcește cu aproape o cincime din șina lui, în timp ce unul dificil este aproape exact. Distanța de reacție stabilește cât de aproape trebuie să vină o minge înainte ca seniorul războiului să se ostenească să o urmărească: unul ușor nu ia în seamă nimic aflat la mai mult de 420 de unități de regele său, puțin sub jumătate din lățimea tablei, iar unul dificil urmărește prin toată arena. Șansa de prindere este probabilitatea ca el să apuce o minge care se apropie de scut destul cât să poată fi prinsă. Iar ochirea spre rivali este un singur comutator, care hotărăște dacă seniorul războiului joacă vreodată la atac.

Tabelul de reglaje al IA, toată diferența dintre trepte
ReglajUșorMediuDificil
Tremur de ochire (fracțiuni de șină)0.180.070.015
Distanță de reacție (unități)4207002,000
Șansă de prindere0%25%55%
Ochește spre rivali?nunuda

Toate cele patru valori vin dintr-un singur tabel mic de reglaje din motorul jocului Bulwark, câte un rând pentru fiecare treaptă. Distanța de reacție pe dificil este scrisă ca de două ori lățimea arenei, iar arena este un pătrat de 1.000 de unități, așa că 2.000 de unități înseamnă „urmărire necontenită”. 1

04 · Când atacă mașina

Singurul comutator care face primejdios un senior dificil

Un senior al războiului ușor sau mediu nu prinde niciodată cu gândul de a lovi. Unul ușor nu prinde deloc, iar unul mediu doar din când în când, fără vreun plan pentru ce să facă cu mingea odată ce a ajuns la el. Trageți comutatorul de ochire spre rivali — lucru pe care îl face doar treapta dificilă — și IA încetează să mai fie pur reactivă. Când ține mingea, se uită peste toată tabla, alege rivalul cel mai rănit (cel cu cele mai puține cărămizi rămase) și ochește într-acolo. 1

Face asta fără nicio căutare de traseu. Încearcă unsprezece poziții candidate de-a lungul propriei șine și, pentru fiecare, reface calculul de eliberare al motorului ca să vadă în ce direcție ar zbura lovitura, apoi păstrează poziția al cărei vector de ieșire arată cel mai drept către victima aleasă. 1 Este forță brută peste un pumn de opțiuni, nu istețime, dar o face cu răbdare: după ce a ales un loc, seniorul războiului ține mingea până când scutul chiar a glisat acolo și îi dă drumul abia când a ajuns sau când a ținut-o destul de mult încât așteptarea să coste mai mult decât valorează lovitura. Intenția este fără doar și poate strategică, exact ce ar face un om care vânează o victimă ușoară. Alegerea țintei după „cele mai puține cărămizi” îndreaptă trei apărători de sine stătători spre cel care pierde deja.

05 · Același senior al războiului, de fiecare dată

Hazard pe care îl puteți reda

Fiecare lucru „aleatoriu” pe care îl face un senior al războiului — tremurul ochirii, aruncarea cu banul pentru a prinde sau nu — este scos dintr-un generator cu sămânță, o rutină compactă cunoscută drept mulberry32, care preschimbă un singur număr de pornire într-un șir lung și repetabil de valori pseudoaleatorii. 2 Dați-i aceeași sămânță și va scoate aceeași secvență la nesfârșit. Un meci în direct își ia sămânța din ceas, așa că nicio partidă nu începe la fel ca alta, dar înapoiați aceeași sămânță și meciul se desfășoară din nou întocmai: aceleași unghiuri de lansare, aceleași tremurături, aceleași prinderi.

Acest determinism nu este un amănunt de fațadă. El este cel care face jocul testabil — suita lui de teste joacă meciuri întregi calculator contra calculator pornind de la o sămânță fixă și așteaptă de fiecare dată același rezultat — și tot el este cel care îngăduie ca întreaga simulare, inclusiv cursorul generatorului, să fie împachetată în JSON și reclădită, astfel încât, online, gazda să își poată trimite starea, iar fiecare dintre ceilalți jucători să reclădească o tablă identică. Seniorii războiului par vii pentru că greșelile lor arată omenește; dedesubt, „instinctele” lor sunt o scurtă recurență aritmetică pe care oricine o poate derula înapoi până la început. Se vede că o mașină care păzește un castel nu are nevoie decât de câteva numere și de un flux de noroc reproductibil. 2

Sources & notes
  1. Bulwark game engine: the warlord AI. Threat scoring (distance from a ball to the king, minus a 250-unit bonus for inbound balls), the 0.12-second lead used to project the intercept point, the tuning table that holds jitter, react distance, catch chance and the aim-at-rivals switch for each tier, the “most wounded rival” target selection, and the eleven-sample search over release positions. Read from the game's own source.
  2. Bulwark game engine: the deterministic random generator, an implementation of mulberry32, the compact public-domain algorithm by Tommy Ettinger that maps a 32-bit seed to a repeatable stream. Its own comment notes that it seeds ball launches and AI jitter so that games are reproducible and testable, and it can save and restore its cursor so the state round-trips through JSON. Read from the game's own source.
    Algorithm origin: Tommy Ettinger, “Mulberry32 PRNG” (public domain).
Was this worth reading?
Play Bulwark
PlayPendium · About · Contact · Privacy · Terms · Cookies · Accessibility · Copyright · Browse all games · Classic arcade games · © 2026