Stránka 1 z 2

Tvorba 2D her

Napsal: 17 srp 2017 17:05
od Deibellos
Zdravím,
Má budoucnost se přiklání ke tvorbě webových stránek. To píšu jen tak pro malou nápovědu, co byste mi víc doporučili.
Důležité je samozřejmě to, co chci tvořit.

1. Ze začátku mám v úmyslu dělat maličkosti ve stylu starých 2D final fantasy a zejména touhou styl. Viděl jsem jeden výsledek touhou hry vytvořený pomocí html5 + javascript.
2. Ovšem dál mám v úmyslu tvořit výrazně větší a rozsáhlejší verzi těchto her. Nevím, jestli html5 + javascript na to stačí.
3. Nakonec se chci "pokusit" vytvořit masivně multiplayerovou verzi jako je např. World of tanks. Samozřejmě stále mluvím o 2D hry typu touhou a final fantasy. Abych to měl jednodušší, tak to bude možná jen touhou co-op a deathmatch bitvy s postupným vylepšováním úrovně atd.
- rád bych maličkosti a malá dema z větších verzí zveřejňoval na internetu
* hudbu tvořím na FL studio a grafiku jsem chtěl tvořit pomocí adobe animate cc. Jestli mi ale bude html5 k ničemu a flash aplikace zcela vymizí, bude to asi zbytečnost...

Nyní mé stručná a shrnující otázka:
Předpokládám, že na 2. a 3. cíl mi html5 + javascript + (python) stačit nebude, nebo bude?

Re: Tvorba 2D her

Napsal: 17 srp 2017 17:10
od faraon
Ještě budeš potřebovat nějaké PHP na serveru, který ti bude jednotlivé hráče koordinovat. Leda že bys to měl decentralizované jako byl původní Skype, než ho koupil M$.

Flash je zdechlina už dávno, teď to vypadá že konečně oficiálně, a HTML5 by ho měl nahradit. Sice bude ještě náročnější na výkon, ale snad v tom bude méně než miliarda bezpečnostních děr :lol:

Re: Tvorba 2D her

Napsal: 17 srp 2017 22:13
od Deibellos
Děkuji za první zpětnou vazbu.
Ještě jste mi ale nedal jistotu, zda-li html5 a javascript jsou schopný bez problémů vytvořit a plynule rozjet velkou a rozsáhlou hru s mnoha funkcí tak na 10+- hodin hraní. V opačném případě si budu muset zkusit C# jak ho většina doporučuje. Nebo C++

flash
Nejsem si jist, jsem ještě začátečník, ale podle mě flash není zcela úplně ztracený. Snažil jsem se hledat nějaké informace o principu bezpečnostních děr, bohužel nic moc jsem nepobral, ale dílo se dá uložit jako projekci .exe. Ta má v sobě již zabudovaný flash a není nijak propojený s internetem. Takže když si někdo stáhne hotovou flash hru .exe, tak ho spustí aniž by měl na počítači nainstalovaný flash player.
Jen nebude možné hru dát online na internet a budoucí verze adobe animate cc nebude podporovat flash. Možná bude nakonec open source.
Asi je spíš lepší unity, který takto omezen asi nebude, ale programy od adobe jsou velmi sympatické a příjemně se s nimi pracuje. Samozřejmě až bude podobný program bez používání bezpečnostně proděravěného problému, naděje flashe bude zcela zničena.

Re: Tvorba 2D her

Napsal: 17 srp 2017 22:32
od petr22
Tohle mi nedelej, jsem malem sletel ze zidle - programy od Adobe jsoy sympaticke a prijemne se s nimi pracuje - pouzivame Acrobat, Premiere, Photoshop, Lightroom, InDesign a nepouzil bych ani slovo prijemny, ani sympaticky a to nepocitam vyderacsky obchodni model. Adobe Flash je vec veskrze nesympaticka a pomerne nekompatibilni, vytvorit neco co funguje vsude stejne je pomerne tezke - obvykle je nejvetsi uspech kdyz to funguje jen v Internet Exploreru. Projekt vytvoreny na nejakem jinem PC nemusi jit nacist jinde a podobne.

Flashove hry jako exe si pamatuju nekdy z roku 1997, byly to zname hry jako krecek v mixeru a zaba v mixeru. Od te doby ale uplynulo 20 let.

Reseni problemu je velice jednoduche - zapomen na to, ze by to bezelo online cele z webu. Vytvor normalniho klienta, ktery pobezi na pocitaci, tabletu nebo telefonu a bude se pripojovat na server. Usetris si tim spoustu problemu a hru muzes vytvorit v cem budes chtit, ne v prisernosti zvane Flash ktera na kazdem PC dokaze fungovat jinak.

Re: Tvorba 2D her

Napsal: 17 srp 2017 22:40
od faraon
Flash prostě končí, pozdě ale přece: https://www.zive.cz/clanky/a-je-to-tady-legendarni-flash-player-konci-z-webu-definitivne-zmizi-v-roce-2020/sc-3-a-188749/default.aspx
Některé prohlížeče ho už nějaký čas omezují nebo úplně vypínají, právě kvůli bezpečnostním problémům.

Herní doba nezáleží na použité technologii, ale na obsahu. Dokážeš vymyslet něco co lidi upoutá a udrží u počítače? Něco k čemu se budou pořád vracet a chtít pokračovat? Někomu stačí pořád dokola sázet mrkev ve Farmeramě, a není takových úplně málo.
Samozřejmě jsou hráči kteří vyžadují aspoň miliardu pixelů na obrazovce a minimálně dvanáctikanálový zvuk, ale ti asi nebudou tvoje cílová skupina. Spíš se zkus poučit z osvědčených klasik jako třeba Lemmings:
https://www.youtube.com/watch?v=xIuxB1oR2WQ

Jistotu ti dá jedině to že tu hru uděláš a chytne se, prostě to zkus.

Re: Tvorba 2D her

Napsal: 18 srp 2017 10:41
od Deibellos
Děkuji,
na to, že je flash zdechlina, tak stále dokáže zblbnout pár jedinců jako jsem já. K tomu jsem ještě našel pár flash veteránů, kteří jsou dost smutní, že jde flash do pryč. Ale nebojte, nemám v plánu tvořit flashovky. Díky výraznější většině, co jsou proti flash, jsem naštěstí zmoudřel. :lol:

Dobře, nejsou žádné argumenty proti html5+javascript, takže zatím se nebudu hrabat v C++ nebo v C#.
Prozatím tedy půjdu cestou přes html5+javascript. Ty na rozdíl od c++ jdou dávat na internet jako flashovky. Pak uvidím, jestli s nimi pak zvládnu tvořit obsahově větší hry a udělat z nich spustitelnou minimálně windows aplikaci bez potřeby internetu. Demo bych dával na internet.
Můj 3. cíl je pouhý bonus, který když už budu řešit tak za pěkně dlouho. Pokud ale na to html5+javascript+(PHP+...) stačí, tím líp. Alespoň budu moci používat adobe animate cc, který chci zejména kvůli tvorbě grafiky, animací a obsahu právě html5+javascriptu.

Ještě jednou - díky moc :thumbup:

Re: Tvorba 2D her

Napsal: 18 srp 2017 11:05
od satik
Ahoj, v Javascript + WebGL uděláš cokoliv menšího relativně v pohodě, problém bude pak u větších věcí, protože Javascript je v porovnání s newebovýma jazykama (třeba C++ / C#) přece jenom dost výrazně pomalejší.

Další nevýhoda Javascriptu je, že se hodně rychle vyvíjí jak samotnej jazyk, tak všechny JS frameworky, takže s čím dneska začneš dělat projekt už bude za pár měsíců zastaralý.

A další problém je, že nerozlišuje proměnné podle obsahu - je to sice pohodlný a jednoduchý pro nováčky, ale časem zjistíš, že je to spíš nevýhoda - vyšší chybovost kódu, nižší rychlost.

Klidně v JS ale můžeš začít, na nějaký základní věci to stačí, časem pak případně můžeš přejít třeba na C# a Unity, který taky podporuje hry v prohlížečích.

Re: Tvorba 2D her

Napsal: 18 srp 2017 12:46
od Deibellos
Děkuji za první užitečný proti-argumenty. :thumbup:
Alespoň na to budu připravený. Jsou se zastaralými JS dost závažné problémy?
Možná pro jistotu do svého programátorského vývoje přecejen postupně zahrnu i C#, abych se na konci tolik nezdržoval.

Re: Tvorba 2D her

Napsal: 18 srp 2017 13:05
od faraon
Malý OT ohledně programátorského vývoje, tady se asi jako obvykle rozjede další padesátistránkový flame: https://forum.root.cz/index.php?topic=16108.msg222306 :lol:

JS je samozřejmě pomalejší, jako všechny interpretované jazyky. Ale je otázka jestli ho brzdí samotný interpret nebo čím dál nafouknutější a nafoukanější frameworky ;-)
Koukni se kdy a na čem běhalo tohle: https://en.wikipedia.org/wiki/CHIP-8

Re: Tvorba 2D her

Napsal: 18 srp 2017 15:43
od Deibellos
K malému OT ohledně programátorského vývoje, tak daleko jsem se v programování ještě nedostal. Takže nevím, co je DRY, KISS, LSP apod. Nevím, co jsou to "Typové třídy" a nevím, jestli haskell nebude nakonec lepší varianta než C#. Ani nevím, co je to vlastně zač :lol:

Tak to se těším na 2. a 3. cíl. JS zpomalený interpretem, než začnu ty poslední dva cíle dělat, tak ještě 6x modernější a nafoukanější frameworky a nakonec obsahem nafoukaná hra....
Jen doufám, že bude snadné a rychlé textově předělat obsah html5+javascript+.. na obsah C# :lol:

Ještě blbá otázka, existuje neinterpretovaný webový jazyk?

Re: Tvorba 2D her

Napsal: 18 srp 2017 19:26
od faraon
Neinterpretovaný webový? Napadá mě snad jedině ActiveX, ale to je smrdutá příšera z hlubin dávné minulosti, a něco tak šíleně nezabezpečeného, že Flash je proti tomu Fort Knox. Prostě si z libovolného navštíveného webu stáhneš exáč a automaticky ho spustíš přímo prohlížečem, prostě M$ geniální, ne? :lol:

Ony i jazyky jako Java a C# jsou v podstatě interpretované, akorát ten virtuální stroj tam funguje trochu jinak a provádí optimalizace za běhu. Takže program má pomalý rozjezd, ale postupně zrychlí skoro na úroveň kompilovaného kódu. Takže špatně napsaný program v C++ může být pomalejší než dobře napsaný program v Javě, pokud se do toho teda nezamíchá nějaký ten framework :lol:

Nejdůležitější je asi to KISS: "Keep It Simple, Stupid". Respective "for Stupid", záleží na kontextu. Prostě piš programy tak jednoduše, aby se v tom vyznal i blbec. Čili ty sám za půl roku :evil:

Mimochodem, nedávno jsem narazil na tohle, a předpokládám že je to dobře napsaná satira: https://www.rarous.net/weblog/448-deset-duvodu-proc-nepouzivat-funkcionalni-jazyky.aspx
Když jsi začátečník, tak asi určitě neznáš tuhle klasiku: http://www.logix.cz/michal/humornik/Pojidaci.Kolacu.xp
A tohle také patří mezi posvátné svitky: http://www.ariel.com.au/jokes/The_Evolution_of_a_Programmer.html

Re: Tvorba 2D her

Napsal: 18 srp 2017 22:20
od Deibellos
Ta dobře napsaná satira mě dobře pobavila :lol:
Posvátný svitek byl taky pěkný. S tou klasikou jsem se ještě neseznámil. Budu si ji ale muset přečíst ještě jednou, možná nejprve se seznámit s historií. Abych si ověřil, zda-li jsem to pochopil správně.

Ale funkcionální jazyky vypadají dobře. Těžké do nich zanést chybu.
Méně řádků = rychlejší cyklus algoritmu => rychlejší než ostatní jazyky? Nebo se to v tom šrotuje a teorie je tím pádem nepravdivá?

No, závorky, deklarace apod. by mi asi taky chyběly a radši budu pracovat na něčem daleko ověřenějším a používanějším. Takže se do funkcionálních jazyků raději nebudu pouštět.