szombat, július 20, 2024

az játék előrehaladottáról

Megint tettem kis vidiót, sőt, még egy rövidet is, amit Blenderrel generáltam az éppen generált struktúráról.

Most éppen arról van szó, hogy végre elszántam magam és megcsináltam a két szuperprimitívet a rendszerbe, mégpedig a lua szkripttel definiálható primitívet, meg a sima szabadon repkedő primitívet. Ez utolsó logikus dolog lett volna már akár két éve is, de mivel szabályokat írok, amelyeknek minden primitívje egy-egy voxel primitívet bocsát ki és egymáshoz kötődik, egyszerűen nem volt értelme olyan primitívnek, ami a térben egy fix pontra helyez valamit, ugyanis minden alakzat bárhova rakható. Most viszont van egy új mód ahogy alakzatokat rakosgathatok le, mégpedig lua kóddal kiszámítva, hogy hova is kerülnek és ezért már van értelme fix pozícióra rakosgatni azokat, hiszen az a pozíció nem is annyira fix, kiszámolja valaki, csak nem maga a szabályrendszer. De persze a szabályokat be kell tartani, ha egy szabály hibásnak bizonyul és mindent vissza kell vonni, amit addig csinárt, akkor ezek a fixe helyre került alakzatok is visszavonódnak.

Ezzel most már tényleg úgy érzem, hogy végre minden elérhető amit akarok, ugyanis eddig mindig az volt, hogy meg akarok csinálni egy épületet, vagy labirintust, vagy valami egyebet és persze könnyű lenne lekódolni, de az eddigi szabályrendszerből mindig hiányzott valami. Most pl azon akadtam fenn, hogy azt akartam, hogy különböző magasságból induló lépcsők ugyanazon a magasságon érjenek véget. Ezt sehogy sem lehetett eddig megoldani, de mert bár állíthatok képzeletbeni falat a magasabban kezdődő fal végére, nehéz kiszámítani, hogy az mekkora is legyen, ha mondjuk a két lépcső különböző irányba halad. Amit most csináltam, simán csak össze tudom már hasonlítani a koordinátákat és az alapján írok egy döntést és kész. Ráadásul nem is volt nehéz implementálni, ez a sol3 library eszméletlen jó a Lua-C++ interopban.

Szóval mostmár tényleg csak meg kell tervezni a pályákat, remélem technikai limitációk már nem lesznek, csak az én képzeletem határait kell áttörni, de ahhoz szerencsére van elég referencia a neten, amit használni lehet.

Reméljük legközelebb már bemutatok egy pályát, aminek a struktúrája már nagyjából fix lesz. Kis részletek még valószínűleg sokáig változni fognak, ezért is csináltam mindent procedurálisra, hogy az apró részleteket (ami akár a méret szorzója is lehet) bármikor változtathassak, ahogy alakul ki a vizuális nyelv a fejemben. De a nagyobb struktúráknak már nagyon ideje kezd lenni kikristályosodni.

Ja igen, és végre rájöttem egy dologra, ami végig zavart, de nem tudtam megfogalmazni. A példaként elkészített Menger spongyában az a poén, hogy nem túl nehéz generálni a struktúráját (rekurzív kis kockákok ezek), talán még valahogy a létező szabályrendszerekkel is meg tudtam volna csinálni. Na de az, hogy erre még egy-két-akárhány más szabályt is rátegyek, az elképzelhetetlen lett volna a régi módszerrel, mert én kellett volna kombináljam kézzel a szabályokat. És persze olyanokat, hogy hely függő legyen, nem is igazán tudom hogy csináltam volna, szóval a gömb a kockában és annak egyik fele ilyen, a másik fele meg olyan színű, azt el sem tudtam volna képzelni. Na de lua-ban könnyű lekódolni és bár a vidióban nem az történik, hogy egy külső szabály hívja a lua-t, hanem a lua generál egy fix alakzatot, de ez működik azért már, majd legközelebb jobban bemutatom ezt.

Nincsenek megjegyzések: