Fórum
sys.starempirex.hu

Játékmechanika


Hogyan épül fel a játék?

Beszéljünk egy kicsit a játék technikaibb részéről - arról, miképpen épül fel, és hogyan működik. Az alábbi információk nem adnak közvetlen előnyt a játékban, de megértésükkel jobban átláthatod a játékot és annak működését.

Harcrendszer

Az OGame lelke és legfontosabb eleme az nem más, mint a harcrendszer. Nemcsak a játék szempontjából, hanem történelmileg is fontos szerepet tölt be, ugyanis ez a harcrendszer adta az ihletet ahhoz, hogy a ma ismert játék megszülethessen. A harcrendszer egy olyan algoritmus, ami hajókat ereszt egymásnak, megcsatáztatja őket, majd a végén kiköpi az eredményt. Mivel ez egy bonyolult és nagy témakör, ezért ennek részletes működését EZEN a lapon ismerheted meg.

Galaxis és flottamozgás

A harcrendszer mellett a játék másik két legfontosabb eleme, a flottamozgás és a galaxis. A galaxis tartalmazza az égitesteket, és megteremti a "teret" amiben a hajóink mozoghatnak. A flottamozgás egy, talán még a harcrendszer komplexségét is felülmúló elem: feladata az univerzum minden egyes repülő flottáját számontartani és küldetésüket lekezelni. Működése dióhéjban a következő: minden flottaküldéskor feljegyzi az elküldött hajókat és nyersanyagokat, majd eltávolítja azokat az adott bolygóról/holdról. Ezután kiszámolja a start és cél koordináta közti távolságot, illetve a repülés időtartamát. Egy bejegyzés kerül létrehozásra a feljegyzett hajókról és nyersanyagokról, a pontos indulási és érkezési időről, valamint a küldetés típusáról. Amíg a flotta repül, addig a flottáról minden érintett játékosnak (vagy GO-nak) jelenti a repülő flottát, hogy az látszódjon a flottamozgások közt. A flotta érkezésekor különféle eseményeket indít be a küldetés típusától függően: kémjelentés létrehozása, csata kiértékelése, nyersanyagok hozzáadása a célbolygó készleteihez, expedíciós eredmény generálás... Mindeközben különféle eseményeket is figyel, pl. flotta fordítása, esetleg phalanx szkennelés. Minden esetben különféle algoritmusok futnak le, hogy visszaadják a phalanx eredményét, vagy kiszámolja a fordítás pontos idejét - és ne felejtsük el a visszatérített deutériumot sem az lf kutatásokból :)

Gazdasági rendszer

A gazdasági rendszer a negyedik olyan rendszer, ami szerves részét képzi a játéknak. Itt a játékosok képesek épületeket és hajókat, védelmet építeni, illetve technológiákat kutatni. Ennek a modulnak a része a nyersanyagkezelés, az erőforrások, az épületek, a kutatás, a hajógyár, a védelem - és újabban az életformák is. A rendszer feladata, hogy frissítse az erőforrásokat minden bolygón, lekezelje a különféle fejlesztéseket, építéseket, levonja azok költségeit.

A fentiekkel kb. össze is állt az Ogame alapja. Ez az egész meg van spékelve kisebb modulokkal, mint például a kereskedő, szövetségek, eventek, piactér, bolt, chat, toplista és még percekig lehetne sorolni...

Szerver-kliens kapcsolat

A játék szerver - kliens kommunikáció révén működik. A mi gépünkön a böngészőben fut a kliens. Amikor betöltjük az oldalt, azt a kliens állítja össze. Ha elindítunk valamilyen építést, elküldünk egy flottát, vagy licitálunk egy árverésen, a kliens adatokat, üzeneteket küld a szervernek, ami a Gameforge tulajdonában ketyeg valahol Németországban Frankfurttól nem messze. Ha például flottát szeretnénk küldeni akkor körülbelül így néz ki: "indíts egy flottát A hajókkal, B helyről C helyre D küldetéssel E sebességgel és F rakománnyal". A szerver feldolgozza az üzenetet, elindítja a flottát, majd innentől fogva értesíti a klienst, hogy oldalfrissítéskor legyen megjelenítve a flottamozgásban. Ezen kívül a szerver tartalmazza a teljes játéklogikát - különféle számításokat végez, csatákat futtat, kezeli az adatbázisokat, és még rengeteg (tényleg rengeteg) más feladatot végez.

Flották pontossága

A kliens legkisebb időállandója a másodperc. Ez azt jelenti, hogy minden adat másodpercenként frissül a játékban - legyen szó flottamozgásról, épület építési idejéről vagy a nyersanyagok mennyiségéről. Az oldal betöltésekor a kliens megkap minden szükséges adatot a szervertől (pl. szerveridő, flotta érkezési ideje, hajók száma, építések befejezési ideje stb...) és ezen adatok alapján összeállítja az oldalt. A kliens feladata az is, hogy a dinamikus értékeket (nyersanyagok, visszaszámlálók) másodpercenként frissítgesse. A szerver ezzel szemben másodperc törtrészét is figyelembe veszi, tehát ha netalántán két flottát látsz egyszerre érkezni a flottamogásnál, akkor az nem egyszerre van, hanem valahány ms eltéréssel. Ilyenkor a flottamozgásnál a sorrend mutatja azt, hogy milyen sorban fognak megérkezni az adott flották. Nagyon fontos az is, hogy minden kliens üzenetnek idő kell, míg eljut a szerverig és feldolgozásra kerül - ez akkor fontos, ha pontosan akarjuk flottát időzíteni (ninja vagy ACS védés esetén). Ilyenkor 1-2 seccel korábban nyomjunk a flottaküldés gombra, hogy kiküszöböljük a késést. Nagyobb csaták esetén a helyzet még durvább: a szervernek sok ideig tarthat a kiértékelés, ezért eltarthat egy kis ideig, míg a csatajelentés megjelenik az üzik közt. Extrém nagy flották esetén ez akár több percig is tarthat, közben különféle anomáliákat vehetünk észre - flottánk jön vissza, vagy épp eltűnt, csatajelentés pedig sehol - ilyenkor várj türelemmel, vagy ha sok idő telt el, írj egy jegyet az esetről. 

Lobbyba dobás és következményei

Minden szerver a megbízható működés érdekében naponta 1x hajnalban, magyar idő szerint 3:00-kor újraindul. Ez az online játékosokat kidobja a lobbyba, ezért újra be kell jelentkezniük az uniba. Mivel bejelentkezéskor mindenki a főbolygójára kerül, így az csilizni fog. A reset nem szünteti meg sem a percesedést, sem pedig a csilit, azonban ha a játékos visszalép, a főbolygója mindenképp elkezdi a 15 perces jelesedést. Ha vagy olyan elborult, hogy hajnali 2-3 után vadászgatsz másokra, akkor ez egy hatékony módszer az online állapot felmérésére. Egyéb más okból is visszakerülhetsz a lobbyba: lejár a session, heti karbantartás vagy frissítés, vagy ritkábban staff által végrehajtott művelet eredményeként.

Frissítések és a cache ürítése

Mivel böngésző alapú játékról beszélünk, így elkerülhetetlen, hogy a játék cachet használjon. A cache vagy gyorsítótár arra szolgál, hogy a szervernek csak egyszer kelljen elküldenie bizonyos képeket, kódokat és egyéb fájlokat a gépedre. Ha ez megtörtént, az oldal sokkal gyorsabban frissül, és a szerver sem terhelődik túl. A probléma ott kezdődik, amikor egy frissítés után a régi fileok a cache-ben maradnak. Ha a frissítés kliens kódot is érintett, akkor elképzelhető, hogy az hibásan fog működni - láthatatlan flották, bugok, sikertelen flottaküldés stb. A cachet Chrome alatt a CTRL+SHIFT+R kombinációval tudod kiüríteni, ami általában megoldja a problémákat.

Értékeld az oldalt!

Mennyire tetszik neked? Szavazz!

GyengeKiváló