5 martie 2026 · Mihail Vasiliev
Nexus Devlog: prototipul motorului
Acum o lună și jumătate am pus pe site planurile studioului - despre motorul Nexus: ce este și ce proiecte vom face pe el, până la strategii și continuări ale seriei egiptene. Tot acolo era și o foaie de parcurs. Motorul e complicat, iar ca să reduc riscurile voiam să-l construiesc treptat. Dar jucătorii au spus-o direct în comentarii: așa ceva e imposibil de făcut. Așa că am decis să încep cu un prototip - ca să arăt că un astfel de motor chiar se poate construi. Pe el o să-l arăt.

Iată cum arată motorul acum. La prima vedere e o aplicație de consolă destul de primitivă. Dar scoate bine în evidență ce e mai important - că mecanici diferite funcționează pe un singur motor universal.
Acum pe el rulează patru simulări. Prima e Stone Age, primul joc al studioului, din 2013. Celelalte trei sunt făcute după proiecte străine. Nu am de gând să le copiez sau să le lansez, sunt aici doar ca să arăt că pe un singur motor pot funcționa mecanici de joc complet diferite.
Stone Age
Stone Age e reprodusă pe motor în întregime. Aceleași caracteristici, ani și ture, populație, ținuturi. Trimiți muncitorii în pădure, ei adună mâncare, populația crește, apar tehnologii - le cercetezi, deblochezi construcții și arborele de evoluție, de la Australopithecus la Homo habilis și mai departe. Evenimentele, finalul - tot ce era în original e la locul lui.

Slay the Spire
Mai departe - Slay the Spire, un roguelike cu cărți excelent, sigur l-a jucat cineva. Pe motor e doar lupta: jucătorul are cărți, energie și viață, inamicul are intenția lui. Strike (Lovitură) lovește, Defend (Apărare) pune bloc. Cheltuiești energie, închei tura, și tot așa pe rând, până când câștigă cineva.

GURPS
A treia simulare e GURPS, un sistem de joc pe masă, destul de complicat. Din el am luat un singur modul, generatorul de sisteme stelare. Curios e că modulul ăsta în sine nu e deloc un joc, ci un generator complex. A construit un sistem cu o stea și o grămadă de proprietăți: zece orbite, pe ele lumi diferite. Prima, mică și stâncoasă, seamănă cu Mercur - cu masa ei, presiunea atmosferei și restul. În total, în simularea asta sunt peste șase mii de fapte. E un test de stres bun: se vede câte date duce motorul.

Oregon Trail
A patra - Oregon Trail, un clasic din 1971 și unul dintre cele mai vechi jocuri pe calculator. E drumul coloniștilor prin America cu căruțele: înainte de plecare cumperi provizii - boi, mâncare, muniție, haine - iar mai departe vânezi, împarți rația și te descurci cu evenimentele. Iată, tocmai am fost atacați. Și tot așa până la capătul traseului.

Toate cele patru jocuri funcționează pe un singur motor, iar pentru niciunul nu a fost nevoie să scriu cod.
Modificare din mers
Dar motorul nu doar pornește aceste jocuri - le poți schimba chiar din mers, fără să atingi codul. Să luăm Slay the Spire.

O să schimb daunele cărții Strike (Lovitură), pun 100:
/set Strike.CalcDamage Value 100Proprietatea s-a schimbat dintr-odată la ambele cărți de felul ăsta, pentru că au aceeași clasă.

Și pot adăuga și o carte complet nouă, Fireball (Bilă de foc):
/add Fireball Is DirectDamage
/set Fireball.CostEnergy Value 2
/add Fireball Has CalcDamage
/set Fireball.CalcDamage Value 20
/add Fireball Has ApplyDamage
/add Fireball.ExecutionEffects Has CostEnergy
/add Fireball.ExecutionEffects Has CalcDamage
/add Fireball.ExecutionEffects Has ApplyDamageNu exista, iar acum e în joc - stă în mână, se joacă, face 20 de daune și pleacă în teancul de aruncare, ca oricare alta:

Poți schimba și regulile în sine, printr-o singură comandă. O să scot regula după care cărțile jucate pleacă în teancul de aruncare.
/remove PlayCard Has MovePlayedCardAcum rămân în mână. Am jucat Defend (Apărare): blocul s-a pus, energia s-a cheltuit, dar cartea a rămas.
![După schimbarea regulii: Defend (Apărare) a fost jucat - energie 0/3, bloc 5 - dar toate cărțile jucate au rămas în mână, marcate [X]](/_next/image?url=%2Fvblog1_slayrule.jpg&w=3840&q=75)
Într-un joc obișnuit, scris într-un limbaj de programare, pentru asta ar trebui să intri în cod și să reconstruiești proiectul. Aici nu e nevoie.
La fel se adaugă în joc și ceea ce nu exista deloc în el până atunci. De exemplu aurul - îl introduc și descriu cum se cheltuie:
/set Player.Gold Value 100
/add CostGold Output Owner.Gold
/add CostGold Math.Subtract.Apply trueApare o caracteristică ce nu exista cu o clipă în urmă - aurul, și dintr-odată o sută întreagă.

Pe aurul ăsta se poate face și o acțiune nouă - Bribe (Mită). Ea nu cheltuie energie, ci aur:
/add Bribe Is DirectDamage
/set Bribe.CostEnergy Value 0
/set Bribe.CostGold Value 30
/add Bribe Has CalcDamage
/set Bribe.CalcDamage Value 15
/add Bribe Has ApplyDamage
/add Bribe Has CostGold
/add Bribe.ExecutionEffects Has CostGold
/add Bribe.ExecutionEffects Has CalcDamage
/add Bribe.ExecutionEffects Has ApplyDamage
/create Bribe Player.HandBribe (Mită) costă treizeci de aur și face cincisprezece daune - și funcționează imediat.

Ar putea părea că astea sunt cheaturi și că e incomod să tastezi asemenea comenzi. Dar nu sunt cheaturi. E modificarea faptelor logice și a datelor pe care se ține tot jocul - obiectele, proprietățile și mecanicile lui. În fond, e limbajul în care e scris jocul.
Nu e obligatoriu să înveți limbajul ăsta. Poți să-i ceri IA-ului să transforme o frază obișnuită în comenzi pe care le înțelege Nexus. De exemplu:
give 999 goldÎn traducere asta înseamnă pur și simplu „Adaugă 999 de aur”.

IA se gândește, găsește comanda potrivită și o execută, iar noi avem 999 de aur.
Poți spune și altfel, „aur 100” - merge și așa. „Fă-mă zeu” - IA îți dă invulnerabilitate. Să închei tura, să lovești, să te vindeci - toate astea se pot face prin cuvinte, motorul înțelege. Și nimic din toate astea nu e scriptat, totul funcționează cu adevărat.
Planuri
Vreau să simplific comenzile. Acum, ca să creezi același Fireball (Bilă de foc), e nevoie de vreo opt comenzi, iar mă gândesc să le reduc la trei-patru. Iar în următorul clip o să încerc să arăt ceva mai vizual - un 2D render.
Mai multe despre motor și despre planuri - în secțiunea Nexus.
Precizare: Stone Age e jocul studioului. Slay the Spire, GURPS și Oregon Trail aparțin deținătorilor lor de drepturi și sunt arătate doar ca demonstrație a motorului - aceste build-uri nu se distribuie nicăieri.
