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 2025
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

jelenet készítés 1

2009.05.22. 11:15 :: syam

Ahhoz, hogy fel lehessen építeni a szerkesztő script nyelvének egy működő változatát, érdemes először végigmenni egy jelenet elkészítésének menetét.

1. Terep

File-ok importálása a belső terephez:

  • mesh: többféle formátum között válogathatunk és helyezhetjük el azokat a térben (jelenleg az egyik leggyorsabb megoldás egy q3bsp file importálása és esetleg kiegészítése saját elemekkel).
  • kép és material: az importált meshez a legtöbb esetben tartoznak materialok vagy képek. A materialok generálása jelenleg automatikusan folyik; később az importálás során ezek szerkeszthetők lesznek.

Elméletileg külső terep is elhelyezhető a jelenetben azonban ez még átalakítás alatt áll.

Ha mindezzel végeztünk akkor felépíthetjük a scenegraph statikus részét. Arra azonban érdemes ügyelni, hogy sok és nagy üres területek ne legyenek a jelenetben.

2. Szereplők

Egy szereplő elkészítése előtt már tudnunk kell, hogy milyen intelligenciával akarjuk felruházni. Elsőként vegyük a legegyszerűbb esetet miszerint a szereplőnek nincs intelligenciája.

Ebben az esetben az importálás a következőképpen alakul:

  • mesh, kép és material: bármilyen nem animált modell megfelelő a célra. A képek és materialok automatikusan töltődnek.

 

Folyt. köv.

Szólj hozzá!

ezmegmi - matroid

2009.05.21. 12:28 :: syam

Egy izgalmas probléma: irányított gráf legolcsóbb gyökeresen k-pontösszefüggő részgráfjának kiszámítása matroid metszet segítségével...

mert matroiddal a legegyszerűbb...

 

 

Szólj hozzá!

pipeline

2009.05.21. 11:47 :: syam

Közel egy hetes érlelődés után letisztulni látszik a pipeline.

Röviden így néz ki most az engine egy frame-je:

  1. bejövő adatok kezelése
  2. aktív szereplők kezelése: törlés vagy cselekvés, inaktiválás/mozgatás
  3. üres csomópontok és renderelési listák törlése
  4. fizikai szimuláció léptetése
  5. a csomópontok, terep és a szereplők frustum cullja
  6. belső terep renderelése
  7. külső terep (és skydome?) renderelése ha látható
  8. meshek renderelése
  9. depth adaptive frustum számítás
  10. fényforrások renderelése
  11. post-process effektek

Függőben van még a fényforrások és meshek összerendelése az árnyék rendereléshez.

 

Szólj hozzá!

benyom ás

2009.05.17. 17:21 :: syam

A benyomás az ember számára újdonságból keletkezik vagy valaki más tanácsából, amely gondolatot ébreszthet. Ha a gondolat (talán) tudalatti is megérti onnantól válik a személyiség részévé. Ez pedig befolyásolja önálló gondolatainkat és cselekedeteinket.

Ha ezeket az eseményeket nem jegyzi meg a személyiség sosem érti meg önnön gondolatait csak él velük.

Szólj hozzá!

mukoggy

2009.05.17. 17:10 :: syam

Ami nem egyértelmű, nem működik.

Szólj hozzá!

akarat

2009.05.17. 17:09 :: syam

Az akarat mindaddig szabad, amíg más akaratot szabadon hagy.

Szólj hozzá!

ai példa

2009.05.12. 12:26 :: syam

Életem második ai példája:

Adott egy csoport állat (csorda). Az egyes példányok az alábbi jellemzőkkel rendelkeznek:

  1. éhség
  2. szomjúság
  3. álmosság
  4. territoriális igény

Vegyünk mindehhez egy terepet, ahol létezik egy

  • mező
  • alvóhely

és ezek egy térbeli gráffal vannak összekötve.

Értelemszerűen az

  • éhség a mezőre vonzza az állatot
  • a szomjúság a tóhoz
  • az álmosság az alvóhelyhez
  • a territoriális igény nem engedi leszakadni a csordától, de közel sem engedi magához a többiekhez.

A legerősebb drive a territoriális igény, a második a szomjúság utána az éhség és utolsó az álmosság.

A szimulációban elvileg lehet követni a vándorlást.

Szólj hozzá!

szereplők, AI, modell, animáció 3

2009.05.12. 10:33 :: syam

E téma egyik homályos pontja a csontváz és annak felépítése.

Egy csontváz statikus és dinamikus lehet. Az előbbi csak bizonyos reakció típusok esetén használható. A statikus csontváz általában konvex formákból épül fel míg a dinamikus egyszerűbb formákból (gömb, kapszula).

A csontvázat alkotó formákhoz lehet kapcsolni a mesheket. Tehát tárolni kell a csontváz formáit egymáshoz relatívan és minden formához relatívan a hozzá tartozó mesht. Minden formához egy darab mesh tartozhat.

A csontvázról bármikor leválasztható egy darab ill. kiegészíthető másik formával.

A dinamikus csontváz egy izgalmasabb történet lesz...

Szólj hozzá!

szereplők, AI, modell, animáció 2

2009.05.11. 22:59 :: syam

Úgy tűnik ebből a témából egyelőre nem tudok kifogyni. Egy nagyon kellemes hétvége után, mely közben serényen dolgoztattam az agyam ismét közelebb kerültem a (talán végleges) megoldáshoz.

Eszerint minden szereplőnek lehet válasza, döntése és reakciója. Amely szereplő egyikkel sem rendelkezik az teljesen statikus. A reakciók típusától függ a modell és az esetleg animáció típusa is. Valójában a reakció nem létezik, hanem egyértelműen a megfelel a döntéseknek és a válaszoknak.

Természetesen lesznek előre definiált válasz-döntés-reakció sémák, de ezeket teljesen testre lehet szabni a szereplőhöz megfelelően és általános események is rendelhetők a reakcikókhoz.

Tehát a címbeli sorrend a következőképpen alakul:

  1. meghatározandó a szereplő ai-ja
  2. ez eldönti, hogy van-e döntés/válasz/reakció
  3. a reakció(k) eldöntik milyen modellre van szükség
  4. a modell eldönti, milyen fizikai formákból épül fel

Egyik legérdekesebb reakció lesz a modell darabolódása.

A válaszok/döntések/reakciók összegyűjtése pedig egy igen nagy terjedelmű feladat lesz. Célszerűnek látszik a tárgyak szemszögéből elindulni a humanoidok felé és első menetben kerülni a specializációkat. Ilyen pl. a használati tárgyak, járművek ill. humanoid "kasztok".

Szólj hozzá!

szereplők, AI, modell, animáció

2009.05.07. 23:37 :: syam

Folytatva a tegnapi gondolatmenetem és némi kódolás után...

A humanoid, animal stb. megkülönböztetés egyáltalán nem pontos és univerzális. Sokkal jobban tűnik, ha kiindulunk az aiból, amely az engine-ben mindenre képes/bármit képes megtenni. Valószínűleg ilyen egy játékban sosem lesz, hiszen pl. egy mesterlövész-mágus-jedi kombináció eléggé furcsa kombináció lenne viszont célszerű már az elején az összes lehetséges akciót/döntést megfogalmazni.

A szereplők kategorizálása pedig az alapján történne, hogy az "intelligenciája" ezen akciók közül miket képes elérni. Már az elején kizárhatjuk azokat a szereplőket amiknek nincs ai-juk pontosabban semmilyen döntést nem képesek hozni.

A döntési repertoárral szoros összefüggésben áll a modell és annak az animációja. Mindegyik döntés közvetlenül vagy közvetett egy bizonyos cselekményt indít, amihez rendszerint animáció is társul. Így tehát az animáció repertoárt befolyásolja a döntési repertoár, amit pedig az ai. Az animáció pedig befolyásolja a modellt.

Összefoglalásul:

  1. ai nélküli szereplő:
    -modellje a meshek lehetnek statikusak vagy dinamikusak (nem lehet interaktivan animált max. egy folyamatosan lejátszott animáció) és ezek kombinációi
    -fizikai formája statikus esetben a konvex befoglaló, animált esetben a legnagyobb térfogat vagy multisphere közelítés
    -a fizikai formákhoz csatolható softBody és emitter is
  2. ai-val rendelkező szereplő:
    -modellje csontanimmal rendelkező meshek
    -fizikai formája a csontváz alapján létrehozott ragdoll
    -a fizikai formákhoz csatolható mesh, softBody és emitter is

Szólj hozzá!

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