Autor Zpráva
toshi
Profil *
Ahoj,
před pár týdny jsem se hecnul v hospodě s kamarádama, že zkusím implementovat jednoduchou online hru využívající nějaké z html5 vlastností moderních browserů, a v PHP... Padla volba na poker a abych si to udělal ještě jednodušší šmrcnul jsem to bitcionama (co kdyby nahodou to fungovalo žejo).

Tak zkuste http://tehpoker.com

Jestli vás zajímá technická část, tak:

Na serveru (pouze PHP!):
- Symfony (http://symfony.com/) pro samotný portál
- Ratchet (http://socketo.me/) server pro asynchronní komunikaci websocketů

V browseru:
- Twitter bootstrap (http://twitter.github.com/bootstrap/), design
- Autobahn js (http://autobahn.ws/js) pro komunikaci s Ratchetem
- Backbone js (http://backbonejs.org/) pro modely a view v js
- Buzz! (http://buzz.jaysalvat.com/) html5 zvuky
- lesscss, jquery...
- a malá část napsána v Dartu (http://dartlang.org)

Překvapení číslo jedna je že PHP umí pří troše snahy fungovat taky asynchronně. Překvapení číslo dva, že programovat hry je velká zábava. Nepřekvapení číslo tři, Javascript stále nesnáším, další hru (kterou už mám rozepsanou) bych chtěl napsat komplet v Dartu. Poslední lekce je, že i tak "jednoduchá" hra jako je poker je implementačně sakra těžká.
shaggy
Profil
toshi:
Nechápem toto:
No registration
vs
Sign in with Facebook, Google+ or Twitter and you can play!
Pre mňa to je druh registrácie.

A tiež nerozumiem, prečo na tak relatívne jednoduchú aplikáciu bolo potrebné doťahovať tak veľké množstvo frameworkov (myslím, že zbytočných). Potom sa nikdy nenaučíš poriadne programovať a budeš kód iba lepiť, je to aj vidieť na stránke:
<script type="text/javascript">
    $(document).ready(function() {
        sounds.decreaseVolume(0);
    })
</script>

    <script type="text/javascript">
    $(document).ready(function() {
        var modal = $('#report');
...        

Překvapení číslo jedna je že PHP umí pří troše snahy fungovat taky asynchronně.
Toto by si mohol trochu rozviesť, rozpísať sa o tom.
Jan Tvrdík
Profil
shaggy:
A tiež nerozumiem, prečo na tak relatívne jednoduchú aplikáciu bolo potrebné doťahovať tak veľké množstvo frameworkov
Třeba si je chtěl vyzkoušet. Navíc používání knihoven šetří čas.
shaggy
Profil
Jan Tvrdík:
Navíc používání knihoven šetří čas.
Hej. A potom to vyzerá tak, že na jednej stránke používajú prototype, aj jquery (lebo na jedno našli lightbox a na druhé našli pekné animované hodinky) a nechápu, prečo im ten $ nechce fungovať.
+ úspora času u niektorých spomenutých je viac než otázna (napr. Twitter bootstrap).
toshi
Profil *
shaggy:
Nechápem toto

Registrace = vyplňování formulářů. Zde jen klikáš, chápeme registraci rozdílně...

shaggy:
A tiež nerozumiem, prečo na tak relatívne jednoduchú aplikáciu bolo potrebné doťahovať tak veľké množstvo frameworkov

Ono to jednoduché není ani relativně, bohužel. Jsem end-to-end developer a pokud bych měl trpět syndromem not invented here tak nikdy nenaprogramuju nic, všechny použité prostředky mají svůj důvod. Ale ano, mohl bych strávit na tom desetkrát více času, v půlce by mi to přestalo bavit a nikdy bych to nedal do provozu stejně jako 99% projektů které lidi dělají :) Chápu, že koukáš do šablony (živíš se šablonama?), nicméně jestli je JS vkládané nebo ne je na leda na akademické debaty, ve finále je duléžité jestli to funguje. (A ne, neučím se programovat)
1Pupik1989
Profil
Já teda zastáncem frameworků nejsem a nikdy nebudu. Nevidím žádné screenshoty takže to neposoudím.

Nicméně tvořit poker v canvasu, když to jde i bez něj je blbost.

ps.: framework je pro ty, co v javascriptu nedokáží udělat vlastní funkci.
shaggy
Profil
toshi:
Ale ano, mohl bych strávit na tom desetkrát více času, v půlce by mi to přestalo bavit
Hm, tak to ťa asi programovanie veľmi nebaví.
Pamätám si, ako som pred rokmi objavil možnosti jQuery a bol som z toho mimo. Videl som kopu pluginov, ktoré stačilo načítať do stránky a nemusel som nič programovať. Lenže časom hneď potom, ako som ich použil, ma radosť zo stránky prešla - lebo som na nej skoro nič neurobil. A preto som sa snažil urobiť si všetko sám, to ma bavilo oveľa viac (aj keď aj ja často používam hotové riešenia, aby som si ušetril čas).

Ja nie som totálny odporca frameworkov, ako niektorí nemenovaní členovia tohto fóra (myslené v dobrom :-).
Sám rád používam napr. jQuery, poznám niekoľko php frameworkov, ale snažím sa to minimalizovať.
Keď sa pozriem na zoznam toho, čo si použil na tom webe, tak mi to pripadá ako zoznam dostupných nástrojov (nielen) pre front-end developera.

A tú otázku na asynchrónne fungovanie php som myslel vážne, naozaj ma zaujíma čo si chcel povedať touto vetou:
Překvapení číslo jedna je že PHP umí pří troše snahy fungovat taky asynchronně.
Chamurappi
Profil
Reaguji na toshiho:
Zde jen klikáš, chápeme registraci rozdílně...
Ale nejdřív se musím zaregistrovat na některé z těch uvedených služeb. Takže bys měl psát spíš „No local registration“.
Co se myslí větou „We can cancel your account without warning or compensation“ v Terms of service, když se u tebe žádný účet nezřizuje?

ve finále je duléžité jestli to funguje
Mně to nefunguje. Proč to není udělané tak, aby to fungovalo všem a všude? „No software needed“ také není pravda, protože to funguje jen v dost omezené množině vykreslovacích jader.
Nemyslím si, že bez slepení všech těch knihoven by to bylo desetkrát náročnější na výrobu, ale tenhle filozofický rozpor tady asi nevyřešíme (já mám JavaScript rád, hry v něm dělám také, fungují většinou i v Exploreru 6 a cizí knihovny používám, jen když mi opravdu pomáhají … takže čím dál méně).

A ne, neučím se programovat
1) Proč u globálních proměnných nepoužíváš var?
2) for(var lasthash in chips) { } — tady nemáš jisté, co v lasthash bude (i když je to jedno, protože tu proměnnou nepoužíváš).
3) values['v50000'] = parseInt(value / 50000); — zaokrouhlování na celá čísla se dělá metodou Math.floor. Převádět číslo na řetězec a z něj pak parsovat není nutné (a ani to nefunguje pro všechna čísla).
4) ignore_allins = (typeof ignore_allins !== 'undefined') ? ignore_allins : false; — tenhle řádek je zbytečný, !undefined je stejné jako !false.

Gradientu na pozadí chybí dithering, takže jsou v něm vidět rušivé proužky.
Poker neumím, takže hru hodnotit nemůžu. Jen mě tu teď trochu irituje, že mi to tu v jiném prohlížeči furt vydává karetní a přihazovací zvuky, i když není jeho okno aktivní :-)
toshi
Profil *
1Pupik1989:
Nicméně tvořit poker v canvasu, když to jde i bez něj je blbost.

Žádný canvas tam není. Probůh. Naopak je to uděláno naprosto hloupě manipulacemi s DOMem i když jsem měl použí SVG, halt příště...

shaggy:
A tú otázku na asynchrónne fungovanie php som myslel vážne, naozaj ma zaujíma čo si chcel povedať touto vetou:

Asynchronous programming nebo non-blocking programing - zkus google, poslední mantra javascriptu a node.js, neznáš? Realtime webové aplikace bez toho "téměř" nelze programovat.

Chamurappi:
Mně to nefunguje
Kde ti to nefunguje? Abys mohl hrát MUSÍŠ mít moderní prohlížeč, protože se používají technologie, které jsou jen v moderních prohlížečích. Samozřejmě bych mohl některé věci degradovat, ale nedává to smysl protože je ta hra beztak obestavěná okolo websocketů a jejich vlastností.

Javascript je mi protivný, proto to vypadá jak to vypadá, přiznávám. Prototypy jsou mi cizí a backbone to dvakrát nezachraňuje, byť to celé funguje nepřišel jsem mu ani tentokrát na chuť. Hra kterou mám momentálně rozepsanou už je v Dartu (nebe a dudy).
1. asi netuším které přesně myslíš, 2. nadbytečná řádka z ladění, 3. ano, to je samozrejme nesmysl, floor znam, uplne presne netusim proc jsem to tam takhle dal 4. tohle je nejvetsi zlo javascriptu vubec, defakto nadbytecna radka, ale jen do te chvile nez zacnu kod menit a tahle souvislost mi unikne

Dithering je problem predevsim tveho prohlizece, to nebudu fixovat. Zvuky irituji ja vim :)

Jinak tohle je proof of concept, neni zamerem aby to fungovalo vzdy a vsude stejne jako kdejake firemni stranky, na to by byla potreba spousta nezazivne prace a ladeni a za to mi muj cas nestoji :)
shaggy
Profil
toshi:
Asynchronous programming nebo non-blocking programing - zkus google
Ja sa nepýtam na to, čo nájdem v google, ani na to, aké buzzwordy teraz letia (node.js). Zaujíma ma, čo to znamená v spojení s tvojou aplikáciou, reálne využitie, prípadné problémy v spojení s php atď. Lebo ma to skutočne zaujíma.
1Pupik1989
Profil
toshi:
Žádný canvas tam není. Probůh.

Tak pokud to není žádný canvas, tak předpokládám ani SVG. Tudíž vzniká otázka proč by to nešlo v ostatních prohlížečích? Podle mě hýbání s elemtama jde ve všech prohlížečích podporujících javascript. Nicméně jsem se na tu stránku koukal z mobilu a tam se mi rozsypala jako kartičky když stavíš pyramidu. Jediné co vím, tak že to je poker, to je tak vše (kdyby si to nenapsal, tak to nevím). Proč bych se registroval někam o čem nic nevím?.

PS.: To asynchronní PHP by mě taky zajímalo.
toshi
Profil *
1Pupik1989:
Nicméně jsem se na tu stránku koukal z mobilu a tam se mi rozsypala jako kartičky když stavíš pyramidu.

Právě pokud by bylo v SVG tak se to nesype (ovšem pokud by ho prohlížeč na mobilu podporoval), upřímně to považuju za chybu, že jsem po něm nešáhl. Nicméně to, že to nefunguje a ani že jsem se to nesnažil ladit má tenhle důvod http://caniuse.com/#feat=websockets

shaggy:
Zaujíma ma, čo to znamená v spojení s tvojou aplikáciou, reálne využitie, prípadné problémy v spojení s php atď.

Už jsem to psal na začátku, podívej se na Ratchet (http://socketo.me/). PHP v tomhle směru je hodně omezené, nicméně dá se oklikou nějaká funkcionalita zprovoznit buď přes streamy nebo přes http://php.net/manual/en/book.libevent.php. (Mimochodem můžete zkusit implementovat celé rfc http://tools.ietf.org/html/rfc6455 když tak nemáte rádi frameworky)
Webby
Profil
Ale jo, líbí, je to zajímavé.
1Pupik1989
Profil
Já osobně bych se poohlédl spíše po long pollingu a ajaxu. Přeci jen ta podpora je pak mnohem (čtěte: mnoooooohem) větší. Možná ani long polling by nebyl potřeba.
unlucky
Profil
na webtrhu ho lide chvali, zde tu maji vsichni nejake pripominky :)
Kcko
Profil
unlucky:
Klasika, použil framework, tak se do něj všichni pustili ;-).

Taky zkusím klientovi navrhnout, že mu nějaký plugin ,slider / draggable / sortable ... etc., který stáhnu, naimplementuji , naskinuji do hodiny, budu psát hodiny 4 nebo déle (dle náročnosti), jestli mi To zaplatí.
...
shaggy
Profil
unlucky:
Na webtrhu je aj plno detí s obchodným duchom na "vysokej úrovni" a som veľmi rád, že tu nie sú. Nemá zmysel porovnávať dve fóra, ktoré sú zameraním (už podľa názvu - webtrh vs jakpsatweb) úplne iné.

Kcko:
Neškodilo by prečítať si celú tému, potom by si nepísal také nezmysli.
Ja sám používam frameworky, nevidím nič zlé na ich použití. Ale prečo by sme ho mali chváliť za to, že do jednoduchej aplikácie ich napchal viac než dosť?
Keby mu tie stiahnuté frameworky zaručovali aspoň maximálnu podporu jednotlivých prehliadačov (nie je to práve úloha tých frameworkov?), tak nič nepoviem.

budu psát hodiny 4 nebo déle (dle náročnosti), jestli mi To zaplatí.
Robil to pre seba. Keď niečo vyvíjam pre vlastnú potrebu, tak sa na tom snažím zdokonaliť a nie iba bezhlavo lepiť kód.
Chamurappi
Profil
Reaguji na toshiho:
Kde ti to nefunguje?
V Exploreru 7 :-) … píšeš, že není potřeba žádný speciální software.

Abys mohl hrát MUSÍŠ mít moderní prohlížeč
Teď jsem u jiného počítače, tady mi to nefunguje v žádném prohlížeči. Potřebuješ speciální podporu nejen ze strany prohlížečů, ale i ze strany proxy serverů po cestě (a ten, co mám tady, podporou nedisponuje). Kdybys používal normální HTTP, neměl bys problém. Jasně, je to „proof of concept“… důkaz toho, že stavět projekt jen na samotných WebSocketech je (alespoň zatím) sebevražda, protože i kdyby výsledek vyzařoval obdivuhodnou eleganci návrhu, bude to stále jen polofunkční hračka, která sice nadchne faktem, že je na webu, ale zároveň zklame tím, že neběží spolehlivě všem. Ač by při jiném postupu mohla.

Podle mých zkušeností dělají tyto experimenty hrám psaným v JavaScriptu dost špatné jméno… technicky méně znalí zadavatelé chtějí raději flash nebo nativní aplikace, jelikož jsou permanentně udržováni v nedůvěře k faktu, že HTML+CSS+JS dokáže fungovat všude.

1. asi netuším které přesně myslíš
Player a spol. — to, že jsou to konstruktory, neznamená, že nejsou proměnnými. Jsou to obyčejné globální proměnné, do nichž je přiřazena funkce.

defakto nadbytecna radka, ale jen do te chvile nez zacnu kod menit a tahle souvislost mi unikne
Pokud nebudeš proměnnou testovat na identitu s false, nebo porovnávat shodu s proměnnou jiného typu než boolean, tak si tu souvislost nepotřebuješ pamatovat.

Dithering je problem predevsim tveho prohlizece, to nebudu fixovat.
Ty znáš nějaký, který by dithering používal? Já ne. Ve všech jsou CSS gradienty pruhované…


Reaguji na unluckyho:
Ano, na Webtrhu očividně nenabízejí kvalitní kritiku, ale jen povrchní přátelské poplácávání :-)
Kcko
Profil
shaggy:
Četl jsem.

Robil to pre seba. Keď niečo vyvíjam pre vlastnú potrebu, tak sa na tom snažím zdokonaliť a nie iba bezhlavo lepiť kód.
Takže ty když píšeš věc pro sebe (projekt) ne plugin, tak si píšeš všechno od píky sám? Nepoužiješ nic hotového? Na jeho kód jsem nekoukal, ale předpokládám, že když to dal celé do kupy a použil vícero různých frameworků, tak to zase takový lepič nebude. Jako lepiče vidím lidi v sekci PHP, kteří zkopírují torza skriptů do sebe, nerozumějí ani tomu, co dělá příkaz echo, chtějí tam cosi dodělat a otravují tady s tím, prosí, žadoní, vztekají se nad neochotou pomoci nebo odkazování nás do sekce Práce a zakázky.


Ale prečo by sme ho mali chváliť za to, že do jednoduchej aplikácie ich napchal viac než dosť?
Myslím, že chtěl zhodnotit funkčnost aplikace a ne to, abys mu tady dělal přednášku o lepení více FW do sebe, inteligentní je na to tuším dost, aby poznal rozdíly. Navíc to mohl být i test, jak se mu s čím pracuje, například už ví, že bude příště dělat v DARTu.


Chamurappi:
V Exploreru 7 :-)
Ten budeš používat ještě jak dlouho?


Ano, na Webtrhu očividně nenabízejí kvalitní kritiku, ale jen povrchní přátelské poplácávání :-)
JJ za to tady je to plejáda inteligentních a konstruktivních kritik a vyjádření viz [#6] 1Pupik1989
shaggy
Profil
Kcko:
Takže ty když píšeš věc pro sebe (projekt) ne plugin, tak si píšeš všechno od píky sám? Nepoužiješ nic hotového?
Prosím, nauč sa čítať:
Ja sám používam frameworky, nevidím nič zlé na ich použití.

Budem písať boldom, aby si to tentokrát neprehliadol:
Používam frameworky, ale som proti bezhlavému používanie knižníc na každú blbosť (hlavne ak si to dokážeš urobiť sám).

tady je to plejáda inteligentních a konstruktivních kritik
Stále lepšie, ako si mazať med okolo huby a nadávať na spoločných nepriateľov (OAuth a pod.). Alebo máš pocit, že príspevky typu povedlo se! sú konštruktívne?
toshi
Profil *
1Pupik1989:
Já osobně bych se poohlédl spíše po long pollingu a ajaxu. Přeci jen ta podpora je pak mnohem (čtěte: mnoooooohem) větší.

Souhlas, provar s degradací na long polling je ten, že na to musíš mít připraven klienta i server - což je sakra velké kvantum kódu navíc. Luxus jako je socket.io + node.js bohužel nemohu použít.

shaggy:
Robil to pre seba. Keď niečo vyvíjam pre vlastnú potrebu, tak sa na tom snažím zdokonaliť a nie iba bezhlavo lepiť kód.

Vidíš, já uznávám raději dont worry be crappy. Resp. podnikání mě naučilo raději slepený nedokonalý projekt než žádný dokonalý projekt.

Ale prečo by sme ho mali chváliť za to, že do jednoduchej aplikácie ich napchal viac než dosť?

Prosím zkus si to sám, opravdu jsem dalek toho, že by to byla jednoduchá aplikace. Zkus si večer sednou a pouze si implementovat vyhodnocování kombinací+sázek, je to takové hezké cvičení :)

Chamurappi:
V Exploreru 7 :-) … píšeš, že není potřeba žádný speciální software.

Ano, ale je tam dovětek o modern browser ;) Pro žádné klienty nedělám, nepotřebuju nikoho edukovat v technologiích, taktéž nemám čas, prostředky ani důvod dělat svoje pet projekty pro všechny i s obskurním browserem.
(já to pruhované nemám, ale je možné že to jinde vypadá hůře, myslíš nahradit obrázkem?)

Ano, na Webtrhu očividně nenabízejí kvalitní kritiku, ale jen povrchní přátelské poplácávání :-)

To je zaměřením, na webtrhu se řeší výsledek, tady se řeší technické prostředky.

Kcko:
Navíc to mohl být i test, jak se mu s čím pracuje, například už ví, že bude příště dělat v DARTu.

To bylo to hlavní. Spoustu věcí bych udělal jinak, ale to bych se nejspíš nedověděl kdybych se potřeboval zabývat podružnostma jako je funkcionalita v IE7.

shaggy:
Používam frameworky, ale som proti bezhlavému používanie knižníc na každú blbosť (hlavne ak si to dokážeš urobiť sám).

Myslíš, že používám "knižnice" bezhlavě? Které?
1Pupik1989
Profil
Kcko:
Tím jsem myslel používat knihovny tam, kde není potřeba je blbost. V dnešní době místo getElementById všichni radši natáhnou JQuery, což mi fakt logické nepřipadá. Přímo proti používání knihoven nejsem, pokud se využívají s rozumem.
final
Profil
SyntaxError: missing ) after argument list
[Break On This Error]     

...!doctype html><html><body><script type="text/javascript">ANCHORFREE_VERSION="413...

tehpoker.com (line 94, col 60)
    

ReferenceError: run is not defined
[Break On This Error]     

run();

tehpoker.com (line 84)

ReferenceError: $ is not defined
[Break On This Error]     

$(document).ready(function() {

tehpoker.com (line 88)

ReferenceError: $ is not defined
[Break On This Error]     

$(document).ready(function() {
:o)
Chamurappi
Profil
Reaguji na toshiho:
já to pruhované nemám, ale je možné že to jinde vypadá hůře
Proužky jsou tenké (eliptické), ale vidět jsou i na kvalitním monitoru. Záleží též na kalibraci barev.

myslíš nahradit obrázkem?
Můžeš si zkusit najít knihovnu, která ti vygeneruje přechod s ditheringem :-)
Obrázek by byl asi velký, protože dithering je pseudonáhodný šum, při němž se trochu promíchají sousední pixely, aby ošálily lidské oko, které je vytrénované na hledání hran.

Zkus si večer sednou a pouze si implementovat vyhodnocování kombinací+sázek
Tohle je trochu jiné zadání. Spíš je otázka, jestli by ty věci okolo, na které používáš knihovny, nešlo napsat efektivněji (a možná i rychleji či kompatibilněji) bez nich.

provar s degradací na long polling je ten, že na to musíš mít připraven klienta i server
Poker je tahová hra, ne? Nepotřebuje ani long polling, ani WebSockety, utáhl by to obyčejný AJAX.
Na zvuk bys místo Buzzu mohl použít SoundManager2, který má flashový fallback.

Chyby, na které upozorňuje final, má dost možná na svědomí také nějaký proxy server. Nejspíš se snaží stránku zmačkat do úspornějšího balíčku a k tomu potřebuje vlepit do ní jakýsi svůj skript. V tomto případě se pokouší zmačkat i HTML kód stránky tehpoker.com/js/includes.php, potíž je v tom, že ty tuhle HTML stránku načítáš jako JS a zmačkáním vznikne syntakticky vadný JS. Zkus nastavit správný Content-Type a proxy si to rozmyslí. (Ale možná je příčina jinde.)
toshi
Profil *
Chamurappi:
Tohle je trochu jiné zadání. Spíš je otázka, jestli by ty věci okolo, na které používáš knihovny, nešlo napsat efektivněji (a možná i rychleji či kompatibilněji) bez nich.

Ale jistěže by šlo napsat efektivněji, ale rychleji bych neřekl - alespoň v mém případě - javascript není můj oblíbený jazyk a vzhledem k tomu, že knihovny co používám jsou testované na více systémech než mám k dispozici, je to jednodušší volba.

Poker je tahová hra, ne? Nepotřebuje ani long polling, ani WebSockety, utáhl by to obyčejný AJAX.
Na zvuk bys místo Buzzu mohl použít SoundManager2, který má flashový fallback.

Ano je, že by to šlo vyřešit starší technologií vím, jenže to by pak nebylo ani moc html5 a navíc by to pro mě nebyla taková zábava programovat. Nechci zůstat jen u karet ostatně. Technicky je ajax horší protože je výrazně pomalejší a problémovější než obousměrný socket. SoundManager jsem taky dohledal při prvotním výběru - ale padla volba na jednodušší a menší Buzz, ale to je zrovna věc kterou jsem si mohl udělat sám bez knihoven (a příště to tak beztak bude protože dart ma ke zvuku api) když už starší browsery nepodporuji. Ale nevím proč tě tak moc dráždí, že to je jen pro browsery které umí html5 featury :)

Chyby, na které upozorňuje final, má dost možná

Tak tohle by mi v životě nenapadlo, dává to smysl (nic jako ANCHORFREE_VERSION="413 v kódu nemám)...
Chamurappi
Profil
Reaguji na toshiho:
jenže to by pak nebylo ani moc html5
Uživatel nepotřebuje, aby to bylo „víc HTML 5“. Děláš to pro uživatele? Nebylo by lepší, kdyby jich bylo víc?

navíc by to pro mě nebyla taková zábava programovat
Neřešit problémy není zábava :-)
Krom toho na potíže s kompatibilitou existují hotové knihovny. (Až na ty WebSockety.)

Ale nevím proč tě tak moc dráždí, že to je jen pro browsery které umí html5 featury :)
Protože návštěvníkovu volbu uznávám víc než rozhodnutí autora stránek. V duchu Postelova zákona.

Krom toho, jak jsem již řekl — podívej se na weby určené pro normální lidi s hrami hratelnými v prohlížeči, drtivá většina jich je napsaná ve flashi, včetně těch, které vznikají teď. Protože autoři javascriptových her nejdřív naříkali „my potřebujeme používat alfakanál a starý Explorer ho neumí“. Jakmile starý Explorer vymizel, tak naříkají „my potřebujeme používat <canvas> a staré prohlížeče ho neumí“. Teď začnou naříkat „my potřebujeme používat WebSockety a staré prohlížeče je neumí“. Vytváří se tím iluze nestabilního a komerčně nepříliš využitelného prostředí, které neustále čeká na zářivou budoucnost. Převážně zbytečně.

Tvoje hra by dokázala fungovat z uživatelského hlediska úplně stejně i v prostředí před osmi lety, tehdy bych ti vysmeknul podobně stručnou poklonu jako webtržníci. Ale dneska mi to připadá… pozadu. Nehledě na to, kolik moderních pozlátek do toho našroubuješ. Kdybys dělal něco akčního, jako je třeba webový remake Bombermana, to by bylo něco jiného… (ačkoliv ani ten mi za proxy nefunguje)

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: