Stran 1 od 1

OpenZone

OdgovorObjavljeno: Pe Avg 28, 2009 2:57 am
Napisal/-a ducakar
Tole je pogon, ki ga počasi razvijam že precej let (najstarejše vrstice kode verjetno segajo v 2002 ali 2003) in je zdaj že dovolj dozorel, da se da nekaj pokazat.

http://www.youtube.com/watch?v=2oGt7gFrV84

Izvorna koda: git://github.com/ducakar/openzone.git
Podatki: http://users.volja.net/d_ucakar/oz/data.mini.tar.bz2

Pogon naj bi bil čim bolj pregledno zasnovan, prenosljiv med platformami in univerzalen. Ciljam, da bi bil neposredno uporaben za FPS, RPG in RTS (npr. klon Battlezone, od tu ime). V trenutni obliki bi bil primeren predvsem za single player FPS, ob nekaj dodelave morda za RPG. Pogon je strogo razbit na layerje: matrix - simulacija sveta (update objektov in fizika), nirvana - AI, client - prikaz sveta (renderiranje, igranje zvokov) in manipulacija s svetom (kontrola igralca). Zaradi prenosljivosti med sistemi, se ne kliče nobenih API od OS (razen standardnih C-jevskih klicev, ki so na UNIX-ih del sistemskih API-jev), ampak gre vse preko knjižnic, kot so SDL, OpenGL in OpenAL. Development platforma je Arch Linux z orodji GNU (gcc 4.4.1 & co), KDevelop 3.5, NetRadiant za BSP in Blender za OBJ modele. Načeloma pa bi se morala koda (verjetno s parimi manjšimi popravki) skompajlat tudi na Windowsu z MinGW (priporočam Dev-C++, pa ustvarit nov projekt in ročno vse parametre nastavt tako kot je v CMakeLists.txt + Win posebnosti).

Zaenkrat podpira modele MD2 (z animacijami), MD3 (brez animacij), OBJ, stavbe so Quake3 BSP leveli (obdani s škatlo, da se skompajlajo (stopnje morajo biti zaprte za q3map2 BSP kompajler), v nastavitvah BSP-ja se nastavi max. dimenzijo, ki poreže vse kar je izven, torej škatlo). Zvoki so v formatih, ki jih podpira podpira ALUT (.au in .wave) in Ogg Vorbis, teksture pa, kar podpira SDL_image (.png, .jpeg, .bmp, ...).

Glavne prednosti so, da teče tudi na precej slabih računalnikih in velikost mape (trenutno 4 km x 4 km), časovna zahtevnost updejta sveta je O(površina mape), ob predpostavki, da imamo konstantno št. predmetov na enoto mape in so ti približno homogeno razporejeni. Renderiranje je ob tej predpostavki O(1), ne glede na velikost mape.

Trenutno manjka še networking in AI, in precejšen del UI. Osnova za AI (nirvana) in UI (client::ui) je že narejena, networking pa tudi ne bi smel biti problem vključiti, ker je bile pogon že od začetka zasnovan tako, da se ga bo dalo čim enostavneje sinhronizirati preko mreže.

Pogon je pod licenco GNU GPL 3.0, glede podatkov pa je malo nejasno, ker nekateri nimajo readme-jev, a so v glavnem vsi pobrani iz Cube ali pa moje delo.

Re: OpenZone

OdgovorObjavljeno: Pe Avg 28, 2009 10:42 am
Napisal/-a Grandy
U madonca, tole pa zgleda hudo. Kakšne plane pa imaš s pogonom, ga delaš samo za fun al bo s tega nastala kakšna igra?

Re: OpenZone

OdgovorObjavljeno: Pe Avg 28, 2009 11:46 pm
Napisal/-a ducakar
Zaenkrat mam namen pogon dokončat; lahko da bo v par mesecih, lahko da bo v kakšnem letu -- odvisno kako bom s časom, pol pa kakšno igro narest. V mislih imam predvsem (precej izboljšan) klon Battlezone al pa kakšen RPG, ker za to bi bil ta pogon najprimernejši. Izdelave takšne igre se verjetno ne bom lotil sam, ker bi mi vzela še enkrat toliko časa kot pogon, povrhu tega pa sem programer in ne modelar. zaradi tega sem se odločil ta pogon pokazat in zato, če se komu zdi uporaben, se lahko tudi loti razvoja svoje igre na tem pogonu. Seveda mora biti igra zaradi licence pogona opensource, pod GPLv3.

Re: OpenZone

OdgovorObjavljeno: Pe Sep 04, 2009 3:05 pm
Napisal/-a /dev/null
Impresivno, si za fiziko uporabil kaksen fizikalni engine ali si svojega spisal?

Glede na to, da je ocitno stvar zelo platfrom-independent, bi lahko stvar enostavno portal na kaksen iphone, maemo, itd... tam bi bil pogon pa sploh konkurencen.

Re: OpenZone

OdgovorObjavljeno: Pe Sep 04, 2009 5:40 pm
Napisal/-a ducakar
Fiziko sem sam spisal, sicer pa ni nevemkaj, je tko kot v Id Tech 2,3 in konkurenčnih pogonih AABB-based (= samo kvadri poravnani po oseh, rotacije niso možne, razen morda grafičnega modela -- nekoč sem imel tudi pokončne cilindre (samo med sabo, z okolico kot AABB), sam mi za particle fizike nikakor ni ratalo do konca debugirat, pa me je tko razjezilo, da sem ven vrgel)). Je pa res, da je verjetno v primerjavi z vsemi temi pogoni boljš narejena.

Pogon je trenutno precej platform-dependent, preizkušeno dela samo na Linuxu. Z lahkoto bi se ga dalo sportat tja, kjer delajo knjižnice, ki jih uporabljam (OpenGL, OpenAL, SDL) in GCC. Windowsa ne uporabljam in se mi ne da kr naprej tam buildat, ponavadi nekje 1x na leto naredim en build z Dev-C++.

SDL mislim, da ne dela na iPhone, Maemo, Android ipd. Na telefone bi bilo pomojem mal težko to sportat. Sicer pa nimam namena s tem pogonom konkurirat kakšnim komercialnim pogonom, ampak opensource; Cube/Sauerbraten in podobno.

Re: OpenZone

OdgovorObjavljeno: Pe Sep 04, 2009 8:23 pm
Napisal/-a Alfa
Mimgrede, SDL je sportan tudi na iPhone (nepreizkušeno).

Re: OpenZone

OdgovorObjavljeno: So Sep 05, 2009 7:53 pm
Napisal/-a Person
Lepo je videti tole tvojo zadevo.

Najbolj me je impresionirala tale zanimiva fizika v pogonu, sploh tole s plavanjem škatelj, ter to, da se dodatno potopi, če skočiš nanjo.

Re: OpenZone

OdgovorObjavljeno: Ne Sep 06, 2009 1:47 am
Napisal/-a Delfi
ducakar: pohvalno da si svojo fiziko spisal, samo ti pa toplo priporočam newton game dynamics 2 fizikalen pogon, zadeva ni opensource, je pa absolutno free, realistčna, zmogljiva, in imaš porte za raznorazne platforme (tudi za iphone).

Re: OpenZone

OdgovorObjavljeno: Po Sep 07, 2009 9:31 pm
Napisal/-a ducakar
Če bom uporabil kakšen kakšen fizikalni pogon, bo to v naslednji generaciji mojega pogona in bo to verjetno Bullet. Zaenkrat je treba pogon dokončat in naredit na njem igro. Če bom preveč visokoleteče cilje zastavil, se mi bo brada sedemkrat okoli mize ovila, preden bo dovolj dokončan, da bom lahko na njem špil naredu.

Re: OpenZone

OdgovorObjavljeno: Po Nov 02, 2009 5:18 am
Napisal/-a ducakar
Uploadal sem builde (skompajlano za Penitum 2 + MMX + SSE):

Linux http://openzone.googlecode.com/files/OpenZone-i686-linux-gnu.tar.gz
Treba je inštalirat vse dependencyje naštete v README-ju. Preizkušeno na ArchLinuxu.

Windows http://openzone.googlecode.com/files/OpenZone-i686-mingw32.zip
Treba je najprej inštalirat OpenAL (poženi priložen oalinst.exe). Preizkušeno dela na Wine, na moji Visti pa je povzroči BSOD.

Re: OpenZone

OdgovorObjavljeno: Po Nov 02, 2009 3:48 pm
Napisal/-a impulse9
Hudo :)

Drevesa so mal goofy sicer pa vsa čast. Jaz si tud približno ne predstavljam kako spraviš skupaj kaj takega. :)

Re: OpenZone

OdgovorObjavljeno: Ne Dec 20, 2009 4:33 am
Napisal/-a ducakar
Novi buildi. Priporočam Linux verzijo, ker v Windows verziji je izklipljena umetna inteligenca zaradi vztrajnega obešanja skriptov.

Linux: http://openzone.googlecode.com/files/OpenZone-i686-linux-20091220.tar.gz
Windows: http://openzone.googlecode.com/files/OpenZone-i686-mingw32-20091220.zip

Re: OpenZone

OdgovorObjavljeno: Ne Dec 20, 2009 9:15 pm
Napisal/-a ducakar

Re: OpenZone

OdgovorObjavljeno: Ne Mar 27, 2011 8:04 pm
Napisal/-a ducakar
Končno verzija 0.1:
OpenZone-0.1.0-Windows-i686.zip

Linux builda nisem prilagal, ker Windows build deluje na Wineu brezhibno (.bat se požene z "wineconsole openzone.bat").

Re: OpenZone

OdgovorObjavljeno: Po Mar 28, 2011 4:03 pm
Napisal/-a ducakar

Re: OpenZone

OdgovorObjavljeno: Po Mar 28, 2011 7:27 pm
Napisal/-a Blodyavenger
Učeri sm testiru to stvar in morm rečt d sm mel kar nekej zabave :) I like it da je več al manj mogoče vse razbit in raznest, drgači pa keep up the good work. Te čaka pa vsekakor še dost dela.

Re: OpenZone

OdgovorObjavljeno: Pe Apr 08, 2011 9:53 pm
Napisal/-a ducakar

Re: OpenZone

OdgovorObjavljeno: Ne Okt 09, 2011 7:02 pm
Napisal/-a ducakar
Slika
Slika
Slika
Slika
Slika

Re: OpenZone

OdgovorObjavljeno: Po Okt 10, 2011 1:59 am
Napisal/-a ducakar

Re: OpenZone

OdgovorObjavljeno: Ne Jul 01, 2012 12:08 am
Napisal/-a ducakar
Verzija 0.2.90, port na NaCl (Google Chrome/Chromium): http://dl.dropbox.com/u/9508397/openzone/openzone.html

Re: OpenZone

OdgovorObjavljeno: Po Jul 02, 2012 5:10 pm
Napisal/-a ducakar
Popravek: dodal loading progress in navodila, kaj je treba spremenit v about:flags, da deluje. Tistega prej verjetno nihče ni uspel pognat.
http://dl.dropbox.com/u/9508397/openzone/openzone.html

Re: OpenZone

OdgovorObjavljeno: To Jul 03, 2012 5:35 pm
Napisal/-a impulse9
Prvi vtisi: wow. Fizika je impresivna, okolje je odzivno in destruktabilno. Malo moti, da se ne da streljati med hojo ampak sklepam, da se bo v končni verziji dalo. Malo sem šel raziskovati naokoli in ugotovil, da je svet ogromen in po njemu tekajo neki demoni (enega sem našel, ki je neživ floatal na vodi). :) Anyways 2x thumbs up od mene.

Re: OpenZone

OdgovorObjavljeno: Ne Jul 22, 2012 9:47 pm
Napisal/-a ducakar

Re: OpenZone

OdgovorObjavljeno: Po Jul 30, 2012 11:18 am
Napisal/-a ducakar
Slika
Verzija 0.3.1 (Linux, Windows & NaCl): http://ducakar.github.com/openzone/

Re: OpenZone

OdgovorObjavljeno: Če Avg 09, 2012 4:01 pm
Napisal/-a Lamoot
Aha, a blast from the past :)

Bom preizkusil zadevo in povedal mnenje. Sem tudi ravno na Linux prešaltal.

Re: OpenZone

OdgovorObjavljeno: Pe Jun 13, 2014 12:53 am
Napisal/-a ducakar
0.4.0 beta za pretestirat.

Download (Linux in Windows, oboje 32- in 64-bitno):
https://github.com/ducakar/openzone/rel ... ag/v0.3.90

Pa še PNaCl za Google Chrome/Chromium:
http://ducakar.github.io/openzone-web/n ... ne.sl.html