Egy massively multiplayer online stratégiai játék blogja a fejlesztés kezdetétől a játék indulásáig, és túl...

Utolsó kommentek

  • devDavid: Közérdekű közlemény #1 Készítettem egy kisebb adatbázis dump-ot, amivel könnyebb dolgozni (fejles... (2012.12.24. 14:11) Letölthető Zandagort
  • cu2: @devDavid: Lehet, hogy én voltam félreérthető, mert nem vettem rossz néven a(z egyébként jogos) kr... (2012.12.23. 17:42) Letölthető Zandagort
  • devDavid: @cu2: ne érts félre, nem kritizálni akarom, nagyon nagy dolog - szerintem - hogy egy ilyen projekt... (2012.12.23. 17:24) Letölthető Zandagort
  • Utolsó 20

Címkék

Morál és dezertálás

2009.03.01. 18:55 cu2

A tapasztalat után a morál is visszakerült a korrekciós tényezőbe. Ezzel együtt a csata morálra gyakorolt hatása is megváltozott: a tapasztalathoz hasonlóan a sebzések nagysága a meghatározó. Annyi a különbség, hogy míg a tapasztalatnál az ellenséges flottán ejtett sebzés számít csak, itt az ellenséges és a saját sebzés (1%-ának) különbsége adja a morál változását. Amelyik flotta többet sebez a másikon, annak nő a morálja, a másiknak ugyanannyival csökken. Annyi korlátozással, hogy egy összecsapásban 50%-nál jobban nem változhat a morál.

Fontos újdonság a dezertálás. Ha egy flotta (vagy annak egy részének) morálja nullára csökken (akár csatában, akár a nyílt űrben), akkor a hajók dezertálnak, vagyis a játékos számára elvesznek. Erről küld értesítést a rendszer.

3 komment

Címkék: morál csata

Részeg űrmatrózok

2009.03.01. 17:21 cu2

Bár szeretnek harcolni is, az űrmatrózok lételeme az űrkikötő, ahol kocsmák és egyéb (a játékban erkölcsi okokból mellőzött) szolgáltató egységek várják őket. Éppen ezért a moráljuk a nyílt űrben a semmit tevéstől folyamatosan csökken: 5 percenként 0,1%-kal. Ha csinálnak valamit (őrjáratoznak, tartanak valami cél felé), akkor nem változik. Ha viszont egy flotta egy bolygó felett állomásozik (amit csak saját/szövetséges bolygó felett lehet), akkor 5 percenként 0,1%-kal nő a morál. Ha pedig a bolygón kocsma is üzemel, akkor a morálnövekedés üteme még nagyobb.

Egy kocsma 100 egyenértéknyi flottát képes kiszolgálni, vagyis ha a kocsmák száma legalább az ott állomásozó flották egyenértékének 100-adrésze, akkor a flották morálja 5 percenként 1%-kal nő (az állomásozásért kapott 0,1%-on felül). Ha kisebb, akkor a kocsmák túltelítettek, és a morálnövekedés arányosan kisebb (vagyis 200%-os telítettség mellett csak 0,5% a növekedés).

A bolygók háborús adatlapján található három ezzel kapcsolatos új szám. A "teljes flottaérték" a bolygó felett állomásozó flották össz egyenértékét mutatja, a "kocsmakapacitás" a kocsmák által kiszolgálható egyenértéket, a "kocsmatelítettség" pedig a kocsmák telítettségét.

3 komment

Címkék: kocsma morál bolygó űrhajó

Űrhajóárazás

2009.02.27. 11:40 cu2

Erről már korábban akartam írni, de most az egyenérték kapcsán úgyis előjött a téma. Hogyan lettek beárazva az űrhajók?

Először is a támadó- és védőértékek, illetve az affinitások alapján van egy első körös árazás. Vegyünk egy példát. Könnyűcirkáló vs Skorpió. Utóbbi nyilván erősebb, de mennyivel? Küldjünk K könnyűcirkálót 1 skorpió ellen. Ekkor a K cirkáló sebez K*7,5-et, az 1 skorpió pedig 60-at. Mennyi az a K, amivel egyszerre pusztul el a két oldal? Amikor a százalékos (vagyis egy főre jutó) sebzés megegyezik. Vagyis ahol K*7,5/1 = 1*60/K. Ebből K = gyök(60/7,5) = 2,83. Ekkor a két flotta egyidőben fogja kilőni egymást, vagyis ekvivalensek.

Persze a dolog nem ilyen egyszerű, hiszen egyrészt vannak körbeverések (a könnyűcirkáló jobb, mint a fregatt, a fregatt jobb, mint a skorpió, a skorpió jobb, mint a könnyűcirkáló). Ez esetben az ekvivalencia arányszámok átlagolva lettek (mértanilag, mivel arányszámokról van szó), így jött ki, hogy a könnyűcirkáló értéke 100, a skorpióé 122, a fregatté 149. Másrészt a fenti módszerrel csak hasonló súlycsoportú hajók mérhetők össze, hiszen akárhány könnyűcirkálót is küldünk egy dreadnought ellen, az meg sem fogja sebezni. Így jött létre egy árazási "létra", ahol a dreadnought a csatahajóhoz lett árazva, a csatahajó a cirkálóhoz, a cirkáló pedig a könnyűcirkálóhoz. Satöbbi.

Eddig tartott a többé-kevésbé tudományos módszer. A szonda, koordinátor és OHS-1 a speciális tulajdonságaikra kaptak plusz pontokat. A többi tényező (sebesség, pontosság, rejtőzés...) pedig le lett normálva egy 0-100 skálára (vagyis a leglassabb hajó kapott 0-t, a leggyorsabb 100-at), és ezek átlagából kijött egy módosító érték. Ezzel a módosító értékkel megnövelve jött ki a végleges ár, vagyis az egyenérték.

Az egyenérték egyenlő arányban lett felosztva árra és időre. Vagyis ha egy hajó 4-szer annyi ér, mint egy másik, akkor 2-szer annyi idő megépíteni, és időegységenként 2-szer annyiba kerül a gyártása (így összességében tényleg 4-szer annyit költünk rá). És végül, az így kijövő körönkénti energia-, munkaerő-, titán-, félvezető- és műanyaigény kerekítve lett, hogy ne túl csúnya számok legyenek a játékban.

2 komment

Címkék: űrhajó

Tapasztalat 2.0

2009.02.25. 16:52 cu2

Vulpion múltkori javaslata alapján megújult a tapasztalati rendszer. Minden hajótípusnak van egy egyenértéke, ami az árazás alapja, vagyis ezzel arányos mennyiségű titánt, energia, munkaerő... egy hajó legyártása. Ezek a számok megtalálhatók a help-ben az űrhajók leírásainál. Csatában mindkét fél annyi tapasztalatot nyer, amennyit a másik félből sebez, pontosabban a sebzett egyenérték 1%-át. Vagyis egy könnyűcirkáló kilövéséért 0,01 TP jár.

Ezzel a korrekciós tényező fele (tapasztalat és pontosság) visszakerült a csataképletbe (nem a szimulátorban, hanem a játékban). A morál majd a kocsma üzembehelyezésével együtt jön.

13 komment

Címkék: háború tapasztalat csata

Teleport

2009.02.21. 16:47 cu2

Mindenki kezdjen el teleportokat építeni, ha eddig nem tette, ezentúl ugyanis működni fognak, vagyis csak ezek segítségével lehet szállítani és tőzsdézni.

Minden teleport 100-ra tud feltöltődni, termelési körönként 10-zel nő a töltése. A bolygó adatai közt látható a "Teleport kapacitás", ez mutatja, hogy mennyi jelenleg a teleportjaink össztöltése, és mennyi a maximális.

Ahhoz, hogy árut szállítsunk, csak a küldő oldalon van szükség teleportra. Így lehet frissen foglalt bolygókra elvinni a szükséges alapokat. Minden erőforráshoz megvan az átváltási arány, hogy 1 töltéssel (jelölése TT) mennyi megy át. Ez a termelési mutatókból származik (kivéve az energiát, de azt hamarosan valószínűleg egyáltalán nem lehet majd szállítani), vagyis pl 1 TT = 400 tonna kő (lásd HELP). A "Szállítás" oldalon látszódik, hogy a teljes készletünknek illetve a szállítandó mennyiségnek mennyi a töltésigénye. Ha a zöld szállításra nyílra kattintunk, megtörténik a szállítás, de csak annyi áru megy át, amennyire volt elég kapacitásunk.

A tőzsdén ennek megfelelően az eladási ajánlatokhoz van szükség teleportra.

18 komment

Címkék: kereskedelem tőzsde teleport

A binary log esete a kémkedéssel

2009.02.19. 14:39 cu2

Az adatbázisnak, amiben a játék minden adata tárolódik, kétféle mentése van. Egyrészt minden hajnalban készül egy teljes dump, vagyis egy másolat az akkori állapotról. Másrészt folyamatosan íródik a binary log, amiben minden módosítás fel van jegyezve. A kettő együtt jól működik, hiszen a dump-ból helyreállítható a hajnali állapot, a binary log segítségével pedig tovább lehet tekerni az időben, hogy tetszőleges időpontig eljussunk.

Aztán múltkor elindult a kémkedés, és a "jól működik" múlt idővé vált. Főleg az eredeti, percenként kémkedő verzióban, sűrűn frissültek a riportok. Az adatbázis mérete ettől nem nő, hiszen a régiek egyszerűen felülíródnak. A binary log viszont minden változást rögzít, így nem csak a pillanatnyi, hanem az összes korábbi kémriportot is tartalmazza. Ennek az lett az eredménye, hogy naponta kb 1,2 gigabyte binary log keletkezett, az 5 percenkénti kémkedésnél, 125 bétateszterrel, akik közül 20-an kémkednek. Ez önmagában sem egy barátságos növekedési ráta, és ha kivetítjük a végleges játékra, ahol várhatóan 10-50-szer ennyi játékos lesz (most van 1934 előregisztráció), az napi 12-60 giga log lenne.

A megoldás végülis az lett, hogy a riportok mostantól nem kerülnek bele a binary log-ba, vagyis csak a minden nap hajnali állapot állítható helyre, ha valamiért meghalna a szerver. Ez azért vállalhatónak tűnik.

Szólj hozzá!

Címkék: mysql hírszerzés

I Spy

2009.01.28. 17:35 cu2

Érdemes nekiállni hírszerző központokat építeni, mert mostantól működnek is. Minden ilyen intézmény 100 ügynöknek ad helyet, és körönként 10-et képez ki. A bolygó adatai közt az ügynökök száma ezt jelzi: az első szám mutatja, hogy hány ügynökünk van, a második, hogy legfeljebb hány lehet.

A hírszerző szolgálat egységes egész birodalmunkban, vagyis nem az egyes bolygókon kell állítgatni, hanem a Felderítés menüpont alatt:

Legfelül látható az ügynökeink száma összesen (ugyanolyan logikában, mint az egyes bolygókon). Alatta pedig, hogy a teljes titkosszolgálat hány ezreléke szabad még. Ez azért fontos, mert amikor kijelöljük a célbolygókat, ahol tevékenykedni akarunk, nem az ügynökök számát adjuk meg, hanem a teljes kapacitásunk ezrelékét. Így ha menet közben nő vagy csökken az ügynökeink száma (előbbi a kiképzés, utóbbi az ellenséges elhárítás miatt), akkor automatikusan az itt megadott arányban oszlik meg a kapacitásunk.

Jelenleg csak a hírszerzés és az elhárítás működik, később lesz szabotázs is. A hírszerzésnél ha új célbolygót akarunk felvenni a listába, akkor elkezdjük beírni a nevét a bal oldali textbox-ba, és a legördülő menüből választunk, utána megadjuk, hogy hány ezreléket akarunk rászánni, és a Mentés gombbal lehet menteni a beállítást. Ha már ott a bolygó a listában, akkor elég a mellette lévő számot átírni, és menteni. Az elhárítás beállítása hasonlóan működik, csak itt a saját bolygóink közül választhatunk.

Kiküldött kémeink rendszeres időközönként (jelenleg percenként) küldenek jelentéseket, melyeket a célbolygók adatlapján tudunk megnézni:

Itt látható, hogy mikor érkezett a jelentés, és a tartalma, ami egy gyár, erőforrás, űrhajótípus darabszáma, vagy egy bolygóstatisztika (pl morál vagy népesség). Egy adott témában mindig csak a legfrissebb adat jelenik meg, a korábbiak törlődnek.

Ha a célterületen elhárítás is működik, akkor az oda küldött kémeink egy része elveszik. Egész pontosan tíz elhárító likvidál egy kémet, vagyis ha egy bolygón 50 elhárító dolgozik, akkor percenként 5 kémet kapnak el. Ha 10 kémet küldtünk oda, akkor 5-öt elvesztünk, és csak a többi küld jelentést.

26 komment

Címkék: elhárítás hírszerzés kémek

Űrhajórajzok

2009.01.14. 03:40 cu2

Elkészültek az űrhajók képei:

A help pedig kissé átalakult: popup-os lett. Így ezentúl kényelmesebb a navigáció a játék felülete és a help között, illetve a helpen belül is. Plusz kibővült a bolygó osztályokkal és az űrhajókkal.

Időhiány miatt sajnos most lassabban halad a fejlesztés, de ennek hamarosan vége, vagyis utána ismét nagyobb előrelépések várhatók.

49 komment

Címkék: grafika űrhajó

FAQ - Hogy zajlik egy csata?

2008.12.26. 13:03 cu2

Az egyes hajótípusok paramétereit lásd ITT.

Kezdő flotta kisorsolása

Ha R[0 ; 2*támadó kezdeményezés] > R[0 ; védő kezdeményezés], akkor a támadó flotta kezd (vagyis azt tekintjük támadónak). Ha nem, akkor védő (vagyis azt tekintjük támadónak). R[x;y] egy x és y közötti egyenletes eloszlású véletlen szám

A kisorsolt támadó flottában minden hajó lő egyet

A sebzéseket minden támadó típus - védő típus kombinációra külön számoljuk, és ezek összegződnek végül. Két típus közt a sebzés (HP-ban mérve):

sebzés = támadó HP/100 * tűzerőmegosztás *
(korrekciós tényező * támadóerő * affinitás - védőerő)

ahol

  • támadó HP/100: Hány hajó támad az adott típusból.
  • tűzerőmegosztás: Milyen arányban osztják meg a támadó hajók a védő típusok közt a tűzerejüket.
    Arányos a védő típusok össz HP-jával (vagyis a darabszámával), és a köztük lévő affinitással (inkább arra támad, ami ellen kiemelten jó).
  • korrekciós tényező = R[0,732+0,268*max{pontosság+tapasztalat;100}/100 ; 1] * R[0,732+0,268*morál/100 ; 1]
    Ha mindhárom paraméter nulla, akkor a korrekciós tényező két 0,732 és 1 közti egyenletes eloszlású véletlen szám szorzata, vagyis várható értéke 0,75.
    Ha mindhárom paraméter elég magas, akkor a korrekciós tényező 1.
  • támadóerő: Az alap támadóerő (TE) és a növekmények (TE+) összege.
    pl egy skorpióra: 35
    két skorpióra: 35+1=36 (fejenként!)
    három skorpióra: 35+2=37 (fejenként!)
    tíz skorpióra: 35+9=44 (fejenként!)
    satöbbi, de legfeljebb az alap támadóerő 2-szeresére nőhet
  • affinitás: Alapból 1.
    Ha a kiválasztott támadótípus jó a védő ellen, akkor 2 (pl skorpió vs könnyűcirkáló).
    Ha pedig rossz, akkor 0,5 (pl skorpió vs fregatt).
  • védőerő: Az alap védőerő (VE) és a növekmények (VE+) összege.
    pl egy fulgurra: 50
    két fulgurra: 50+1=51
    három fulgurra: 50+2=52
    tíz fulgurra: 50+9=59
    satöbbi, de legfeljebb az alap védőerő 1,5-szeresére nőhet

Ezután a kilőtt hajók függvényében újraszámolódnak a paraméterek (kezdeményezés, pontosság, sebesség...).

A kisorsolt védő flottában minden hajó lő egyet

Lásd a fent leírtakat.

A morál és tapasztalat frissül

Lásd itt: Tapasztalat 2.0
és itt: Morál és dezertálás

63 komment

Címkék: faq háború csata

FAQ - Miért olyan az élelmiszeripar, amilyen?

2008.12.26. 13:01 cu2

Többekben felmerült már, hogy miért lehet gombával annyi embert jól lakatni, miközben a pandákat már két húsüzem kiírtja. És hogy miért nincs nyúlpaprikás.

Az egyes fajok hasznosítása közti különbségek alapvető oka a táplálékláncban elfoglalt helyük és a méretük. Az előbbi azt jelenti, hogy növényből (és gombából) több van, mint növényevő állatból, amiből pedig több van, mint ragadozóból (bővebben lásd itt: Nálatok laknak-e állatok?). Az utóbbi pedig azt, hogy bár lehet finom a nyúlpaprikás, népélelmezési szempontból nagyon nem hatékony (kicsi és még a hús-csont aránya sem a legjobb). Ezért van, hogy nagytestű állatokból (zsiráf, marha, barna medve) lehet a legtöbb táplálékot kinyerni (mármint az állatok közül).

Minél több kell egy adott növényből/állatból adott élelmiszermennyiséghez, annál kevesebb embert bír el az ökoszféra, és annál nagyobb a feldolgozás munkaerő és energiaigénye is. Így amíg nincs leprogramozva az egészség vonal, addig érdemes kizárólag producenseket (növényeket, gombát) kitermelni.

A növények terményadatai (kg/hektár) a FAO statisztikáiból származnak, az állatok testtömege (kg/egyed) pedig a Wikipediáról.

4 komment

Címkék: faq kaja állatok ökoszféra

süti beállítások módosítása