.[ ČeskéHry.cz ].
Krkal 3.0 - Objektove Orientovany Game Engine
Jdi na stránku Předchozí  1, 2, 3
 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Ostatní
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
MD



Založen: 29. 07. 2007
Příspěvky: 437
Bydliště: Praha

PříspěvekZaslal: 1. listopad 2009, 12:17:55    Předmět: Odpovědět s citátem

Ahoj, prace pokracuji, tak muzu napsat nove info Cool Pokud vas to bude zajimat vice, chytte si me na GDS, tentokrat nebude zadna oficialni prednaska, ale budu se tam nekde vyskytovat a rad si popovidam.

Spousta prace byla odvedena na FileSystemu (umi kupu uzitecnych veci, ktere se pri vyvoji her mohou hodit, asi ho tu casem nabidnu jako samostatnou komponentu) dale Kompilatoru a Runtimu. Tyto pro Krkala klicove komponenty uz jsou z 99% hotove, konecne uz mam napriklad sejvovani loadovani her, levelu, data fajlu...

Tak a tohle jsem dodelal prave ted:

Na prvni pohled to mozna nemusi vypadat nijak uchvatne, ale ty mlsne technologie, co jsou pod tim!!! Wink Ctete dal:

V dialogu si muzete zvolit jazyk, profil (slouzi k ukladani konfigurace, sejvu, statistik, postupu ve hrach) a vybrat hru, kterou chcete hrat. Dialog nabizi strucny popis vybrane hry.

Zajimave na tom je to, odkud dailog bere tyto informace. Kde se registruji hry? Jak se zadavaji popisy her? Jak funguje jazykova lokalizace?
- Hry, jazyky, levely, kampane atd. se neregistruji. Takovehle registrace predstavuji vetsi naroky na setup a obcas v tom byva bordel (viz COM), takze jsem se rozhodl jinak. V Krkalovi staci mit ty spravne soubory na spravnych mistech. Filesystem dokonce umi nektere adresare prohledavat a pozna, kdyz nekam neco presunete...
- A co kdyz prijde vice nezavyslych vyvojaru a jeden rekne, ze chce mit hry {A, B, C} a druhy {A, B, D}? Ktery seznam je pak platny? Krkal tyhle konflikty umi resit. Dela to tak, ze nikde neexistuje soubor se seznamem vsech her nebo soubor se seznamem vsech levlu (u tohohle pristupu by vznikal vyse popsany konflikt) Misto toho pracuje Krkal s mnozinami. Napriklad v souboru AB.data jsou popsany hry A a B a jsou pridany do mnoziny vsech her. V souboru C.data je popsana a pridana hra C a podobne funguje soubor D.data.
- Krkal nakonec vsechny tyto soubory nacte, slouci a ulozi do cache. Tu pak pouziva dokud nedojde k nejakym zmenam ve zdrojovych souborech. V uvodnim menu tedy vidime popisy vsech 4 her. Mnoziny, krome pridavani, podporuji i "pretizeni" - v nove verzi muze vzniknout hra DD, ktera zastinuje puvodni D.

- Podobnym zpusobem jsou reseny jazykove lokalizace.

Hodne dlouho jsem resil problem, jak vlastne data zadavat. (Asi vite, ze ve hrach potrebujete konfigurovat kde co: sprity, meshe, svetla, particle effecty, popisy her, cesty k externim datovym souborum, konfigurace, ...) Muze toho byt opravdu hodne a nekdy se to muze dost opakovat, takze treba 6 parametru resite pomoci Copy+Paste a zbyle dva mirne poupravite. Navic nektera data jsou organizovana ve stromech.

Co s tim? XML? Neco vlastniho (XML se mi zda neohrabane)? Ale sablony (schemata) z xml by se mi hodily, at je jasne ktere polozky se maji nastavovat. Ale hodilo by se mi i nejake prototypovani nebo templaty z C++ abych eliminoval Copy+Paste.
Nad timhle jsem byl zasekly cele leto, vymyslel jsem templaty a buhvi co, ale porad jsem s tim nebyl spokojeny, bylo to narocne na implementaci ...

Nakonec jsem puvodni predstavu sablon celou zahodil a pouzil neco, co uz Krkal davno umel a to obycejne objekty. Definice tridy je vlastne schema, ktere rika, co a jak je treba nastavit. Pak staci vytvorit instanci, pojmenovat ji globalne platnym unikatnim jmenem a nastavit jeji data. Pres jmena mohu instance spojovat do stromu. Instance mohu vytvaret pomoci normalnich metod, tak jak jsou na to programatori zvykli, takze si pohlidaji, aby nevznikaly Copy+Paste situace. Jednim volanim s par parametry muzu vytvorit cely strom Data Objectu. Nepotrebuju tedy templaty. Hura! Wink Navic mi tu funguje napr. vicenasobna dedicnost, moznost zadavat data jednoho data objektu na ruznych mistech, krkal se dokaze vyporadat se zmenou tridy, ktera popisuje dataobject...
kód:
game name Life, Blb5 [UserName= "Blb s hodne dlouhym jmenem!"];
depend @AllGames << {Life, Blb5};

void name Life.Icon [File = "GameIcons_E9CF_BB31_E302_9038\\koule.png"];

new @GameInformation Life
[
   UserName = "Life";
   Comment = "Conway's Game of Life."
]
{
   WebPage = "http://en.wikipedia.org/wiki/Conway's_Game_of_Life";
   Author = "MD";
   Icon = $Life.Icon;
}

_________________
- play with objects - www.krkal.org -
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
MD



Založen: 29. 07. 2007
Příspěvky: 437
Bydliště: Praha

PříspěvekZaslal: 4. leden 2010, 19:00:29    Předmět: Odpovědět s citátem

Smutne info: Od prosince 2009 je Krkal u ledu. A pokud se mi nejakym zazrakem nepodari najit sikovneho nasledovnika, tak tam asi zustane.

Alespon jsem tedy pripravil nejnovejsi verzi k otestovani:
http://www.krkal.org/download/Krkal%203.0.345.zip (je nutne precist prilozenou dokumentaci "Help\Ovladani"!)

Aby kompletne fungovala kompilace, je treba mit nainstalovane Microsoft Visual Studio 2008. Lze i starsi ci novejsi verze ci Express edici. Podrobnosti jsou v Helpu.
Spustitelne soubory:
  • Bin\Krkal.Main.exe - To nejdulezitejsi
  • Bin\Krkal.GEn.exe - Test izometricke Krkalske grafiky, vyzaduje shadery 3.0 a asi jeste neco. Ne vsude lze spustit
  • Bin\Krkal.NativeConsoleGames.exe - ukazka toho ze umim spustit krkalskou "hru" i bez .NETu


Noco z novych featur:
  • Data Fajly - pomoci Krkal C se daji vygenerovat strukturovana, typove bezpecna data. Pouziti na konfiguraci systemu, grafiky, her, levelu, ...
  • Enumy, konstanty, konstantni vyrazy - v KrkalC muzete v konstantnich vyrazech pouzivat konstanty deklarovane jinde. Na poradi deklaraci nezalezi.
  • Modifikatory const (podobne jako v C++) a prava (public/private ...) - lepsi zapouzdreni
  • Atributy - jsou uzivatelsky definovane pres data fajly a muzou byt pripojeny ke jmenum, objektum ci polozkam
  • Enginy - Engine je uzivatelem dodana komponenta, ktera muze zmenit nastaveni kompilace a spousteni skriptu a levlu. Napr. jaka funkcionalita je dostupna ze skriptu? Jaka je sada editacnich a ladicich nastroju? Je hra 2D nebo 3D? atd.
  • Uzivatelske profily - ukladani konfigurace, sejvu, postupu po hre, statistik
  • Jazykove lokalizace
  • Vylepseny filesystem
  • Save/Load - her, levelu, data fajlu, konfiguraci ...

Pouzitelnost ve vasi hre je i pres nedokonceni vysoka. Urcity support poskytnu, tak pokud mate odvahu a nebojite se, ze si par "drobnosti" budete muset dodelat (Porad lepsi nez zacinat od nuly, zejo Wink ), tak se ozvete a domluvime se.
_________________
- play with objects - www.krkal.org -
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
frca



Založen: 28. 07. 2007
Příspěvky: 1406

PříspěvekZaslal: 4. leden 2010, 19:33:04    Předmět: Odpovědět s citátem

Já dneska jenom rýpu, ale... udělal v tom už nějakou hru i někdo jiný, než ty sám?
_________________
www.FRANTICWARE.com
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Ladis



Založen: 18. 09. 2007
Příspěvky: 1484
Bydliště: u Prahy

PříspěvekZaslal: 4. leden 2010, 21:10:33    Předmět: Odpovědět s citátem

K tomu rýpnutí řeknu příběh z mé již bývalé firmy: Vyvíjel se tam nový template na tvorbu webů, který ale kvůli vedení vyvíjelo jen určité jádro programátorů a ti pak měli potom ty ostatní vyškolit, jak nový template používat. Pro ty ostatní, co to během vývoje neviděli, to ale bylo po školení furt tak složité, že v tom templatu odmítli dělat. Skončilo to tak, že většina z nás z firmy odešla, zbylí 2 dělají servis svých dosavadních webů a hlavní programátor toho template odchází teď v nejbližší době a celý úžasný template prakticky odejde s ním Smile (nikdo v něm nebude schopen dělat).
_________________
Award-winning game developer
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
MD



Založen: 29. 07. 2007
Příspěvky: 437
Bydliště: Praha

PříspěvekZaslal: 4. leden 2010, 22:27:58    Předmět: Odpovědět s citátem

2frca: ve 2.0 vznikla stejnojmenna hra, ve 3.0 jsou jen kratka dema. Vse vyvijim ja nebo vyvijeli kamaradi. Na marketing moc dobry nejsem. A na vlastni programovani uz taky nebude cas, takze do nejake pekne user-friendly formy uz to nedostanu.
_________________
- play with objects - www.krkal.org -
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Ostatní Časy uváděny v GMT + 1 hodina
Jdi na stránku Předchozí  1, 2, 3
Strana 3 z 3

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna