Folytatódik a CitizenCon 2949 előadásait feldolgozó cikksorozatunk, hogy a lehető legteljesebb beszámolót adjuk az idei év legnagyobb Star Citizennel kapcsolatos eseményéről.

Ebben a cikkben a Tony Zurovec által tartott Building A Universe panelt tekintjük meg.

A Star Citizen célja, hogy változatos, részletesen kidolgozott csillagrendszereket készítsen a játékosoknak, ahol a benne lakók logikus gondolkodás alapján cselekednek és a saját érdeküket tartják szem előtt.

Eddig egyetlen rendszerre, a Stanton rendszerre koncentráltak, amelyben 4 bolygó, 12 hold, 225 gazdasági csomópont, 44 kereskedelmi központ, 13 teherűrállomás és 15 aszteroidamező található, ami már most is elég sok dolog. Ez a prezentáció azokat a lépéseket fogja megmutatni, amelyek ahhoz kellenek, hogy a jövőben egy új rendszert sokkal gyorsabban, kevesebb erőfeszítéssel, élvezetesebb eredményt kínálva készíthessenek el. Ez sok különböző területet érint majd, például a felszín procedurális generálását, moduláris eszközkészleteket, az épületek és belső részek algoritmikus elrendezését és sok egyéb dolgot. Amiről most szó lesz, az a dinamikus tartalom.

A dinamikus tartalom

Kezdjük azzal, hogy mi is az a dinamikus tartalom: ez az, ami a játékosok és NPC-k cselekményeire logikus lépéssel reagál, rendszerszinten. Ez azt jelenti, hogy az univerzum folyamatosan mozgásban van, így például a küldetések is dinamikusan változnak, csak akkor vannak jelen, amikor tényleg szükség van azok végrehajtására. Ez jelenthet például egy gyárat, amelynek szüksége van alumíniumra, hogy értékesíthető termékeket gyártson, egy bűnözőt, akire a törvény öklének le kell sújtania, vagy valakit, akinek egyik helyről el kell jutnia egy másikra.

A gazdasági csomópontoknak, például a finomítóknak, gyáraknak és a kész termékeket árusító boltoknak dinamikusnak kell lenniük, mivel folyamatosan reagálniuk kell a különböző piaci helyzetekre és az áraikat ennek megfelelően kell beállítaniuk.

Ha valamilyen termékből nagyobb a kereslet, mint a készlet, legyen az vasérc, lőszer, vagy akár  szolgáltatás, mint a hajójavítás, akkor számíthatunk rá, hogy az árak növekedni fognak, kisebb kereslet esetén pedig arra, hogy csökkennek majd. Persze más tényezők is befolyásolják ezt, de végül is az egyensúly állandó keresése lesz jellemző a termelési és fogyasztási szintek változásai alapján.

A valószínűségi értékekről bővebben is lehetne beszélni, de most elengedő annyit tudni róluk, hogy ezek határozzák meg, hogy mivel találkozunk egy adott területen átutazva. Természetesen ezeknek is dinamikusnak kell lenni, például ha felfedeznek egy új aszteroidamezőt, ahol sok értékes alapanyag található, akkor ott sok NPC bányászra számíthatunk, de a készletek csökkenésével az NPC-k száma is csökkenni kezd. A kalózoknak kell megjelenni azokon a helyeken, ahol nagyobb értékű áruk mozognak, és ritkulniuk kell, ha a biztonsági erők ott járőröznek.

A jelenlegi problémák

Most nézzük részletesebben ezeknek a területeknek a jelenlegi helyzetét és problémáit, amiből ki fog derülni, hogy miért tart eddig egyetlen csillagrendszer fejlesztése és az is világossá fog válni, hogy minek kell történnie, hogy ez a folyamat felgyorsuljon.

Küldetések

A Star Citizenben a küldetés alapvetően egy tároló kóddal és adatokkal. A bemeneti adatokat a környezet és a kézzel megadott értékek határozhatják meg. Ezzel a fejlesztőknek lehetőségük van meghatározni például a szállítmány mennyiségét, vagy típusát, olyan körülményeket, hogy a hajó sérült-e, vagy sem, merre tart. Ezek szükségesek egy általános szállítási forgatókönyvhöz, de ezeket az alapokat rengeteg különböző szituációhoz fel lehet használni.

A küldetéseknek lehetnek tartalom címkéi az összetételüknek megfelelően, lehetnek biztonsági, kalóz, szállító, bányász, vagy valamilyen kombinációjú küldetések. Lehetnek a tartalomra vonatkozó címkéi is, amelyek a megjelenő tartalmat nem befolyásolják, azonban a játékos által látott történethez részleteket adnak. A fejlesztők különbséget tudnak tenni egy egyszerű kalóztámadás és egy rajtaütéssel kezdődő kalóztámadás között.

Ha ezek az összetevők összeálltak, akkor a küldetés bekerül egy adatbázisba, amelyhez más rendszerek hozzáférnek, így a küldetések a helyzettől függően azonnal megvalósíthatók és a helyzethez alakíthatóak lesznek.

Azonban itt kezdődnek a komolyabb problémák. A fejlesztőknek kifejezetten hozzá kell kötniük a küldetéseket a különböző, játékon belüli pontokhoz, például egy küldetésadóhoz, vagy egy terület valószínűségi értékeihez. Ez időigényes és nagyon bonyolulttá is teszi a karbantartást. Ha például egy kalóz-címkéhez alcímkék kerülnek, például nehéz és könnyű kalóz alcímkék, akkor az összes korábbi kalóz-címkén végig kell menni és beállítani, hogy mit engedélyez az új rendszer. És ami rosszabb, hogy a küldetések egyáltalán nem dinamikusak. A küldetések az adott NPCkhez, vagy helyszínekhez kötöttek, így az univerzum statikus lesz.

Egy másik komoly probléma, hogy nincs elegendő kontextus, hogy megfelelően testreszabják a küldetést. Makroszinten a játék nem érti az útvonalak lényegét, még kevésbé, hogy az útvonalat használó bányásznak mit kellene szállítania, milyen állapotban kellene lennie, vagy milyen irányba kellene mennie egy bányához, ha nincs rakománya, és azt, hogy ha megtöltötte a rakterét, akkor a rakományt el kellene vinnie a finomítóba. Ennek röviden annyi a lényege, hogy nem lehet elérni azt a változatosságot, amit szükségesnek tartanak, azonban rengeteg munka van vele.

A végső probléma, ami ráadásul elég komoly probléma, hogy a küldetések tartalmánál nincs NPC jelenlét. A küldetések az alapegységei a munkának a gazdaságban és ha valaki nem csinálja meg, amire szükség van, akkor minden le fog állni. Egy megfelelően működő rendszerben az NPCknek be kell tudniuk lépni a folyamatba. Ha a játékosok nem csinálják meg és a jutalom megéri a kockázatot, akkor az NPCk fognak nekilátni. Ha egy terméket nagy haszonnal el lehet adni egy másik helyszínen és a szállítás nem jár túlzott kockázattal, akkor az NPCk meg fogják látni a lehetőséget és szállítani fognak, ameddig az árak ésszerűek lesznek.

Gazdasági csomópontok

A gazdasági csomópont egy olyan elem a játékban, amelynek valós megjelenése van, lehet ez egy kioszk, egy UI felület, vagy egy NPC, ami rendelkezik tárgynyilvántartással, ami részletezi, hogy milyen tárgyakat árul, vagy vásárol, van tárolási kapacitása és megfelelő adatok állnak a rendelkezésére, hogy meg is határozza az árakat. Ide tartoznak a finomítók, amelyek feldolgozzák az érceket, vagy a gyárak, amelyek árukat termelnek, és a boltok, ahol megvásárolhatjuk a termékeket.

Nem a gyárak szükséglete van meghatározva, hanem az számít, hogy amit gyártanak, ahhoz milyen alapanyagok szükségesek. Az árakat, amelyekért a  gazdasági csomópontok felvásárolják a termékeket, vagy eladják azokat, algoritmus segítségével határozzák meg. Ez függ a kereslettől és a kínálattól. Itt egyértelműen felfedezhető a dinamizmus. Sajnos a jó hírek itt értek véget.

Ahogy a küldetéseknél, úgy jelenleg a gazdasági csomópontoknál sem ismeri fel a rendszer az összefüggést a kereslet és kínálat között, nem látja át a termékek útvonalát, hogy miért van szüksége a finomítónak ércre, miért akar egy NPC gyógyszereket venni, vagy hol értékesíti az üzlet az árukat. Jelenleg mindegyik kérdésre ugyanaz a válasz: meghamisítják ezeket. A gazdasági csomópontok most megidézik a saját szükségletüket a semmiből. Ha egy csomópont fel akar vásárolni egy termékből egy adott mennyiséget, akkor a fejlesztők beiktatnak egy formulát, ami a felhalmozott készleteket időről időre eltünteti, így a csomópont újból vásárolni fog abból a termékből. Így azok a termékek, amelyeket a játékosok elszállítanak valahova, ténylegesen nem mennek tovább sehova. Nincs valós kereslet. Ezt most nem is lehet kiegyensúlyozni, mivel a gyártás és a felhasználás kötött, de a játékosszám nem. Néha száz játékos használ egy gazdasági csomópontot, néha pedig senki. Ehhez tudni kell, hogy bár a játékosok külön szerveren vannak, ebből a szempontból valójában egy közös rendszerhez csatlakozik minden szerver.

A valós gazdaság az egymástól függő dolgok kusza hálója és egy olyan rendszertől nem várhatunk logikus eredményeket, amelynek a fogaskerekei a játékosok, akik vagy csinálnak valamit, vagy nem. Amire tényleg szükség van, az az NPCk bevonása a rendszerbe. Olyan NPCk, akik megvásárolják a termékeket, ha szükségük van rá, így a keresleti oldal felépítése logikailag helyessé válhat és emellett segítenek az alapanyagok szállításában a nyereségért cserébe.

Ez hatással lesz a többi területre is, mivel ha nagyobb az aktivitás, több a harc, akkor a fegyverek ára növekszik, ami a fegyverek gyártásához szükséges alapanyagok árát is megemeli, így többen fognak bányászni ezekhez szükséges érceket. Ez megnövekedett kalózkodáshoz vezet, ami viszont magával hozza a biztonsági erők aktivitásának emelkedését is. Így egy egyszerű növekedés a keresletben megnövelheti a terület aktivitását és a küldetések számát is.

És ezek a hatások attól függetlenül jönnek létre, hogy van-e egyáltalán az adott területen játékos.

Nézzük röviden, hogy mi szükséges egy gazdasági csomópont felállításához, amelyből 225 darab van a Stanton rendszerben és ezek különböző árukkal dolgoznak. Minden csomópont rendelkezik a termék előállításához szükséges alapanyag szükséglettel és sok más információval, például tárolási hellyel, az optimális termékkészlettel, árkompenzációkkal, stb. Ezek az információk lehetnek egységesek, de sokkal izgalmasabb a világ, ha vannak eltérések.

Gazdasági csomópontok a Stanton rendszerben

A képen láthatjuk ezeket a csomópontokat, amelyek adatainak karbantartása nagyon nagy feladat egy-egy árucikk hozzáadása, vagy árváltozása esetén és ami még nagyon nagy probléma, hogy a rendszer nagyon merev, nincs lehetőség arra, hogy egy csomópont többet termeljen egy adott termékből, mivel nincs rálátása a rendszernek az egészre. Most a fejlesztők kézzel iktatják be a változásokat és próbálják elérni azt a látszatot, hogy ez egy rendszerszintű folyamat, pedig nem az.

Ha egy területen sok a kalóz, akkor az ottani csomópontok árait megemelik, de ha a biztonságiak hatására csökken a kalóztevékenység, akkor az árakat csökkentik. Ez rengeteg munka és nem lehet a végső megoldása a problémának.

Valószínűségi érték

A valószínűségi érték az a szám, ami az űr egy területéről információkat tartalmaz, hogy mikkel találkozhat az, aki keresztülhalad ott. Ezt úgy kell megoldani, hogy ne kelljen hatalmas számítási feladatokat végeznie akkor, ha nem tartózkodik játékos a közelben.

Ennek az értéknek köszönhető, hogy Port Olisar környékén, ahol általában több a biztonsági erő, nem nagyon találkozunk kalózzal, azonban eltávolodva tőle már jóval nagyobb erre az esély. Ennek hatására felmerülhetnek olyan küldetések, amelyek csak a játékos közelsége esetén aktiválódnak, egy NPC kérheti, hogy a játékos odarepüljön hozzá. Jelenleg így működnek a harci támogató küldetések (combat assist), a későbbiekben pedig ilyen lesz az NPCk részére történő üzemanyagszállítás, vagy az NPC szállítása. Vannak olyan küldetéstípusok, amelyek valószínűsége egyéb értékektől függ, például a fejvadászok nagyobb eséllyel támadnak meg valakit, ha magasabb a körözési szintje.

A példában vettek egy részt az űrben, ahol van esély arra, hogy felbukkannak kalózok, szállítóhajók, biztonságiak, aszteroidák és elhagyott hajók. Ha ezek mindig jelen lennének, akkor rengeteg tartalmat kellene szimulálni akkor is, amikor senki sem látja azokat. Rengeteg útvonalkeresés, NPC animációk, járművek ütközésének figyelése, stb. Ezt úgy oldják meg, hogy a fenti elemek továbbra is léteznek az adott területen, de csak valószínűségi állapotban. Amikor a játékos áthalad ezen a zónán, akkor a rendszer kiszámolja, hogy találkozik-e a fenti elemek közül valamelyikkel, majd ha igen, akkor annak megfelelően aktiválódnak a lehetséges küldetések. A lényeg itt, hogy ameddig a játékos ténylegesen nem találkozik valamelyik elemmel, addig azok csak elméletben léteznek az adott helyen.

Ennek a rendszernek van egy furcsa szokása. A valószínűség miatt van arra esély, hogy egy út során több véletlenszerű eseménnyel is találkozhatunk, ami nem is lenne gond, azt leszámítva, hogy az űr méreteit tekintve a valóságban nem kellene arra számítanunk még a sűrűn lakott területeken sem, hogy az utunkat több rendkívüli esemény is megszakítja. Ez a gyakorlatban úgy néz ki, hogy a játékos halad az űrben, majd találkozik egy szállítóhajóval, ilyenkor a rendszer kikeresi a szállítóhajóval kapcsolatos küldetéseket és aktivál egyet. Majd a játékos halad tovább és beleütközik a kalózokba, amikor a rendszer egy kalózokhoz kapcsolódó küldetést aktivál. Ilyenkor bár véletlenszerűen aktiválódott mindkét esemény, van rá esély, hogy a kalózok megtámadják a szállítóhajót is. Ezzel az a probléma, hogy hosszútávon a játék kiszámíthatóvá válik.

Azt szeretnék elérni, hogy a fejlesztők több véletlenszerű tartalmat tudjanak készíteni és legyen egy mechanizmus ami ezt a tartalmat be tudja indítani, hogy így az egész logikusabbnak tűnjön. Ahelyett, hogy engednék az algoritmusoknak, hogy teljesen irányítsák azt, amit a játékos lát, elhalasztják az esemény aktiválását egy rövid idővel és egyéb cselekmények valószínűségéhez igazítják, így nagyobb valószínűséggel kombinálódnak az események, mint amúgy történnének. A példa szerint a játékos találkozik a szállítóhajóval, majd belefut a kalózokba. Ebben az esetben például ezért lényeges kérdés ez, mert a kalóznak időbe telik, ameddig közel kerül a szállítóhajóhoz, kiiktatja azt, majd átszáll rá. Ebből az következik, hogy a játékos nem fog olyan szituációval találkozni, amikor a szállítóhajó már alapból ki van iktatva, vagy a kalózok rohangálnak a fedélzetén, a játékosnak meg igyekeznie kell, hogy megmentse a legénységet, pedig ez egy izgalmas forgatókönyv lenne. A céljuk, hogy izgalmasabb szituációkat készítsenek úgy, hogy azok ne tűnjenek túl légből kapottnak.

A probléma a valószínűségi értékekkel már a felépítésüknél kezdődik. Mindegyik kézzel beállított adatokat és körülményeket tartalmaz, aminek a beállítása időigényes és folyamatos frissítést igényel, ha a körülötte lévő dolgok változnak. Az egyik, ami miatt nagyon nehéz ezeket karbantartani, az az, hogy ezek az értékek egymásra is hatással vannak. Több biztonsági egysége egy területen hatással van a kalózok számára, de mivel mindegyiket külön állítják be, ezért a fejlesztőknek nagyon kell figyelni. Hibák márpedig előfordulnak és ezekben az esetekben rá kell jönni, hogy hol történt hiba és azt hogyan lehet orvosolni. A legrosszabb pedig az, hogy ez statikus, ha egy területen sok a kalóz, akkor ott mindig is sok lesz a kalóz, se a játékos, se az NPC népesség nem tud ezen változtatni. A haszon egy területen nem változik a fenyegetettség hatására, mivel a fenyegetettség folyamatosan ugyanakkora marad. Egy új lelőhely nem vonzza be a bányászokat és a kalózok sem fognak ott megjelenni, hogy a bányászokat fosztogassák.

Tehát szükség van egy olyan módra, amelyben a valószínűségi görbék dinamikusan változnak a területen történt dolgok hatására, vagy azok hatására, amelyeknek történnie kellene.

Az előadás első felében tehát felsoroltak egy nagy adag komoly problémát, amelynek a fenntartása komoly erőforrásokat igényel és mégsem képes azt az élményt nyújtani, amit el szeretnének érni. Amire szükség van, az egy dinamikus, logikus univerzum, amelyben a termékek iránti keresletet a tényleges gazdasági szükséglet határozza meg, valamint a háttérben történő dolgok megfelelő megértése, amelyek alapján be lehet állítani ezeket a moduláris küldetés mintákat. Szükség van arra, hogy az NPCk kivegyék a részüket a gazdaság működtetésében, a termékek vásárlásától és eladásától kezdve a küldetések készítéséig és végrehajtásáig. A rendszernek automatikusan ki kell egyensúlyoznia magát, hogy a fejlesztők a magasabb szintű szabályokra figyelhessenek a részletek és a ténylegesen kreált tartalom helyett. Mindezt úgy kell elérni, hogy hatékony legyen az erőforrás felhasználás, tehát szükséges egy jobb szimulációs motor, ami csak azzal foglalkozik, hogy mi kell ahhoz, hogy a kívánt hatást elérjék.

Ha be akarják hozni a közeljövőben a többi csillagrendszert, akkor szükségük van egy nagy ugrásra.

A megoldás: A Quantum

A kvantum elsőre úgy néz ki, mint amit korábban már láttunk. A képi megjelenés ismerős lehet, mert azt a csillagrendszer térképet használják, amit évekkel ezelőtt készítettek, de ez egy teljesen más felület.

A Quantum

Az eredeti StarMap állandó adatokból dolgozott, semmilyen dinamikus része nem volt, de a Quantum teljesen más. Kezdésként hozzáfér minden backend szerverhez és azokon belül bármilyen adathoz, amire szüksége van. Minden, ami a képernyőn látszik, az valós idejű adat, ami a játékból érkezik.

Az aktív játékosok követése

A programban be lehet kapcsolni a játékban lévő játékosok követését, ami a térképen valós időben jelenik meg. Mindegyik piros pont egy játékost jelöl, több ezret a több mint száz szerveren. Tony elmondta, hogy a műsor alatt valójában nem valós idejű volt a követés, mivel nem tudták, hogy a CitizenCon alatt lesz-e fent elég játékos, hogy a bemutató látványos legyen.

A képernyő jobb oldalán látható az aktuális játékoslista. A térképen látható, ha valaki meghal, valamint a felajánlott küldetések, contractok is.

Objektumcímkék, valószínűségi értékek

A program képes kezelni a valószínűségi értékeket is a különböző címkék mentén, a fenti képen Ariel hold segítségével mutatták be, hogy ez hogyan néz ki.

Kereskedelmi csomópontok követése

A rendszer a kereskedelmi csomópontokat is monitorozza, a példában a Hickes Research Station forgalmát és az árak változásait mutatták be.

Tony elmondta, hogy ez biztosan jól néz ki, de egyelőre még nem látszik, hogy hogyan oldhatná meg a cikk első felében felvázolt problémákat, ezért friss térképet kezdtek, hogy rátérjenek a prezentáció lényegére.

A fő oka, hogy a Quantum létezik, az az, hogy létrehozhassanak egyetlen, egységes világot, amelyben NPCk milliót tudják szimulálni és reagálhassanak a játékosok cselekményeire.

1.000 quanta érkezik a Stanton rendszerbe a Terra rendszerből

A szimuláció kezdetén egy teljesen üres Stanton rendszerrel kezdtek, ahova kezdésként behívtak 1.000 quantát. Az eredeti szövegben a quanta a többeszzám, a quantum az egyes szám, de magyarul ez nem hangzik jól, így maradunk a helytelen módnál. A quanták szimulált egyének. A tényleges jelentősége ennek, amivel jelentős számítási kapacitásokat spórolhatnak meg és ezzel elérhetővé teszik azt, hogy valóban dinamikus univerzumot kapjanak, az az, hogy ezeknek az NPCknek nem kellenek valós animációk, nem kell ütközési értékeket számolni, stb. A quantáknak lesznek tulajdonságaik, amiknek a végleges verziója még kidolgozás alatt van, de az egyik ilyen az ambíció, ami azt határozza meg, hogy a quanta mennyit tesz a sikerért a többiekhez képest, akár törvényes, akár törvénytelen úton. De jelen van az intelligencia, ami azt határozza meg, hogy milyen feladatba fog és azt milyen sikerrel hajtja végre, a boldogság, ami alacsony szinten arra ösztönzi a quantát, hogy lakhelyet, vagy munkát váltson, agresszió, például egy agresszív, üzleti szemléletű quanta jobban fogja hajtani a beosztottjait, így azok boldogságfaktora csökkenni fog és felmondanak és végül a bűnözési hajlam, aminek a szintjei különböző szintű bűncselekmények elkövetését teszik elfogadhatóvá a quanta számára.

A quantáknak lehetnek értékeik, felhalmozhatnak pénzt, birtokolhatnak hajó és ingatlant és lehet otthonuk. A futtatott szimulációban közben látszik, hogy a behívott 1.000 quanta csak pihen a rendszerben, aminek az az oka, hogy jelenleg nincs mit csinálniuk, nincs okuk felkelni a fotelből.

A delamari alumíniumbánya

Hogy ez ne maradjon így, elhelyeznek egy alumínium bányát Delamaron, aminek az az eredménye, hogy még mindig nem történik semmi, mivel nincs semmilyen gazdasági érdek az ércek kibányászására. A bánya kártyáján láthatóak részletek, például a rendelkezésre álló alumíniummennyiség, az érc tisztasága, ami a kitermelés körülményeit határozza meg. A további opciókkal a szimulációban most nem foglalkoznak.

Következő lépésként telepítettek egy alumínium finomító telepet Crusader bolygóra, aminek hatására a quanták azonnal életre keltek, mivel felismerték, hogy a finomító fel akar halmozni egy készletnyi finomított alumíniumot, amihez ércre van szüksége, amiért természetesen fizetne. A quanták ezt látva útra keltek Delamarra, hogy kitermeljék az érceket és elszállítsák Crusaderre. Ezt egészen addig csinálják, ameddig a finomító felhalmozza a szükséges készleteket. Az is megfigyelhető, hogy a quanták egy része bányászként dolgozik, egy másik része pedig a finomítóban vállal állást, mivel a finomító munkások nélkül nem képes elvégezni a munkát. Azt, hogy hány munkásra van szükség, egy formula határozza meg, a gyár pedig ennek megfelelően alkalmaz munkásokat.

A quanták alumíniumot szállítanak Delamarról Crusaderre

A kívánt alumíniumkészlet felhalmozása után azonban ismét leáll a gazdaság. Az egyetlen finomító, ami a rendszerben van, nem kíván több ércet vásárolni, a raktárai tele vannak, és mivel nem kívánnak többet vásárolni, így a quanták megint nem tudnak mit csinálni.

A következő lépésként egy gyárat telepítettek Hurstonra, de előtte a hajó erőművek terveit nézték meg. Ahogy a finomításnál, úgy itt is szükség van alapanyagra, munkaórára és munkásra. A beállított formula szerint 10 munkás 60 egységnyi idő alatt 2 egységnyi alumíniumból készít el egy hajó erőművet. Természetesen ez sokkal bonyolultabb lesz a játékban.

Felélénkült gazdaság a gyár hatására

A gyár telepítésének hatására megint beindult az élet, ami már különböző szinten folyik. A gyárnak, ahogy a finomítónak is, szüksége van munkásokra, valamint a gyártáshoz kell alumínium is. A quanták egy része ezért a hurstoni gyárban dolgozik, egy másik részük a crusaderi finomítóban, egy harmadik csoport a finomított alumíniumot szállítja Crusader és Hurston között, végül a negyedik csoport Delamaron bányássza a további érceket. Azonban még ez is zsákutca, mivel a gyár raktárai is megtelnek, ezért leáll, így nem lesz szüksége további finomított alumíniumra, ami miatt a finomítóban is leáll a munka, végül az ércet sem veszi meg senki.

Hogy a helyzetet megoldják, ArcCorpon létesítettek egy boltot, ami hajó erőművet árulja, ez pedig ismét beindította az életet, ami így tovább bonyolódott, mivel a kész erőműveket át kell szállítani az ArcCorpon lévő boltba, ami aztán azt haszonnal tovább értékesíti. A szimuláció egy kis csalással most már a végtelenségig tudna futni, ez a kis csalás, hogy jelenleg a bolt egyszerűen elégeti a készleteit, így folyamatosan szüksége lesz a termékekre.

A következő lépés az lesz, hogy ezt a kis csalást kiküszöböljék, hogy a quantáknak szüksége lesz hajókra, a hajóknak erőművekre, így kialakul egy valós kereslet a hajó erőművekre és kialakul az egyensúly is, hogy hány hajóra, hány erőműre lesz szükség.

A létrehozott szimuláció egyelőre nagyon egyszerű, minden szinten egyetlen egység található, egy bánya, egy finomító, egy gyár és egy bolt áll rendelkezésre. A valóság természeten ennél bonyolultabb lesz, több egységgel kell számolni és korlátozott termékelérhetőséggel, valamint szolgáltatással. Így kialakulhat egy verseny, ami beindítja a gazdaságban a természetes kiválasztódást és ezzel megteremti az egyensúlyt és elérhetővé válik a logikai egyensúly.

A jelenlegi felépítés szerint játékosok csatlakoznak a játékszerverhez, a háttérben pedig szolgáltatások futnak, amelyek információkat szolgáltatnak a szervereknek, így például bolti szolgáltatások, valószínűségi érték szolgáltatások, stb. A probléma a jelenlegi felállással, hogy a szolgáltatások nem tudják, hogy mit csinálnak, vagy mit kéne csinálniuk az NPCknek. A bolti szolgáltatás, ami irányítja az árakat az algoritmus alapján, de nem látja, hogy mi folyik, hogy van-e esetleg 10.000 NPC, aminek szüksége lenne egy termékre. Egyelőre még nincs ilyen szintű részletezés. A jelenlegi számolások a játékosok és az előre betáplált formulák alapján készülnek. Az adatok pedig állandóak.

A Quantum hozzáadásával ez drámaian meg fog változni. Egy olyan felületet kapnak, ami megfelelően szimulálja az NPCk viselkedését, majd ezeket az információkat átadja a szervereknek, amit így a játékosok is megtapasztalhatnak. Ráadásul a játékosok cselekedeti is hatni fognak visszafelé, így nem lesz lényeges különbség a valós és a szimulált világ között.

A kis kitérő után visszatértek a szimulációhoz és egyből megbonyolították a helyzetet azzal, hogy a hajó erőmű gyártásához szükségessé tették a laranite felhasználását is. Ahhoz, hogy ez működhessen, egy laranite bányára is szükség volt, amit Walán helyeztek el, Hurston R&R L3 állomás pedig kapott egy laranite finomítót, majd átállították az erőmű terveit úgy, hogy szükségessé vált 2 egység laranite is.

Amit ennek hatására láthattunk, hogy laranite szállítmányok rövid időn belül elkezdettek beérkezni a hurstoni gyárba.

Laranite szállítmányok lepik el a rendszert

A rendszerben megfigyelhető volt, hogy abban az időszakban, amikor a formulát megváltoztatták és a hajó erőmű gyárban még nem állt rendelkezésre laranite, az alumínium felhalmozódott, mivel az úton levő szállítmányok mind beérkeztek, azonban azt nem tudták felhasználni. A laranite szállítmányok beérkezését követően aztán az alumíniumkészlet is fogyni kezdett. A rendszer ilyen szinten szimulálja a gazdasági és termelési helyzetet.

A helyzetet tovább fokozták, egy laranite bányát adtak az aszteroidaövbe, valamint számos alumíniumbányát a rendszer holdjaihoz, valamint alumínium finomítókat is elhelyeztek. Mindezeket követően visszatértek a hurstoni gyárhoz és megnézték az alumíniumért fizetett árat, amin az látszott, hogy az új bányák és nagyobb kínálat hatására csökkenni kezdett.

A Cellinen lévő bányán keresztül bemutatták azt is, hogy a bányák különböző értékét is figyelembe veszik a quanták, a cellini bánya kitermelését a kezdetben különösen nehézre állították, így bár közvetlenül mellette, a Crusaderen volt egy alumínium finomító, csak elvétve érkezett oda quanta, hogy onnan bányásszon. A szimulációban a bányászás nehézségének értéket jócskán könnyítették, amelynek hatására több quanta választotta azt a bányát. Ez annak köszönhető, hogy a quanták kiszámolják, hogy mekkora jutalom várható a befektetett munkáért cserébe és azt választják, ahol ez az arány nekik kedvez.

Ez után azt figyelték meg a szimulációban, hogy mi történik akkor, ha a laranite bányászata nehezebbé válik és az érc rosszabb minőségűvé válik, tehát több alapanyagra lesz szükség a finomításnál. Látszott, hogy a laranite ára erőteljesen emelkedni kezdett. Ennek ellensúlyozására a hajó erőműhöz szükséges laranite mennyiséget 2 egységről 0,1 egységre változtatták, aminek hatására a laranite árak normalizálódtak.

A következő szituációban újabb hajó erőmű gyárakat telepítettek a rendszerben és a munkások számát figyelték a hurstoni gyárban. A grafikonon látható volt, hogy a munkások száma erőteljesen csökkenni kezdett, aminek az az oka, hogy az újonnan nyitott gyárak jobb fizetést kínáltak.

Mindezek után macro segítségével minden holdat elláttak alapanyagokkal, újfajta érceket, agriciumot és titánt is elhelyeztek, további gyárakat és finomítókat építettek, valamint a gyárakat felkészítették kvantumhajtóművek és hajóhűtők gyártására is, megnövelték a kész termékekre a keresleteket, valamint a quanták számát is 1.000-ről 2.000-re, aminek hatására már egy bonyolultabb gazdasági rendszer jött létre, ami folyamatosan mozgásban van.

Kalózok

A gazdaság már jól működött, ezért a rendszerre ráeresztették a kalóz NPCket. A kalózok négy csoportól érkeztek, a Nova Riders, Lowriders, Nine Tails és Dusters bandák szállták meg a rendszert. A kalóz NPCknek a hajó újratöltéséhez és újrafegyverkezéshez vissza kell térniük az egyik bázisukra.

A kalózok a szimulációban azokra az útvonalakra koncentráltak, ahol nagyobb értékeket szállítottak. Ezeken a területeken az NPCk küldetéseket hoztak létre, amelyek nem különböztek attól, amit a játékosok hozhatnak létre, valamint a térkép sok halálesetet is feljegyzett ezeken a helyeken. A küldetések között vannak olyanok, ahol az NPCk katapultáltak, vagy elhagyták a hajót és szállítást kérnek az adott helyről, hogy visszajussanak a civilizációba.

A kalózkodás másik eredménye, hogy a termékek árai megnövekednek, egy hajóhűtő ára a szimulációban 1.500.000 UEC-ig nőtt kb. 2.000 UEC-ről, de az is együtt jár ezzel, hogy a veszélykerülőbb quanták nem fognak szállítani a veszélyesnek ítélt útvonalakon.

Biztonsági alakulatok

A kalózhelyzet megoldása érdekében a szimulációba vezényeltek biztonsági egységeket. Ezek az egységek a konfliktuszónákba fognak repülni, ahol például sok haláleset történt. Főleg azokon a területeken járőröznek, ahol a kalózok a kvantumelfogásokat végrehajtották. A kalózhelyzet normalizálódása az árakon is meglátszik.

Az életre kelt csillagrendszer

A kalózok eközben keresik azokat a területeket, ahol a legkisebb kockázattal a legnagyobb hasznot tudják megszerezni, a biztonsági egységek pedig reagálnak erre és az új helyszínekre koncentrálnak, az árak pedig reagálnak erre, ahogy egy logikailag jól működő rendszerben ennek lennie kell.

Végül bemutatták, hogy hogyan lehet számolni ebben a rendszerben a valószínűségi értékeket. Ehhez a területet hatszögekre osztották, amelyek listázzák az adott terület adatait.

A háló és az adatok listázása

Ezekből kiolvasható, hogy egy adott területen összesen hányan vannak, ebből mennyi szállító, kalóz, vagy biztonsági, mekkora értékű árut szállítanak, a Quantum pedig ezekből az adatokból már tud valószínűségi értékeket számolni, így a fejlesztőknek nem kell belépni és kézzel megadni az értékeket, hogy egy adott területen hány biztonságinak, kalóznak, vagy szállítónak kellene lennie, valamint ez a kézzel beállított értékekkel szemben folyamatosan változik.

Ráadásul a játékosok cselekményeit is listázza a rendszer, ahogy bármelyik quanta cselekményét a szimulációban.

Összegzés

Évekig backend szolgáltatás és a játékszerverek álltak rendelkezésre, és az alapvető probléma az volt, hogy nem volt egy terület, ahol az egész játékot szimulálhatták volna, ahol az NPCk igénybe vehettek volna termékeket és szolgáltatásokat, mivel nem volt valós gazdasági szükségletük. Nem volt lehetőség arra, hogy meghatározzák, hogy mit láthat a játékos, miközben az univerzumban utazik és rengeteg energia elment arra, hogy az adatokat kézzel állítsák be, ami ráadásul nem is hozta azt a dinamikus élményt, amit el akartak érni.

A Qunatum megoldja mindezeket a problémákat, valamint biztosítja az összefüggéseket, amelyek eddig nem álltak rendelkezésre. Például könnyedén kiszámolja a kockázati tényezőket egy termék A pontból B pontba szállítása esetén. Pedig az ilyen dolgok elengedhetetlenül fontosak az árak meghatározásában és a megfelelően működő gazdaság kialakításában.

A felület biztosítja a megfelelő információkat ahhoz, hogy megfelelően kialakíthassák a küldetéseket, ami azt jelenti, hogy sokkal változatosabb küldetéseket tudnak készíteni anélkül, hogy többet kellene dolgozniuk. Az előadásban csak a nagyobb területeket érintették, amelyekre a Quantum hatással lesz, de ennél sokkal mélyebben befolyásolja a dolgokat. Például azt, hogy hány NPCt látunk az űrkikötőkben, idővel változhat az, hogy ezek az NPCk mit csinálnak, a termelőhelyeken változhat a lakosság száma attól függően, hogy mekkora mennyiségű áru halad ott át, az NPCk a játékosoktól függetlenül fejlődhetnek, akár erőteljes főnökökké is válhatnak, ráadásul különböző módokon. A bünöző NPCk vérdíjjal a fejükön körbejárhatnak az univerzumban, akárcsak a játékosok, hogy elkerüljék az elfogásukat.

Még sok munka van, ameddig a Quantum integrálására sor kerülhet, de ez az utolsó lépés, hogy felállíthassanak egy teljesen dinamikus és rendszerszintű univerzumot.