HTML

gondolataim elsősorban játékfejlesztésről

Elsősorban játékfejlesztés magyarul: az enginem fejlesztése során felmerülő problémák, ötletek, tévutak stb dokumentálása, amely számomra és talán mások számára is hasznos lehet később Másodsorban gondolatok szavakban...

Kapcsolat:
aalberik 'at' gmail 'dot' com

Haletető

Galéria

Címkék

Összes

Linkblog

Naptár

május 2024
Hét Ked Sze Csü Pén Szo Vas
<<  < Archív
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

Varázslat - r1842

2014.03.10. 12:38 :: syam

A következő projekt egyik nagy fejlesztése a címben is szereplő különböző típusú varázslatok lesznek. Azonban ahhoz, hogy mindez el tudjon készülni számos apróbb részletet kellet kidolgozni az engine-ben:

  • billboard render
  • volumetric line render
  • a fentebbi két típusú renderelés optimalizálása batcheléssel
  • eltérő sebességű lövedékek kezelése

Ezek közül a legfontosabb az utolsó: bármekkora sebességű lövedék pontos kezelését teszi lehetővé, az azonnal becsapódó / lézer stílusú lövedéktől a sokkal lassabban mozgó rakétáig.

A lövedékhez szorosan kapcsolódik még az az újítás, hogy a shapeknél minden fegyverhez külön lehet beállítani a sebzési faktor ill. hogy a lövedék visszapattanjon-e a shape felületéről.

Miután a lövedékek fontos szerepet játszanak a legtöbb akciójátékban, ezért az ellenük való védekezés is hangsúlyos összetevője azoknak. A pajzsok gyakorlatilag egyszerű tárgyak, amelyek shape / shapejei-nek sebzési faktorai a pajzs funkciójának megfelelően vannak beállítva. Ezenkívül a pajzs mérete is fontos tényező. Pl. a szimpla fapajzs kis méretű és sebzési faktorai magasak, míg egy harci pajzs nagy méretű, anyaga fém jellegű, sebzési faktorai alacsonyak és akár bizonyos lövedéket / varázslatot vissza is verhet, mint például a villámot.
Ennek engine oldali megvalósítása a felvett és kézben lévő tárgy a lövedékekkel történő interakciójának megoldása. Ehhez azonban már nem elégséges a Bullet saját ütközési csoportjainak használata (collision group), hanem teljes mértékben sajátot kell használni. És ha már itt tartottam frissítettem a Bulletet 2.8.2-re ill. a Recast libraryt is.
A lövedékek továbbgondolása a varázslatok voltak, amiből már el is készült a villámlás, tűzgolyó ill. "méreg". A lista feltehetően még bővülni fog a következő demóig. 

Ha pedig varázslatról van szó, akkor nem maradhatnak ki az italok sem. Míg az előző demóban terminálnál lehetett gyógyulni itt egyelőre csak italoktól. Ezenkívül lesznek egyéb mágikus tárgyak is, amelyek támadásunk avagy védekezésünk erejét növeli. Ezek az engine oldalon, mint scriptek jelentkeznek: lefuthat script amikor felveszünk ill. eldobunk egy tárgyat és persze akkor is amikor használjuk azt.

A végén pedig jöjjenek egyéb változások:

  • meshek vágása CSG algoritmussal, amit a szerkesztő használ pályakészítésre
  • a főhős megsebzését és annak intenzitását változó méretű piros keret jelzi
  • játék mentésénél screenshotot is mentünk amit betöltéskor megjelenítünk
  • opcionális külső konfig file

és észrevételek:

  • g++ néha furcsán castol floatot integerre legalábbis nem ugyanúgy fut le a kód, mint MSVC esetén
  • sajnos elég hamar előjött a RGBE tárolás hátránya: a hagyományos textúraszűrés nem mindig alkalmas ennek a tárolási mód kezelésére. Ennek megoldására javasolt a GL_EXT_texture_shared_exponent.

 és a legvégén egy kép a villámról a Grypania demóban tesztelve:

shot_0027

Szólj hozzá!

Címkék: bullet hdr texture filtering navigation mesh rgbe shared exponent csg

A bejegyzés trackback címe:

https://sakura7.blog.hu/api/trackback/id/tr245852430

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása