Czy uważasz, że technicznie możliwe jest napisanie pełnoprawnego klienta 3D MMO z przeglądarką JavaScript - WebGL dla grafiki i WebSocket dla sieci?
- Czy uważasz, że przyszłe gry MMO (i ogólnie gry) będą pisane za pomocą WebGL?
- Czy pozwala na to dzisiejsza wydajność JavaScript?
- Powiedzmy, że Twoim zespołem projektowym byłeś jako programista i inny twórca modeli (artysta). Czy użyłbyś do gry biblioteki takiej jak SceneJS , czy napisałby prosto WebGL? Jeśli chcesz użyć biblioteki, ale nie SceneJS, określ, która.
AKTUALIZACJA (wrzesień 2012): RuneScape, który jest bardzo popularnym MMORPG opartym na przeglądarce 3D, który do tej pory korzystał z apletów Java, ogłosił, że będzie używać HTML5 dla swojego klienta ( źródła ).
Java (po lewej) i HTML5 (po prawej)
AKTUALIZACJA (czerwiec 2013): Napisałem prototyp MMO opartej na WebGL / WebSocket: https://github.com/alongubkin/xylose
Odpowiedzi:
Tak, absolutnie. Nie ma żadnego powodu, dla którego technologia WebGL lub WebSocket uniemożliwiłaby Ci stworzenie klienta 3D MMOG lub dowolnego klienta gry.
Tak. Wierzę, że w ciągu najbliższych pięciu lat większość gier przeglądarkowych 3D zostanie napisanych przy użyciu WebGL. Powód jest prosty - WebGL jest jedyną znormalizowaną technologią 3D, która będzie miała implementacje dostępne we wszystkich głównych przeglądarkach internetowych (Chrome 9, Firefox 4, Safari 6 i Internet Explorer za pośrednictwem Chrome Frame).
Tak. Wydajność JavaScript we współczesnych przeglądarkach wzrosła do tego stopnia, że możliwe jest tworzenie gier 3D. Na przykład zobacz projekt Three.js .
Użyj biblioteki, aby zaoszczędzić czas. Nie ma powodu, aby pisać własny kod graficzny WebGL, chyba że w istniejącej bibliotece brakuje potrzebnych funkcji. Nawet w takim przypadku rozszerzenie istniejącej biblioteki byłoby prawdopodobnie bardziej wydajne.
W moim projekcie korzystam z GLGE, ponieważ obsługuje on wiele różnych efektów graficznych i jest stale aktualizowany o nowe.
źródło
Istnieje już kilka MMO opartych na przeglądarce. Zazwyczaj jednak nie używają grafiki 3D.
Jestem trochę sceptyczny, jeśli chodzi o WebGL. Obecna liczba przeglądarek nie obsługuje WebGL w ich normalnych wersjach. Będziesz musiał uzyskać specjalne kompilacje lub bałagan z plikami konfiguracyjnymi, co jest bardziej skomplikowane dla przeciętnego użytkownika niż pobieranie wtyczki.
Mówiąc o wtyczkach: Kilka osób wspomniało o Unity, ale nie zapomnij Flasha. Nadchodzące wydanie odtwarzacza Flash (kryptonim Molehill ) będzie miało akcelerowane przez GPU 3D. Domyślam się, że Flash zapewni przyspieszanie sprzętowe grafiki 3D w przeglądarce przed startem WebGL.
źródło
Technicznie możliwe? Tak. Ale po co męczyć się, gdy dostępne są takie rozwiązania internetowe jak Unity?
Przyszłe MMO napisane w WebGL? Nie. Okej, ale są już takie wtyczki internetowe jak Unity.
Dzisiejsza wydajność JavaScript pozwala na to? Nie. Ok tak, jeśli gra będzie prosta.
Czy użyłbyś biblioteki takiej jak SceneJS [...] lub napisałby prosto WebGL? Ani. Korzystałbym z aplikacji innej firmy, takiej jak Unity.
źródło
Obecnie nie jest to możliwe (początek 2011 r.). Nie można tworzyć 3D MMO w czasie rzeczywistym w natywnych technologiach przeglądarki (co oznacza, że nie ma wtyczek).
Nie będę spekulować na temat przyszłości. Tak to teraz wygląda. Zakładając, że kierujesz reklamy tylko na nowoczesne przeglądarki (IE9, FF4 itp.). Jeśli planujesz wesprzeć IE7, to jesteś szalony. To nigdy nie zadziała.
Czego brakuje:
Obszary / rozwiązania z poważnymi problemami:
źródło
Tak, ale z ważnymi zastrzeżeniami.
Nie będziesz mieć pełnej kontroli nad klawiaturą, a dla wielu maniaków kontroli może to być przełom. Na przykład klawisze funkcyjne prawdopodobnie pozostaną poza zasięgiem przez dłuższy czas.
Nie będziesz w stanie trafić w większość przeglądarek. WebGL nie jest jeszcze tak dobrze obsługiwany, a obsługa websocket jest obecnie hitem, ponieważ niektórzy producenci przeglądarek włączają go dla jednej wersji, a następnie wyłączają dla następnej.
Ale na pewno możesz złożyć coś prostego. Dodaj ciekawą rozgrywkę, a grafika nie będzie miała znaczenia. Runescape zaczął się dość prosto i przekształcił w złożoną, zabawną, niezwykle popularną grę MMO, kiedy wszyscy mówili, że gra MMO stworzona we wtyczce do przeglądarki była fajnym marzeniem.
MMO zbudowane z wykorzystaniem obecnych limitów dla przeglądarek, które dostosowują się wraz ze zmianami, z pewnością miałyby przełom, zanim przeglądarki będą wystarczająco daleko, aby obsługiwać MMO „AAA”.
źródło
Zdecydowanie tak.
WebGL jest zawarty w nocnych wersjach zarówno WebKit (Chrome / Safari), jak i Gecko (Firefox). WebSockets jest obecnie wyłączony z powodu problemów z bezpieczeństwem, ale nie ma powodu, dla którego nie należy go włączać ponownie po rozwiązaniu problemów. W międzyczasie zawsze jest HTTP.
Czy wszystkie gry będą pisane w ten sposób? Nie, ale znaczna liczba będzie. Gdy WebGL znajdzie się w ostatecznej wersji przeglądarki Chrome i Firefox, penetracja będzie już wyższa niż w przypadku wtyczek natywnych, takich jak Unity.
Obsługa JavaScript zależy wyłącznie od pisania gier. Prawdopodobnie przez jakiś czas nie zobaczysz poziomu grafiki w Crysisie, ale pamiętaj, że w przypadku WebGL przeskakiwanie liczb jest przenoszone na procesor graficzny.
W przypadku niewielkiego 2-osobowego zespołu musisz być przygotowany na dużo kodowania, niezależnie od tego, jakiego silnika używasz. Obecnie nie ma żadnych silników WebGL / JavaScript, które faktycznie pokrywają większość kodu gry. SceneJS, three.js i podobne są owijkami w warstwie graficznej, ale nie zapewniają nic do kolizji, fizyki, dźwięku, ładowania zasobów, sieci lub narzędzi, które składają się na większość produktu, takiego jak Unreal Engine lub Unity.
W tej chwili są wczesne dni. Spodziewam się, że w przyszłym roku pojawi się więcej oprogramowania pośredniego.
źródło
Nie sądzę, aby wiele przyszłych MMO zostało napisanych przy użyciu dowolnej technologii przeglądarki po stronie klienta, ponieważ większość programistów MMO będzie chciała używać tego samego języka na kliencie i serwerze, a większość twórców gier biegle posługuje się językami innymi niż web, takimi jak C ++. W grę wchodzi zbyt wiele kodu klienta, aby i tak był bardzo praktyczny w Javascript, z wyjątkiem dość trywialnych symulacji. Istnieją również inne ograniczenia związane z uruchamianiem w przeglądarce, które nie są zwyczajne dla typowego twórcy gier.
Jestem pewien, że będzie jakieś gry, takie jak ten, jakkolwiek. Po prostu nie będą przejmować się WoW lub podobnymi grami od dłuższego czasu. Prawdopodobnie zrobią to bardziej twórcy stron internetowych wchodzący w gry niż twórcy gier wchodzący do sieci.
źródło
Pytanie, które powinieneś sobie zadać, brzmi: dlaczego twórcy gier będą chcieli polegać na technologii internetowej, której nie opanowali i nie mają kontroli, obecne języki pozwalają nawet w przeglądarce internetowej tworzyć niesamowite gry?
źródło
Tak, ale technologia nadal musi się ustabilizować i prawdopodobnie nadal będą występować kompromisy między wydajnością a aplikacjami natywnymi.
źródło
Jedność jest dobra. Zobacz także Shiva i Prime Engine.
źródło