Maciej Sikora

Maciej Sikora Programista
aplikacji
internetowych

Temat: Realne szanse i przyszłość gier html5

Witam,
potrzebuję Waszej opinii. Jak przewidujecie możliwości rynku i tej technologii? Jeśli dysponujecie solidnymi statystykami, dowodami lub innymi twardymi faktami przemawiającymi za lub przeciw to będą one bardzo pomocne. Moją opinię o obecnym stanie stanie HTML5 możecie znaleźć - http://www.youtube.com/watch?v=nD-JQjMvIWs.

Liczę na Wasze merytoryczne wypowiedzi, najlepiej oparte na faktach.

Temat: Realne szanse i przyszłość gier html5

Narzuciłeś takie wymagania do dyskusji że nie ma chętnych :)
Ja podobnie jak ty Maćku jestem hobbistą ale swoje zdanie mam :D niestety nie mam statystyk i badani ;(
Twoja prezentacja jest ok. Ale ja bym dopowiedział kilka zdani.
Flash jest do przodu bo:
- jest straszy znaczy się nie starszy od html-a ale dłużej w wykorzystaniu w grach
- nad tą technologią pracuje jedna firma anie cztery :)
- często zapominany fakt Flash Player to nie przeglądarka tylko plugin (co prawda ponoć ten plugin ma 90% komputerów na świecie ale to nadal nie przeglądarka)
- ostatni i najbardziej moim zdaniem istotny jest to że Flash Player chyba od zawsze wymagał aktualizacji a przeglądarki nie, ba jest tak że web deweloperzy zajmują się tym aby coś działo wstecz

Jednak z moich obserwacji wynika że bardzo szybko to się zmieni.
- Robi się coraz więcej gier w html (praktyka widać co jest nie tak).
- Nad tą technologią pracuje dużo firm i jeżeli się nie pokłócą to wszystkim wyjdzie na zdrowie (a raczej się nie pokłócą bo wszyscy się znają i wymieniają informacjami).
- Coraz bardziej twórcy przeglądarek wymuszają aktualizacje swoich produktów a sami deweloperzy już rezygnują z poprawności wstecz.

to tak kilka zdani wtrącenia
Maciej Sikora

Maciej Sikora Programista
aplikacji
internetowych

Temat: Realne szanse i przyszłość gier html5

Michał dzięki za opinię. Nie ukrywam że potrzebna mi jest opinia developerów i twarde fakty, ponieważ muszę mieć dowody na niektóre moje tezy, ciężko jest znaleźć osoby które siedzą w tym po uszy.
Piotr Danielewicz

Piotr Danielewicz front-end developer,
Media 4 U

Temat: Realne szanse i przyszłość gier html5

Michał, nie wiem jak mam rozumieć tą wypowiedź "Flash Player chyba od zawsze wymagał aktualizacji a przeglądarki nie"...ale chyba zrozumiałem ją źle, bo po tej wypowiedzi mogę dojść do wniosku, ze nadal używasz IE6 lub Firefoxa 1.0 a HTML5 nigdy nigdy nie widziałeś na oczy ;)
Bez obrazy oczywiście.

Gry HTML5 myślę, że zawsze będą do tyłu względem flasha, a dlaczego tak? Można by było toczyć tutaj boje jak na wszystkich innych stronach flash vs html5, ale jak zawsze jest kilka za i przeciw.
Flash jest teoretycznie zamknięty. Ba, ma znacznie lepszą obsługę 3d, audio, video, oraz szeregu innych rzeczy, oraz prędkość wykonywania niż html w przeglądarkach. Taki urok i klątwa pluginów. Tak, zgadza się, html5 będzie miał to pewnie z czasem, kiedy flash będzie już znacznie wyprzedzał to co oferuje teraz. HTML5 jest otwarty jak najprymitywniejsza książka. Każdy sobie zobaczy kod, a jeśli masz prestiżowego klienta, który robi grę z poważnymi nagrodami a nie z nagrodą typu talon na balon, to będziesz musiał ostro się pozabezpieczać, bo jakiś cwaniaczek łatwo twój kod rozpracuje a Ty będziesz musiał się ostro tłumaczyć dlaczego ktoś mógł oszukiwać w grze.
Niestety na różnych przeglądarkach html5 różnie działa, a na niektórych nie działa, co we flashu było nie do pomyślenia.
Można by dużo jeszcze mówić o tym czy html5 i gry w nim robione się sprawdzą, ale pewnie będzie coraz większy nacisk i wzrost takich gierek...prostych bo prostych, ale to w końcu html5, lans dla "biednych"* ponad wszystko. I nawet jeśli nie wie się o co chodzi, to przecież zawsze można się pochwalić, że zrobiło się coś w nowej super technologii, nawet jeśli ta technologia nie będzie nigdy działała na IE8 ;)

* biednych bez obrazy, chodzi o to, że każdy każdy może z niego skorzystać, bez wyłożenia najmniejszych środków ;)

konto usunięte

Temat: Realne szanse i przyszłość gier html5

Piotr Danielewicz:
Gry HTML5 myślę, że zawsze będą do tyłu względem flasha, a dlaczego tak? Można by było toczyć tutaj boje jak na wszystkich innych stronach flash vs html5, ale jak zawsze jest kilka za i przeciw.
No właśnie. Nie ma samych ZA dla Flasha. WebGL w zasadzie osiąga to co ma Flash, a już Canvas w grafice 2d jest niedaleko za Flashem. Oczywiście w pewnych miejscach Flash ma przewagę, np. w częstotliwości zawieszania przeglądarek: ostatnio musiałem downgradować Flasha, bo kilka razy dziennie zawieszał mi YouTube !!! - doszło do tego, że nie mogłem grać w nowe gry na Kongregate, bo miałem ledwie jedną wersję Flasha do tyłu. Wspaniale.
Tak, zgadza się, html5 będzie miał to pewnie z czasem, kiedy flash będzie już znacznie wyprzedzał to co oferuje teraz.
Raczej przewaga Flasha maleje z każdym rokiem. Zresztą pełne 3D w html4 oferował już IE6, tylko było to niezgodne z W3C.
HTML5 jest otwarty jak najprymitywniejsza książka. Każdy sobie zobaczy kod
Bzdura. Każdy kod Flasha wysyłany jest do przeglądarki i można go tak samo dekomponować jak skompresowanego JSa. Nie ma tu wielkiej różnicy.
Niestety na różnych przeglądarkach html5 różnie działa, a na niektórych nie działa, co we flashu było nie do pomyślenia.
Flash na niektórych sprzętach też nie działa. A FlashBlock to nie jest niszowy dodatek.
Można by dużo jeszcze mówić o tym czy html5 i gry w nim robione się sprawdzą, ale pewnie będzie coraz większy nacisk i wzrost takich gierek...prostych bo prostych, ale to w końcu html5, lans dla "biednych"* ponad wszystko.
Margonem nie jest takie proste. A jest pisane w HTML4. Dopiero 1.5 roku temu przeniosłem to na jQuery, ale HTML5 to tam szukać ze świeczką, może gdzieś coś małego jest.
Piotr Danielewicz

Piotr Danielewicz front-end developer,
Media 4 U

Temat: Realne szanse i przyszłość gier html5

Bardzo lubię te wszystkie wypowiedzi że w htmlu wszystko było 10 lat temu, super ekstra, ale nikt tego nigdy nie użył na poważnie bo, albo nie działało w 90% przeglądarkach, albo chodziło jak żółw, albo napisanie prostych rzeczy było tak skomplikowane jak oprogramowanie komputera rakiety balistycznej ;) To tak jak z dobrą teściową...każdy o niej słyszał, a nikt nigdy nie widział ;)
Tym samym nikt nigdy nie pokusił się o wykonanie czegoś w tej technologii bardziej niż hobbystycznie dla pokazania światu, że wreszcie udało się coś napisać w 3D dla tylko jednej przeglądarki bo reszta interpretuje kod zupełnie inaczej niż by się chciało. Co oczywiście było normalką 10 lat temu i jest po dziś dzień. Flash natomiast był używany do projektów dla największych korporacji świata i jakoś wszystkim chodził, co więcej robił całkiem spore wrażenie.

WebGL...to jest sprawa trochę luźna. Chodzi mi o to, że owszem jest coś takiego, ale jeśli już gdzieś pójdzie to trzeba mieć wyjątkowo mocny sprzęt by chodziło z prędkością większą niż 5 klatek na sekundę. Powiem szczerze, że ja mam dostęp do 3 komputerów...na żadnym nie chodzi w ogóle...trzeba mieć wsparcie grafiki i procesora. Niesamowita sprawa. By zobaczyć 3 obracające się kwadraty muszę zmienić komputer na nowszy ;) I teraz wszyscy użytkownicy powinni lecieć do sklepu i wymieniać sprzęt ;)

Jadąc dalej kwestie bezpieczeństwa kodu. Kod flasha na wstępie jest zamknięty. Jasne, da się go rozkompilować, ale przynajmniej nie jest pisany czystym tekstem jak w przypadku htmla i JS. Flasza przejedziesz obfuskatorem i nawet najlepszy dekompiler wywali się podczas próby rozbicia kodu, a nawet bez tego wszystkie zmienne i funkcje będziesz miał tak poszatkowane, że zajmie Ci to sporo czasu by dojść co jest co.

Czy flash na niektórych sprzętach nie działa...hmm...to kwestia sporna. Mi nigdy nie zawiesił przeglądarki, nigdy nie zdarzyło się by YT się zaciął. Co miało miejsce nagminnie gdy YT używało playera html5. Obraz, dźwięk się sypał i nie dało się oglądać. Poza tym, to nie jest kwestia flasha i podejścia technologicznego, a prawdopodobnie złego napisania kodu. W html5 jest jeszcze wiele niedopracowanych rzeczy, a czasami do poprawnego odtworzenia dźwięków nadal używa się kontrolek flashowych ;)

Reasumując. Flash zawsze był największym złem dla osób, którzy mieli nieco ograniczone pojęcie o internecie, a dla których flash był właśnie złem w postaci upierdliwych banerków na pudelku i innych szmatławcach. Ale trzeba pamiętać, że to nie była wina technologii tylko samych ludzi, którzy tak ją wykorzystywali. Przez to została znienawidzona. Ciekaw jestem jak sobie poradzą wszyscy haterzy, jeśli przyjdzie im oglądać reklamy, banerki i inne przeszkadzajki kiedy wejdzie era banerków w html i Javascript...czy wtedy adblock Wam pomoże ;) Kompy Wam zamulą tak, że Internet Wam obrzydnie totalnie ;) Oczywiście to jest super czarna wizja, ale kto wie...przecież liczy się reklama.
Zgadzam się z jednym, Flash powoli wymiera. Przynajmniej jeśli chodzi proste galeryjki dla prostych ludzi oraz jakieś animacje na stronie i slidery. To racja, ale jeśli ktoś uważa, ze to wszystko do czego flash był wykorzystywany przez ostatnie 10 lat to bardzo mało wie o flashu i tej technologii. W innych dziedzinach nadal wiedzie prym i posiada takie umiejętności i używany jest do takich zadań, do których html i JS nikt nie ma odwagi go użyć...;)

No i znów zrobił się dym flash vs HTML ;)

konto usunięte

Temat: Realne szanse i przyszłość gier html5

Mam Macieju takie drobne pytanie w temacie: czy te kwadraty, które prezentowałeś na LubCamp to kod pisałeś w HTML5 czy w JS ?

konto usunięte

Temat: Realne szanse i przyszłość gier html5

Piotr Danielewicz:
Bardzo lubię te wszystkie wypowiedzi że w htmlu wszystko było 10 lat temu,
Margonem działało 6 lat temu. Inna sprawa, że w tamtych czasach nie było dobrych webdeveloperów. Byli dobrzy designerzy, ale np. o programowaniu Direct3D w IE poza MSNem znalazłem 1 (słownie: JEDNĄ) stronę japońskojęzyczną z przykładami. Nie było na to potrzeby, nie było takich wizji, ani o AJAXie się nie mówiło kiedyś (pierwsza wersja margo działa na ukrytej iframe). To tak samo jak z tabletami - weszły w złym momencie, źle przygotowane, ale sama idea była słuszna.
Flash natomiast był używany do projektów dla największych korporacji świata i jakoś wszystkim chodził, co więcej robił całkiem spore wrażenie.
Wrażenie tandety. Zawsze strony Flashowe, zwłaszcza te starsze, kojarzyły mi się ze światem zamkniętym w prostokącie <object> i prymitywną grafika wektorową. Do tego dochodziła chora niefunkcjonalność, typu niemożliwość zaznaczania textu czy brak indexowania takich stron przez google oraz niemożliwość podania link do konkretnej podstrony - teraz większość naprawili, ale obrazuje to jak Flash od zawsze był zacofany. To były tylko puste efekty graficzne.
WebGL...to jest sprawa trochę luźna. Chodzi mi o to, że owszem jest coś takiego, ale jeśli już gdzieś pójdzie to trzeba mieć wyjątkowo mocny sprzęt by chodziło z prędkością większą niż 5 klatek na sekundę. Powiem szczerze, że ja mam dostęp do 3 komputerów...na żadnym nie chodzi w ogóle...trzeba
Na moim starym PC (Core2Duo i Radeon HD4850) ta gra HexGL z prezentacji chodzi idealnie płynnie i w FF i w Chrome. FF - Chrome pokrywają 80-90% rynku dla userów gier w przeglądarkach.
a nawet bez tego wszystkie zmienne i funkcje będziesz miał tak poszatkowane, że zajmie Ci to sporo czasu by dojść co jest co.
Bla bla bla. Dokładnie tak samo jak w JS. Do tego w JS można robić różne dodatkowe utrudnienia ze względu na fleksyjność języka, np. zdefiniować funkcję a potem ją podmienić na inną podaną przez AJAXa.
Czy flash na niektórych sprzętach nie działa...hmm...to kwestia sporna. Mi nigdy nie zawiesił przeglądarki, nigdy nie zdarzyło się by YT się zaciął. Co miało miejsce nagminnie gdy YT używało playera html5. Obraz, dźwięk się sypał i nie dało się oglądać. Poza tym, to nie jest kwestia flasha i podejścia technologicznego, a prawdopodobnie złego napisania kodu. W html5 jest jeszcze wiele niedopracowanych rzeczy, a czasami do poprawnego odtworzenia dźwięków nadal używa się kontrolek flashowych ;)
A tu się zgodzę, przeglądarki mają jeszcze jakieś dziwne problemy z tym. Ale Flash jest niestabilny również i na hasło "flash crashes" masz 60mln wyników - dziwne nie?

> Reasumując. Flash zawsze był największym złem dla osób,
którzy mieli nieco ograniczone pojęcie o internecie,
LOL. Flash zawsze był dla tych, którzy nie radzili sobie z HTMLem i JSem, a woleli myszką klikać.
Ale trzeba pamiętać, że to nie była wina technologii tylko samych ludzi, którzy tak ją wykorzystywali.
I wina możliwości, które Flash dawał.
Ciekaw jestem jak sobie poradzą wszyscy haterzy, jeśli przyjdzie im oglądać reklamy, banerki i inne przeszkadzajki kiedy wejdzie era banerków w html i Javascript...czy wtedy adblock Wam pomoże
Pomoże. Robi to dzisiaj, co ma jutro przestać?
Zgadzam się z jednym, Flash powoli wymiera.
Tu jest stała zależność - z prostszych zadań HTML wypiera Flasha, a Flash umożliwia co raz cięższe rzeczy - ale ile tak można iść? W końcu Flash stanie pod murem.
No i znów zrobił się dym flash vs HTML ;)
A o czym ten temat? O tym czy HTML już się do gier nadaje.
Piotr Danielewicz

Piotr Danielewicz front-end developer,
Media 4 U

Temat: Realne szanse i przyszłość gier html5

Jeśli już tutaj bawimy się w cytowanie/komentowanie cudzych argumentów i próbę ich przełamywania, to i ja też się do tego przyłączę.

>>> Margonem działało 6 lat temu
...ile takich gier w htmlu powstało do tej pory? pewnie nie z milion, czyli tyle ile we flashu w tym samym czasie ;)

>>> Wrażenie tandety.
Słuchaj, nie przekładaj tutaj swoich osobistych odczuć na grunt światowy. To że jedni mają coś za tandetę nie oznacza, że sami nie są tandetni (bez obrazy). Jedni wolą blondynki inni brunetki albo rude (swoją drogą rude też potrafią być fajne ;) )
Mówisz o prostokącie, tak jakby cały html składał się z kółek albo trójkątów. Zwłaszcza object Canvas. Sorry, ale sam sobie strzeliłeś w stopę tym argumentem. Znikoma wiedza w htmlu mówi mi, że wszystkie obiekty w kodzie html są oparte na prostokątach. Chyba, że coś się zmieniło w ostatnich czasach

>>>"...prymitywną grafika wektorową"
Nie wiem ile gierek flashowych widziałeś, ale musiało być ich strasznie mało. Czy nie pomyliłeś czasem flasha z apletem Javy do emulacji gier ze spectruma?

>>> "chora niefunkcjonalność, typu niemożliwość zaznaczania textu czy brak indexowania takich stron przez google oraz niemożliwość podania link do konkretnej podstrony"
Wszystkie te rzeczy flash miał od początku, tylko nikomu nie chciało się tego robić bo rynek tego nie wymagał. Tak samo jak od htmla nie wymagano by trzymać się standardów w3c, semantyczności itp.
Zaznaczanie tekstu wynikało z chęci developera/klienta i włączenia jednym klawiszem opcji select text lub nie. Indeksowanie również było, link do konkretnej podstrony można było spokojnie zrobić i wiesz co? To wszystko działało dawno temu.
Ajax? Bez problemu, flash ładował rzeczy z zewnątrz bez przeładowania strony, z paskiem postępu, bez jakiś placeholderów umilających tylko czas potrzebny na załadowanie treści i obrazka. Poza tym AJAX stał się bardziej znany dopiero jak pojawił się jquery, wcześniej niewiele osób tego używało, bo to było pracochłonne a zmiana informacji opierała się na przeładowaniu strony i ponownym czekaniu aż wszystkie elementy się załadują. Bez JQuery cały kod trzeba było pisać z palca. Pewnie by Ci się odechciało gdybyś musiał to robić samemu.
Co więcej, strony/gry htmlowe (łącznie z grafiką) zajmowały znacznie mniej miejsca na dysku niż html+js+baza+obrazki. Co więcej, były znacznie bardziej atrakcyjne wizualnie niż teraz pierwszy lepszy html.
Nadal tak jest. Dlaczego? Bo flash ma własną kontrolę nad kompresją, animacje wektorowe zajmują 5kb, kiedy sekwencja obrazków w htmlu może zająć 200kb lub więcej.

>>> "Na moim starym PC (Core2Duo i Radeon HD4850)"
Tu jest właśnie problem, bo nie ufundujesz wszystkim takiego sprzętu, a nie każdy ma chęć zmieniać kompa gdy pojawi się jedna gierka w webGL. A zajętość rynku FF i chrome nie ma tu zupełnie nic do znaczenia, bo to nie te przeglądarki są problemem (w większości) tylko akceleracja sprzętowa w komputerach.

>> "Ale Flash jest niestabilny."
Czy Twój Windows jest stabilny? Może to nie jest sprawa samego flasha tylko również systemu? Zobacz ile wyników zwróci Ci wyszukiwarka na hasło "windows chrashes".

>>> "Flash zawsze był dla tych, którzy nie radzili sobie z HTMLem i JSem, a woleli myszką klikać."
A w htmlu i js to jak nawigujesz po stronach? Jak piszesz kod? Tego nie zrozumiałem, sorry ;)

>> "I wina możliwości, które Flash dawał."
Najłatwiej tak powiedzieć, gdy nie zna się tych możliwości ;)

Tak oto pocytowaliśmy siebie zamiast podając kontrargumenty zamiast podawać konkrety.

Flash jest znacznie szybszy w analizie XMLa z danymi, w odróbce grafiki wektorowej, w animacjach, w analizie kolizji obiektów...chyba do gier powinno być to przekonujące.

Reasumując w odpowiedzi na pytanie z pierwszego postu. Moim zdaniem, do gier wymagających jest jak najbardziej OK. A do gier typu true or false lub tym podobnych quizów, spokojnie można użyć html+JS. Idealnie będą się nadawały do takich rzeczy ;)
Niestety tablety mimo iż posiadają 10 rdzeni i zylion ramu, to trzeba pamiętać, że są za słabe do wyświetlenia flasha, bo to jest tylko zabieg marketingowy, tak naprawdę są wolne i nawet przy gierkach na html5 będą zamulały.

konto usunięte

Temat: Realne szanse i przyszłość gier html5

Piotr Danielewicz:
Flash jest znacznie szybszy w analizie XMLa z danymi, w odróbce grafiki wektorowej, w animacjach, w analizie kolizji obiektów...chyba do gier powinno być to przekonujące.
To zależy jaki algorytm zastosujesz do wykrywania kolizji, a nie od tego czy będzie w flashu czy JS.
Niestety tablety mimo iż posiadają 10 rdzeni i zylion ramu, to trzeba pamiętać, że są za słabe do wyświetlenia flasha, bo to jest tylko zabieg marketingowy, tak naprawdę są wolne i nawet przy gierkach na html5 będą zamulały.
To co piszesz nie jest prawdą, są aplikacje Canvasowe i WebGL które nie zamulają na tabletach, a flash tam zupełnie nie działa.
Tablety nie są wolne, np. Tegra 2 to normalny procesor i grafika lepsza niż w niejednym starym PC.
Poza tym JS możesz skompilować na iOSa albo Androida.

Flash nie ma żadnej przyszłości z kilku powodów:
1. działa na małej ilości urządzeń.
2. jest zamknięty.
3. jest niewydajny w porównaniu z np. WebGL
Tak więc liczę że jak najszybciej zejdzie ze sceny i zrobi miejsce dla normalnych technologii.

Już sporo czasu zainwestowałem w JS i html5, przepisałem sporo kodu z scali do JSa, wierzę że JS ma przed sobą wspaniałą przyszłość, również dlatego że to bardzo dobry funkcyjny język programowania.Michał Łaszczewski edytował(a) ten post dnia 18.11.12 o godzinie 17:04
Piotr Danielewicz

Piotr Danielewicz front-end developer,
Media 4 U

Temat: Realne szanse i przyszłość gier html5

Michał:
"To zależy jaki algorytm zastosujesz do wykrywania kolizji, a nie od tego czy będzie w flashu czy JS."
A od przeglądarki, komputera i enginu analizy kodu JS to nie zależy?

"Poza tym JS możesz skompilować na iOSa albo Androida."
Zaskoczę Cię pewnie, ale Flash już dawno daje się skompilować pod te systemy do natywnych aplikacji w postaci AIR. Super co nie? ;) Co więcej, można to zrobić za darmo tak jak JS, HTML i inne takie. Co jeszcze więcej, klikając jeden przycisk, generujesz jeden plik z playerem exe lub plik pod Maca który będzie działał bez konieczności używania przeglądarki. Możesz spokojnie zrobić player z prezentacją, pokazem filmów o różnych wielkościach, z autorunem odpalanym automatycznie z płyty.

"Flash nie ma żadnej przyszłości z kilku powodów:
1. działa na małej ilości urządzeń.
2. jest zamknięty.
3. jest niewydajny w porównaniu z np. WebGL
Tak więc liczę że jak najszybciej zejdzie ze sceny i zrobi miejsce dla normalnych technologii."

Już piszę sprostowanie dla innych czytających.

1. Flash działa na 98% desktopów...urządzeniach do pracy, a nie do zabawy i przeglądania facebooka.
2. zamknięty, jeśli ktoś jedynie "bawi się" w programowanie to mu to ryba czy zamknięty czy otwarty. Jest to nawet dla niego nawet lepiej, bo zawsze może sobie podejrzeć lub ukraść/pożyczyć bez oddawania kod napisany przez kogoś innego.
Większa odpowiedzialność przychodzi, gdy piszesz grę dla klienta korporacyjnego gdzie jednak bezpieczeństwo ma znacznie większe niż dla jakiegoś sprzedawcy używanych ubrań z Pcimia Dolnego (szacun dla Pcimia ;) )
3. niewydajny w porównaniu z np. WebGL
Tak tu masz rację, WebGL jest tak wydajny że nie zabiera zupełnie pamięci, zwłaszcza w przypadku kiedy na ekranie mam monit: Your graphics card does not seem to support WebGL.
Przykład ze wspomnianego wcześniej HexGL.
Znacznie łatwiej jest powiedzieć klientowi by zaktualizował sobie flasha niż kupił nowy komputer. To ostatnie może spotkać się ze śmiechem politowania w kierunku developera.
Przy okazji, zobacz sobie prezentację flasha ze stage3d...zobaczysz jaki jest niewydajny ;)

Aaa wspomniałem też, że by odegrać audio, video lub wyświetlić nietypowy font trzeba kilka formatów dla każdej z przeglądarek? Nie ma to jak nowe technologie ;)

Jeszcze dodam coś do poprzedniego mojego tekstu odnośnie linkowania do konkretnych stron. Bo jak pisałem można to zrobić, z tym tylko, że trzeba pamiętać, że Flash ma nieco inną, mniej prostacką architekturę tworzenia dokumentów. Można zawartość rozłożyć na klatki, na sceny, ma MovieClipy. Jest elastyczność, jak komu pasuje. Nie ma sztywnych ram jak co robić, jest dowolność, dlatego nie może być linkowanie wbudowane na stałe z poziomu flasha. Każdy powinien napisać to po swojemu. Swoją drogą w htmlu tę sprawę załatwia przeglądarka, ale po części, bo jak ktoś ma serwis ajaxowy, to również nie będzie mógł zlinkować do odpowiedniego artykułu, tekstu czy newsa, który będzie się ładował właśnie poprzez AJAXa. Więc ten argument nadal jest nietrafiony.

AS3 jest językiem programowania obiektowego, czyli ma większość możliwości jakie występują w poważnych językach typu C++, Java etc. Jest przenośny między różnymi platformami, wydajniejszy i spokojnie daje radę na starszych komputerach.

Tak, JS po latach niebytu ma przed sobą przyszłość, nie da się ukryć, ale pewnie cały html5 i CSS3 będzie miał swoje lata świetności jakoś tak za 5-10 lat ;) A tak nadal będzie używany do animacji kwadratu od lewa do prawa ;) Aż do czasu, gdy producenci zaczną stosować się do standardów i będą stosowali jakieś swoje wymyślne hacki, dla przykładu cień, 3 komendy dla wyświetlenia cienia...i czwarta dla starszych wersji IE...aaaa zapomniałem, tam css3 i html5 nie mają racji bytu ;) Ale powiedz to klientowi z windowsem XP ;)Piotr Danielewicz edytował(a) ten post dnia 18.11.12 o godzinie 19:01

konto usunięte

Temat: Realne szanse i przyszłość gier html5

Piotr Danielewicz:
>>> Margonem działało 6 lat temu
...ile takich gier w htmlu powstało do tej pory? pewnie nie z milion, czyli tyle ile we flashu w tym samym czasie ;)
Wynika to z tego co napisałem - czyli w JS trzeba programować, we Flashu wystarczy klikać myszką, aby stworzyć tandetę. Z tego też powodu jakoś Flashowych produkcji jest niższa, bo biorą się za to nie-programiści. Fakt - nie jest to wina Flasha, ale nie jest winą HTML5, że zalewu Flashowej tandety jest więcej niż htmlowej.

Że Flashowe animacje to tandeta wynika z tego, że większość ludzi była ograniczona cały czas tymi samymi metodami które można było wyklikać. Grafika wektorowa używana z premedytacją jest ok, ale wektorówka wszędzie gdzie się da, bo innej we Flashu nie ma, to już tworzy właśnie tą tandetę.
Mówisz o prostokącie, tak jakby cały html składał się z kółek albo trójkątów. Zwłaszcza object Canvas. Sorry, ale sam sobie strzeliłeś w stopę tym argumentem. Znikoma wiedza w htmlu mówi mi, że wszystkie obiekty w kodzie html są oparte na prostokątach. Chyba, że coś się zmieniło w ostatnich czasach
Dobrze, iż zaznaczyłeś, że wiedzę masz znikomą. HTMLowe prostokąty nie są ograniczeniem. Można za nie wychodzić, nie trzeba ich wypełniać. Canvasowe elementy nie są prostokątami - możesz sobie narysować okrąg i go używać na stronie jako okręgu, między DIVami. Dla Flasha takie coś było niemożliwe, teraz jest strasznie nagmatwane. Mój stary projekt - http://regamez.com/madtanks/ - po zbudowaniu wieżyczki masz tam okrąg zasięgu - jest to jedyny element Canvasa w całej grze. A we Flashu? Duuuuuużo KB zbędnego kodu. Całkowicie irrevelant.
>>>"...prymitywną grafika wektorową"
Nie wiem ile gierek flashowych widziałeś, ale musiało być ich strasznie mało. Czy nie pomyliłeś czasem flasha z apletem Javy do emulacji gier ze spectruma?
Proszę Cię. We Flashu powstaje najwięcej g***ych gierek na ziemi. Nie znaczy to że wszystkie są złe, bo jest sporo dobrych - temu nie przeczę(!!!) I co do Javy, musiałbym zacytować, "strzał w stopę" - znajdź mi gierkę we flashu pokroju drakensang - pełne 3d z góry mmo. Bez shockwave marne szanse na to.
>>> "Na moim starym PC (Core2Duo i Radeon HD4850)"
Tu jest właśnie problem, bo nie ufundujesz wszystkim takiego sprzętu
Co? Toż to słabszy sprzęt niż laptop za 1400zł z marketu :O Dawno już tego nie produkują.
>> "Ale Flash jest niestabilny."
Czy Twój Windows jest stabilny? Może to nie jest sprawa samego flasha tylko również systemu? Zobacz ile wyników zwróci Ci wyszukiwarka na hasło "windows chrashes".
Płytkie i nieadekwante. Flash zawiesza się z powodu Flasha. Windows po pierwsze ma trochę dłuższą historię i wersje znane z zawieszania jak seria 9x, po drugie najczęstszą winą zwisu systemu jest hardware failure lub program zewnętrzny. Np. flash.
Tak oto pocytowaliśmy siebie zamiast podając kontrargumenty zamiast podawać konkrety.
Cytowanie to funkcja forum, aby prowadzić dyskusje i żebyś wiedział do czego się odnieść. Pod cytatami masz konkrety.
Piotr Danielewicz

Piotr Danielewicz front-end developer,
Media 4 U

Temat: Realne szanse i przyszłość gier html5

Sławek, nie chcę wchodzić w Twoje kompetencje, ale mogę tylko wywnioskować, że nigdy nic nie robiłeś we flashu. To wszystko wynika jedynie z Twoich argumentów. Bo jeśli Ty mówisz, że we flashu są tylko wektory do tego pisząc takie teksty o okręgach i kwadratach, to sorry, ale mało wiesz, albo mało chcesz wiedzieć.

A w htmlu5 nie istnieją tandetne animacje i pikselowe gry? Sam Twój przykład składa się z pixelowych zameczków i innych takich. Zero wygładzenia, grafika na poziomie gierek ze starych pegazusów. No i ten argument z dużą ilością KB...Jeśli taka gierka zajęłaby mi max 70 kb, oczywiście be kompresji i starania się o wagę, to byłby świat.

Mówisz o wystających okręgach etc. Sorry, ale to nadal jest prostokąt. We flashu spokojnie zrobisz coś takiego dając przeźroczystość dla Object. Nie powiesz, że nie widziałeś o takim czymś.
Wyjdź mi proszę okręgiem z obiektu Canvas. O tak, chciałbym to zobaczyć na własne oczy ;)

No i tekst w stylu, że we flashu jest jak więcej gównianych gierek. Co to jest za argument, że nie-developerzy ie mają prawa tworzyć gierek? Każdy ma prawo tworzyć co i gdzie mu się podoba. A to, że łatwiej jest je robić, to już chyba jest tylko i wyłącznie argument na plus, a Cieie nikt nie zmusza do grania w nie.
No i nie porównujemy tu Javy do htmla tylko gry flashowe i htmlowe i ich wydajność i możliwości bo tak to odbiegamy od tematu.

konto usunięte

Temat: Realne szanse i przyszłość gier html5

Piotr Danielewicz:
A od przeglądarki, komputera i enginu analizy kodu JS to nie zależy?
Twierdzisz że JIT flashowy jest szybszy od V8? raczej nie: http://iq12.com/blog/as3-benchmark/
"Poza tym JS możesz skompilować na iOSa albo Androida."
Zaskoczę Cię pewnie, ale Flash już dawno daje się skompilować pod te systemy do natywnych aplikacji w postaci AIR. Super co nie?
Faktycznie mnie zaskoczyłeś.
1. Flash działa na 98% desktopów...urządzeniach do pracy, a nie do zabawy i przeglądania facebooka.
U mnie bardzo długo nie działała najnowsza wersja pod linuxem, musiałem pokombinować żeby chciała działać, a JS mam razem z przeglądarką.
2. zamknięty, jeśli ktoś jedynie "bawi się" w programowanie to mu to ryba czy zamknięty czy otwarty. Jest to nawet dla niego nawet lepiej, bo zawsze może sobie podejrzeć lub ukraść/pożyczyć bez oddawania kod napisany przez kogoś innego.
Nie miałem na myśli tego że kod jest zamknięty tylko to że Flash jest zamknięty - nie widziałem nigdzie kodu źródłowego samego Flasha. Nie wiem czy powinienem teraz tłumaczyć dlaczego otwarte oprogramowanie jest lepsze, ale spróbuje podać kilka powodów:
1. Więcej niż jeden dostawca oprogramowania = jest kilka alternatyw, konkurencja, standaryzacja.
2. Możliwość portowania na inne platformy.
3. O wiele wyższy poziom bezpieczeństwa - błędy są wykrywane szybciej, nikt nie wrzuca w kod backdoorów.
Większa odpowiedzialność przychodzi, gdy piszesz grę dla klienta korporacyjnego gdzie jednak bezpieczeństwo ma znacznie większe niż dla jakiegoś sprzedawcy używanych ubrań z Pcimia Dolnego (szacun dla Pcimia ;) )
Kod w JS też można obsfukować/kompilować, poza tym jak już mówisz o bezpieczeństwie to o wiele bardziej ufam otwartemu oprogramowaniu niż zamkniętemu.
Znacznie łatwiej jest powiedzieć klientowi by zaktualizował sobie flasha niż kupił nowy komputer. To ostatnie może spotkać się ze śmiechem politowania w kierunku developera.
Przy okazji, zobacz sobie prezentację flasha ze stage3d...zobaczysz jaki jest niewydajny ;)
Jak masz złoma to flash też będzie zamulał, nawet bardziej, nie ma możliwości żeby działał szybciej niż WebGL. Poza tym w jak bym chciał żeby moje aplikacje działały na złomach to bym używał zwykłego canvasa a nie WebGLa
Aaa wspomniałem też, że by odegrać audio, video lub wyświetlić nietypowy font trzeba kilka formatów dla każdej z przeglądarek? Nie ma to jak nowe technologie ;)
http://en.wikipedia.org/wiki/Web_Open_Font_Format
Wydaje mi się że H.264 działa wszędzie.
Swoją drogą w htmlu tę sprawę załatwia przeglądarka, ale po części, bo jak ktoś ma serwis ajaxowy, to również nie będzie mógł zlinkować do odpowiedniego artykułu, tekstu czy newsa, który będzie się ładował właśnie poprzez AJAXa. Więc ten argument nadal jest nietrafiony.
Jest zdarzenie window.onhashchange i nowe metody z HTML5, możesz zobaczyć na mojej stronie http://em8.pl/
AS3 jest językiem programowania obiektowego, czyli ma większość możliwości jakie występują w poważnych językach typu C++, Java etc. Jest przenośny między różnymi platformami, wydajniejszy i spokojnie daje radę na starszych komputerach.
JavaScript jest językiem o poziom wyżej od języków obiektowych, jest językiem obiektowo funkcyjnym, tak jak scala. Można powiedzieć że dziedziczy składnie z C++ i Javy i strukturę kodu z Lispa, dzięki temu umożliwia tworzenie funkcji wyższego rzędu i metaprogramowanie. Wydaje mi się że AS3 też miał takie możliwości. W takim wypadku zarówno JS jak i AS3 są językami o o wiele większych możliwościach od Javy i C++. No i AS3 nie jest wydajny w porównaniu do JS: http://iq12.com/blog/as3-benchmark/
IE...aaaa zapomniałem, tam css3 i html5 nie mają racji bytu ;) Ale powiedz to klientowi z windowsem XP ;)
Do starszych wersji IE stosuje się chrome frame - taki plugin który działa podobnie jak flash.
Piotr Danielewicz

Piotr Danielewicz front-end developer,
Media 4 U

Temat: Realne szanse i przyszłość gier html5

Bardzo dobre argumenty...znacznie lepsze niż flash jest zły bo ma kwadratową grafikę i u mojej ciotki zamula ;)

Z chęcią się z nimi zapoznam
Piotr Krzyszkowski

Piotr Krzyszkowski Specjalista IT,
ALIOR BANK S.A.

Temat: Realne szanse i przyszłość gier html5

Według mnie los Flash'a został już przesądzony kilka lat temu, a dokładnie od momentu kiedy zaczęła się era smartfonów. Wszyscy co kształtują ten rynek Apple, Google, a nawet Microsoft stawiają na HTML5(+ CSS3, Java Script).

JS+HTML5+CSS3 to otwarte technologie, darmowe, z dużą społecznością, co chwila powstają nowe fajne biblioteki, możliwości z roku na rok coraz większe - wszystko idzie mocno do przodu a Flash stoi i powoli umiera.

ps.
Nie tylko gry ale też aplikacje będą(już są) pisane przy użyciu tej trójcy: JS+HTML5+CSS3 wypierając aplikacje natywne. Jest to po prostu tańsze - jedna aplikacja a działa na iOS-ie, Androidzie, WP8...

konto usunięte

Temat: Realne szanse i przyszłość gier html5

Piotr Danielewicz:
Jeśli nie rozumiesz różnicy między okręgiem a prostokątem, to ja Ci tego na forum nie wyjaśnię. Mój przykład wyraźnie pokazuje, jak okręgi wrzucone w html5 są super-lekkie dla przeglądarki. Wrzucenie tych samych okręgów we flashu do kodu html było by dużo większym obciążeniem, dlatego flasha się przestał już sprawdzać w prostszych grach, np. strategiach. Ale na siłę udowodnisz wszystko. Flash jednak nigdy nie będzie się komponować z htmlem, zawsze będzie to wrzucony prostokącik zewnętrznej firmy do kodu html. Będziesz musiał robić obejścia, żeby się to indeksowało, będziesz musiał mieć licencję z Adobe, żeby w tym robić profesjonalnie i NIGDY nie będziesz mieć pewności, że Adobe Ci czegoś nie narzuci w przyszłości, czy Ci się to podoba czy nie.
No i nie porównujemy tu Javy do htmla tylko gry flashowe i htmlowe i ich wydajność i możliwości bo tak to odbiegamy od tematu.
Sam pisałeś o tym jakie to gry w Javie są okropne.

A na koniec tylko dodam - możesz tworzyć gry w czym chcesz. Ale w HTML5 można na dziś dzień tworzyć gry porównywalne z Flashem. I zaczyna to mieć sens, bo HTML5 działa już prawie wszędzie.
Piotr Danielewicz

Piotr Danielewicz front-end developer,
Media 4 U

Temat: Realne szanse i przyszłość gier html5

Sławek, nie będę tutaj wchodził w takie bzdury jak rozpoznawanie koła i kwadratu bo to jest poniżej poziomu czytających to forum.
Powiedz mi tylko, ile rzeczy zrobiłeś we flashu? Bo mam wrażenie, że chyba nie znasz tak naprawdę możliwości flasha, a zatrzymałeś się na czasach z wersji 5 (rok 2000), czyli momentu kiedy w JS jeszcze nikt nie myślał o tym by pisać coś takiego jak gry, tylko robiło się prostackie wyświetlanie daty na stronach.
Mniemam, że sam kod flasha widziałeś jedynie z poziomu kodu html, w notatniku kiedy stosowało się object i embed...za czasów świetności IE6.

Przy okazji, pokazałbyś mi przykład, nawet napisany przez siebie, gdzie koło jest kołem a nie kwadratem w htmlu? Z chęcią się przekonam co masz na myśli, bo może nie rozumiem o co Ci chodzi.

>>> "Sam pisałeś o tym jakie to gry w Javie są okropne. "
Przypomnij mi, w którym momencie pisałem o tym, ze gry Javy są okropne?
Wtedy gdy pisałem o emulatorze gier ze spectruma? Jeśli myślę o tym co Ty piszesz to radzę Ci przeczytać dokładnie jeśli nie cały wątek, to chociaż moją wypowiedź raz jeszcze.

konto usunięte

Temat: Realne szanse i przyszłość gier html5

Piotr Danielewicz:
Drogi Piotrze, użyłeś porównania emulatora spectruma na Javie, jako symbolu tandety. Nie, Java nie jest symbolem tandety. To Flash jest (w zasadzie to wyparł Javę pod tym względem 10 lat temu). O dziwno nikt nie wpadł na pomysł, aby w htmlu czy javie robic full-screenowe reklamy video, czy inne z ukrytymi [X] do zamykania. Flash został tak skonstruowany, żeby mógł szkodzić użytkownikom. Dla mnie zawsze Flash będzie symbolem więc takich reklam, dzięki którym powstał AdBlock.

We Flashu nie robiłem praktycznie nic. Nie ma to jednak znaczenia, gdyż oceniam realne gry wykonane w tej technologii, a nie to co teoretycznie można zrobić. A że patrzę głównie na Kongregate, czasem Armor Games, to poznaje najlepsze gry Flashowe na świecie. I to co widzę, to że praktycznie wszędzie tam, gdzie grafika nie bazuje na transformacjach wektorowych, da się to zrobić w HTML4/5. Wektory trzeba robić w Canvasie, też się da. I tu jest pointa tego tematu - gry naprawdę muszą być mocno zaawansowane graficznie, żeby we Flashu miały większy zasięg niż WebGL ma dzisiaj.

Co do kształtów innych niż prostokąt, taki mały eksperyment: najeżdżając myszką na text pojawia się kursor zaznaczania. Możesz tym zbadać kształt tego lub powyższego akapitu. Nie jest prostokątem.

I wracając do samego koła - Canvas jest prostokątem, ale jest elementem HTMLa. Dzięki czemu zachowuje się jak inne takowe elementy, jest integralnym ciałem strony, a nie obcą wlepką. I teraz mały quiz dla Ciebie:
    var ctx = canvas[0].getContext('2d');
ctx.beginPath();
ctx.arc(r+1,r+1,r,0,Math.PI*2,true);
ctx.stroke();
Tyle zajmuje narysowanie koła w Canvasie. Do tego dochodzi jeden tag <canvas> z stylem pozycji. Ile to samo zajmie we Flashu?
Piotr Danielewicz

Piotr Danielewicz front-end developer,
Media 4 U

Temat: Realne szanse i przyszłość gier html5

Ja do Javy nic nie mam, a gdybyś uważnie przeczytał to wiedziałbyś, że wyraźnie napisałem, że:
"Czy nie pomyliłeś czasem flasha z apletem Javy do emulacji gier ze spectruma"

Przeczytaj uważnie a dojdziesz jednak do wniosku, że chodziło mi o emulację gier ze spectruma, a nie gry napisane w Javie na podstawie spectrumowych gierek. Jest różnica między skopiowaniem pomysłu i wykonania, a odpaleniem kodu ze spectruma w >> EMULATORZE <<.

Kwadraty i kółka...zaznaczając którykolwiek akapit, obiekt, obrazek na stronie firebug zawsze zaznaczy mi prostokąt. Bo html składa się z elementów blokowych więc nie mów mi, że robiąc diva, paragraf czy obrazek mogę zrobić go okrągłego albo trójkątnego. Bo to jest bzdura i próbujesz zatuszować jakieś swoje dziwne wymysły. Tak samo Canvas i elementy w nim zawarte, będą tylko bitmapą, prostokątnym obrazkiem, które jeśli wyjdą poza obręb powierzchni canvasa to zostaną przycięte i nic z tym nie zrobisz.

Teraz kod kółka do flasha...

mc.graphics.beginFill(0xff0000);
mc1.graphics.drawCircle(200,200,50);
mc1.graphics.endFill();

Tadaaam, czary mary. Chyba nawet ładniej to wygląda niż w JS.
Aaa właśnie, jak zachowa się Twój canvas w obliczu IE8 i niższych? Czy też narysuje kółko?

Flasha wrzucisz jako przeźroczysty obiekt na scenie i możesz nim sterować jak Ci się podoba.

Szkoda, że ktoś kto jest "Prezes zarządu" od eksperymentalnych projektów i startupów wypowiada się w sprawie technologii, której nigdy nie miał okazji poznać, a ocenia je na podstawie gier hobbystycznych z czasów kiedy Flash był nowością i dopiero zaczynano pisać w nim rzeczy, o których htmlowcom i JSowcom się nie śniło ;)
Kiedyś w starych pismach komputerowych mówiono na takich ludzi...bodajże Lamerzy ;)

Może się to czytającym wydawać się niskich lotów, że tutaj odbywają się takie dysputy z podstawówki, ale taka jest prawda, że Flash był samym złem dla ludzi, którzy nigdy nawet nie starali się niczego napisać w nim. Możliwe, że był dla nich zwyczajnie za trudny ;)

Następna dyskusja:

Programista gier html5 oraz...




Wyślij zaproszenie do