Autor Zpráva
zacatecnik
Profil
Ahoj,
chtěl bych se zeptat těch zkušenějších... jak se dá správně udělat browser hra. Nejde mi o to, jak udělat jednotlive funkce atd. ale nevím jak například dělit třídy apod. Dělal jsem jednu prohlížečovou hru bez OOP, ale chtěl bych udělat nějakou správně a tak aby byla rychlejší.

Třeba zda se používá MVC atd., nikdy jsem neviděl zdrojový kód prohlížečové hry a tak si to nedovedu představit.

Ne, toto není ten dotaz, kde neumím nic a chci dělat prohlížečové hry. Umím PHP, MySQL, HTML, CSS, ale opravdu netuším, jak dělit celou hru.

Typuji, že bude nějaká ovládací třída, kterou budu ovládat z jiných souborů a bude mít pod sebou další třídy, které budou zajišťovat ostatní funkčnost hry. Jenže jaké budou základní classy a co budou popřípadě dělat. Od vás žádám, aby jste mi napsali, na co by jste celou hru dělili, nebo aspoň odkaz na něco co mi s tímto problémem pomůže.

Díky za případnou radu.

PS: Omlouvám se za chyby, ale mám teď dost práce a nestíhám. :D
Nox
Profil
zacatecnik:
Ale na hru mít čas budeš? :P

OOP != správně, OOP != rychlejší, přinejmenším to bude náročnější :) ... každopádně ... toto se těžko jednoduše popisuje, ale pokud chceš MVC, koukni třeba na různé články a dokumentaci kolem Nette (nemusíš přímo Nette používat) ... tzn. oficiální dokumentace, příklady na githubu (případně jiné co najdeš na foru a webu), články na zdrojáku...

A zkoušet zkoušet neprasit, mít jednotný styl, pojmenování, snažit se psát znovupoužitelně atd. do základu to taky pomůže

A nezkoušet hned ze začátku něco velkého...naopak by bylo lepší jen jednoduše a pak případně dát větší
zacatecnik
Profil
A je jedno jestli použiji MVC nebo to prostě udělám tak jak se mi to líbí? MVC neumím a ani mě neláká, jen nevím... zda je potřeba dělit to nějak speciálně, nebo je to na mě... Kdyby to bylo jedno tak bych to udělal tak, že budu mít hlavní třídu a pod ní ostatní -> uživatel, questy, texty, database,... ktere bych vzdy vsechny includnul do souboru jako index.php players.php, kde bych to ovladal atd...

Ale jde mi o to, aby se to tím nezpomalilo...


Tím časem to myslel tak, že jsem musel rychle jít něco udělat a tak jsem to napsal dost v rychlosti.
Nox
Profil
zacatecnik:
Je skoro jisté, že v začátku (resp. u prvních her) nebudeš mít dost uživatelů na to, abys musel rychlost vůbec řešit.*
A stejně pokud to nenapíšeš nějak náhodu extra blbě, tak to nebude nijak kritický.
A i kdyby se to ujalo, tak to nebude hned a budeš mít čas to vylepšit.

MVC samozřejmě nemusíš... *nemusíš* v podstatě nic ;)

*) neříkám že nepřeju úspěch, ale většinou to tak prostě je

----

Prostě rychlost bych neřešil, hlavně to napsat aby to bylo přehledný a upravitelný ... a návrh udělat takový, abys to byl schopný pokud možno zanedlouho dokončit
Darker
Profil
Je dobré to dělat ve stylu na kterém je založený Zend framework.
Data - zpracování - výstup -> na sobě nezávislé. To mimochodem splní podmínku Nox:„přehledný a upravitelný“, ale není to pro nikoho, kdo nemá dost času.
DJ Miky
Profil
Darker:
Data - zpracování - výstup -> na sobě nezávislé.

Tím mluvíš právě o MVC (Model - View - Controller).
Jenicek
Profil
ehm... chete mi říct že nemohu hru dělat půl roku? :D

já píši hru a nemám nijak extra čas a přesto už dokončuji :)

podle mě to není o času jako o trpělivosti...
já toužím mít vlastní gamesku už roky a je to cca 8 měsíců co jsem začal, dnes už dokončuji ;)

zacatecnik: určitě huráá do toho :)
Nox
Profil
Jenicek:
Tady je ale spousta věcí k uvážení:

1) Tím že začíná tak první pokusy můžou skončit se špatně udržovatelným a rozšiřovatelným kódem

2) Kromě trpělivosti je také třeba setrvat u jednoho tématu

3) Po celou dobu je mít třeba na mysli jednotnou vizi a cíl

4) Je problém dělat rok hru a pak zjistit, že jsou problémy s gamedesignem - pokud to není až tak na vážno, je lepší na začátek něco co je člověk schopný dokončit do měsíce. K tomu se navíc váže "Ceramics class story" http://www.motivational-well-being.com/perfectionist.html

Pokud už je to vážněj, je dobrý udělat papírový prototyp a následně třeba naprogramovat nějaký prototyp. Pak si stanovit nějaké základní cíle pro první hratelnou iteraci. Tu vydat, zjistit co drhne, co je naopak dobré atd. Pak udělat iteraci další a tak pořád dál (toto mají na 100 % i ty velké firmy, které vydají hru až po několika letech, ale testování tam už od počátku nabeton probíhá).


=> proto bych volil do začátku něco malého. Navíc velikost != zábavnost.

Btw. i za krátký čas se dá udělat něco použitelného (zvlášť když není třeba persistence, viz https://github.com/hughfdjackson/ bbgcomp#, bbgchallenge#)

atd.

----------------------

Jinak kdo umí anglicky tak může navštívit http://community.bbgamezone.net/ a IRC freenode.net kanál #bbg (a jinak samozřejmě gamasutra.com, sirlin.net, gamedev.net atd.)
Jenicek
Profil
Sám jsem zvědavý jak se má hra uchytí ale i kdyby to hrálo "jen" 100 lidí tak budu spokojený.
Jak jsem říkal, gamesku už chci dlouhá léta a programuji pro zábavu, mě živí jiné věci (naštěstí :D)
Koneckonců to co vznikne budete hodnotit i zde na jnw :)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: