브라우저 기반 MMO (WebGL, WebSocket) [닫기]


29

브라우저 JavaScript-그래픽 용 WebGL 및 네트워킹 용 WebSocket을 사용하여 본격적인 3D MMO 클라이언트를 작성하는 것이 기술적으로 가능하다고 생각하십니까?

  • 향후 MMO (및 일반적으로 게임)가 WebGL로 작성 될 것이라고 생각하십니까?
  • 오늘날의 JavaScript 성능이이를 허용합니까?
  • 개발팀이 개발자이고 다른 모델 제작자 (아티스트)라고 가정 해 보겠습니다. 게임에 SceneJS 와 같은 라이브러리를 사용 하거나 WebGL을 작성 하시겠습니까? SceneJS가 아닌 라이브러리를 사용하려는 경우 어느 라이브러리를 지정하십시오.

업데이트 (2012 년 9 월) : RuneScape는 지금까지 Java 애플릿을 사용한 매우 인기있는 3D 브라우저 기반 MMORPG이며 클라이언트 ( source )에 HTML5를 사용할 것이라고 발표했습니다 .

Runescape HTML5

Java (왼쪽) 및 HTML5 (오른쪽)

업데이트 (2013 년 6 월) : WebGL / WebSocket 기반 MMO의 프로토 타입을 작성했습니다 : https://github.com/alongubkin/xylose


3
Mozilla Firefox 및 Opera는 보안상의 이유로 웹 소켓 지원을 중단했습니다. heise.de/security/meldung/… 네트워크 항목의 크로스 브라우저 추상화에 대해서는 gamedev.stackexchange.com/q/6524/450 을 참조하십시오 .
Hendrik Brummermann

2
나는이 세 가지 질문 모두 흥미 롭다고 생각하지만 오히려 세 가지 질문으로 나눌 것입니다. 내 마음에 그들은 거의 관련이 없습니다.

2
기술적으로 가능합니다. 현실적으로 또 다른 문제입니다.
공산주의 오리

참고 사항 : Google은 WebGL에서 JavaScript 라이브러리를 만들었습니다. code.google.com/p/o3d
Alex Beardsley

내 가정은 귀하의 질문이 3D MMO를 암시한다는 것입니다. 3D는 장르에 대한 요구 사항이 아니며 실제로 많은 MMO가 웹에 HTML 양식보다 몇 년 동안 존재했습니다 ( urbandead.com 참조 ) Gameforge ( en.gameforge.com )의 모든 PHP 게임은 말할 것도없고 울티마의 제왕 같은 이국적인 AJAX / 자바 스크립트 물건 ( lordofultima.com )
wkerslake

답변:


7

브라우저 JavaScript-그래픽 용 WebGL 및 네트워킹 용 WebSocket을 사용하여 본격적인 3D MMO 클라이언트를 작성하는 것이 기술적으로 가능하다고 생각하십니까?

네 그럼요. WebGL 또는 WebSocket 기술로 인해 3D MMOG 클라이언트 또는 해당 게임 클라이언트를 만들 수없는 이유는 없습니다.

미래의 MMO (및 게임)가 WebGL로 작성 될 것이라고 생각하십니까?

예. 향후 5 년 안에 대부분의 3D 브라우저 게임은 WebGL을 사용하여 작성 될 것이라고 생각합니다. WebGL은 모든 주요 웹 브라우저 (Chrome 9, Firefox 4, Safari 6 및 Chrome 프레임을 통한 Internet Explorer)에서 구현할 수있는 유일한 표준화 된 3D 기술입니다.

오늘날의 JavaScript 성능이이를 허용합니까?

예. 최신 브라우저의 JavaScript 성능은 3D 게임 개발이 가능한 수준으로 향상되었습니다. 예를 들어 Three.js 프로젝트를 참조하십시오 .

개발팀이 개발자이고 다른 모델 제작자 (아티스트)라고 가정 해 보겠습니다. 게임에 SceneJS와 같은 라이브러리를 사용하거나 WebGL을 작성 하시겠습니까? SceneJS가 아닌 라이브러리를 사용하려면 어느 라이브러리를 지정하십시오. 감사!

라이브러리를 사용하여 시간을 절약하십시오. 기존 라이브러리에 필요한 기능이없는 경우를 제외하고 자체 WebGL 그래픽 코드를 작성할 이유가 없습니다. 이 경우에도 기존 라이브러리를 확장하는 것이 더 시간 효율적일 수 있습니다.

프로젝트에서는 GLGE 를 사용하여 다양한 그래픽 효과를 지원하고 지속적으로 새로운 효과를 사용하고 있습니다.


2
"미래 MMO (및 게임)가 WebGL로 작성 될 것이라고 생각하십니까?" "예. 앞으로 5 년 안에 대부분의 3D 브라우저 게임은 WebGL을 사용하여 작성 될 것입니다." 서로 정확하게 일치하지 않습니다 ...
Kylotan

5

이미 여러 브라우저 기반 MMO가 있습니다. 그들은 보통 3D 그래픽을 사용하지 않습니다.

WebGL에 관해서는 약간 회의적입니다. 현재 브라우저는 일반 릴리스 빌드에서 WebGL을 지원하지 않습니다. 플러그인을 다운로드하는 것보다 일반 사용자에게는 더 복잡한 구성 파일을 사용하여 특수한 빌드 또는 엉망이 필요합니다.

플러그인 이야기 : 여러 사람들이 Unity를 언급했지만 Flash를 잊지 마십시오. 곧 출시 될 Flash 플레이어 (코드 명 molehill )는 GPU 가속 3D를 갖게됩니다. 내 생각에, 플래시는 WebGL이 시작되기 전에 브라우저에서 하드웨어 가속 3D 그래픽을 제공 할 것입니다.


1
webgl을 지원하는 안정적인 브라우저 문제는 2010 년 1 월 이후에는 발생하지 않아야합니다. 그때 Firefox 4와 Chrome 9가 나올 예정입니다. Chrome 9 베타는 설치가 매우 간단하며 webgl을 활성화하기 위해 아무것도 망칠 필요가 없습니다. 베타 버전에 대한 링크는 크롬의 일반 다운로드 링크입니다.
Nicolas K.

@Nicolas K.- 2011 년 1 월을 의미 합니까?
DMan

1
@Nicolas K-브라우저의 가용성과 브라우저의 설치 기반은 매우 다릅니다. 인터넷 트래픽의 13 %는 여전히 IE6입니다. 출처 : marketshare.hitslink.com/browser-market-share.aspx?qprid=2
wkerslake

@DMan : 아마도 이제 나왔을 것입니다. WebGL을 사용하여

1
@wkerslake : 그 통계는 터무니 없습니다. 나는 평균 인터넷 소비자를 목표로 한 사이트를 하루에 50 만 번 방문하고 유지하며, 그 중 1 % 미만이 Internet Explorer 6 (약 1/3은 Internet Explorer 7/8/9 사용)을 사용합니다. Firefox와 Chrome은 트래픽의 50 %를 차지하며 자체 업데이트 브라우저이므로 대다수의 사람들이 몇 개월 내에 WebGL 지원을 설치하게됩니다. 게임 개발에는 6 개월이 걸리기 때문에 사람들이 오늘 WebGL을 사용하지 못하게 할 이유가 없습니다.
Blixt

3

기술적으로 가능합니까? 예. 그러나 Unity와 같은 웹 솔루션을 사용할 수있는 경우 왜 귀찮습니까?

WebGL로 작성된 미래의 MMO? 아니요. 어쩌면 Unity와 같은 웹 기반 플러그인이 있습니다.

오늘의 JavaScript 성능으로 가능합니까? 아니요. 게임을 단순하게 유지한다면 가능합니다.

SceneJS [...]와 같은 라이브러리를 사용하거나 WebGL을 작성 하시겠습니까? 둘 다. Unity와 같은 타사 응용 프로그램을 사용합니다.


4
귀하의 답변이 잘못되었거나 모순되며 형식이 잘못되었습니다. 너무 가혹해서 죄송합니다. op가 단결을 사용해야한다고 생각한다면 그의 질문에 대한 의견에서 그렇게 말하십시오.
oberhamsi 2018 년

아이러니하게도 오버 햄시 (Oberic oberhamsi)는 제 원래의 대답은 "유니티 사용 (Use Unity)"이라고 말했지만 질문에보다 직접적으로 대답해야한다는 말을 들었습니다.
Tim Holt

1
알았어, 충분 해 나는 화합이 브라우저에서 기본적으로 시도하는 것과는 매우 다른 짐승이라고 생각합니다. 물론, 당신은 플러그인으로 무엇이든 할 수 있지만 질문은 나에게 보인다 : 네이티브 브라우저 기술의 한계는 무엇입니까?
oberhamsi 2013

2

현재로서는 불가능합니다 (2011 년 초). 기본 브라우저 기술 (플러그인 없음)에서 실시간 3D MMO를 만들 수 없습니다.

나는 미래에 대해 추측하지 않을 것입니다. 이것이 바로 지금 보이는 모습입니다. 최신 브라우저 (IE9, FF4 등) 만 타겟팅한다고 가정합니다. IE7을 지원할 계획이라면 미쳤다. 그것은 작동하지 않습니다.

빠진 것 :

  • 키보드 및 마우스를 완벽하게 제어 (마우스 위치 설정 기능, 키 차단)
  • 전체 화면
  • 3D

심각한 문제가있는 영역 / 솔루션 :

  • WebSockets는 이제 그것을 지원하는 몇 가지 브라우저에서 비활성화되었습니다
    • 그것없이 : 이제 낮은 대기 시간, 양방향 클라이언트-서버 통신
  • 오디오 문제
    • 코덱 엉망, 당신은 ogg와 mp3가 필요합니다
    • 지원되지 않는 공통 주파수
    • 동시성
    • 지연
  • 캔버스 성능 (경우에 따라 div 및 CSS 변환이 더 빠름)

1

네,하지만 중요한 경고가 있습니다.

당신은 완전한 키보드 컨트롤을 가지고 있지 않으며, 많은 컨트롤 괴물에게는 이것이 거래를 깨뜨릴 수 있습니다. 예를 들어 F 키는 꽤 오랫동안 도달하지 못할 것입니다.

대부분의 브라우저에서도 공격 할 수는 없습니다. WebGL은 아직 제대로 지원되지 않으며 요즘 웹 소켓 지원은 인기를 끌고 있습니다. 일부 브라우저 공급 업체는 한 버전에서 사용하도록 설정 한 후 다음 버전에서는 사용하지 않도록 설정하고 있습니다.

하지만 간단하게 정리할 수 있습니다. 설득력있는 게임 플레이를 던져 보면 그래픽이 약간 낮다는 것은 중요하지 않습니다. Runescape는 매우 간단하게 시작하여 브라우저 플러그인에서 만든 MMO가 파이프 꿈이라고 말했을 때 복잡하고 재미 있고 믿을 수 없을만큼 인기있는 MMO로 성장했습니다.

변경 사항에 따라 변경되는 브라우저에 대한 현재 제한을 사용하여 구축 된 MMO는 브라우저가 "AAA"MMO를 지원할 수있을만큼 충분히 길어질 것입니다.


1
거의 모든 최신 브라우저는 기능 키를 지원합니다 ( quirksmode.org/js/keys.html#link6 ). 사실, 그 페이지는 적어도 몇 년 전이며 최신 브라우저에서 지원하는 것이 훨씬 나을 것입니다.
Ricket

1

확실히 맞아요.

WebGL은 WebKit (Chrome / Safari) 및 Gecko (Firefox)의 야간 빌드에 포함됩니다. 보안 문제로 인해 WebSockets가 현재 비활성화되어 있지만 문제가 해결 된 후 다시 활성화하지 않아야 할 이유는 없습니다. 그 동안 항상 HTTP가 있습니다.

모든 게임이 이런 식으로 작성됩니까? 아니요,하지만 상당한 숫자입니다. WebGL이 최종 버전의 Chrome 및 Firefox에 설치되면 Unity와 같은 기본 플러그인보다 보급률이 높아집니다.

JavaScript 성능은 게임 작성에 달려 있습니다. 아마도 크라이시스 레벨의 그래픽은 잠시 보이지 않지만 WebGL을 사용하면 숫자 처리가 GPU로 오프로드됩니다.

소규모 2 인 팀의 경우 어느 엔진을 사용하든 많은 코딩 작업을 수행해야합니다. 현재 실제로 많은 게임 코드를 다루는 WebGL / JavaScript 엔진이 없습니다. SceneJS, three.js 등은 그래픽 레이어의 래퍼이지만 Unreal Engine 또는 Unity와 같은 대부분의 제품을 구성하는 충돌, 물리, 오디오, 리소스로드, 네트워크 또는 도구에는 아무 것도 제공하지 않습니다.

지금은 초기에 내년에 더 많은 미들웨어가 등장 할 것으로 예상됩니다.


0

대부분의 MMO 개발자가 클라이언트와 서버에서 동일한 언어를 사용하기를 원하고 대부분의 게임 개발자는 C ++과 같은 웹 이외의 언어에 유창하기 때문에 많은 미래의 MMO가 클라이언트 측 브라우저 기술로 작성 될 것이라고 생각하지 않습니다. 아주 사소한 시뮬레이션을 제외하고는 자바 스크립트에서 매우 실용적으로 만들기에는 너무 많은 클라이언트 코드가 포함되어 있습니다. 브라우저에서 실행하면 일반적인 게임 개발자에게는 좋지 않은 다른 제한 사항도 있습니다.

난 반드시있을 것입니다 일부 하지만,이 같은 게임. 그들은 WoW 또는 유사한 게임에서 꽤 오랫동안 인수하지 않을 것입니다. 아마도 웹 개발자는 웹에 들어가는 게임 개발자보다는 웹 개발자가 게임에 더 많이 참여할 것입니다.


downvoter가 내 답변에 동의하지 않는 방법을 설명하는 의견을 추가하려고합니까? 궁금해 :)
Kylotan

0

당신이 스스로 물어봐야 할 질문은 왜 게임 개발자들이 마스터하지 않고 통제 할 수없는 웹 기술에 의존하기를 원하는가하는 것입니다. 현재의 언어는 웹 브라우저에서도 멋진 게임을 만들 수 있습니까?


0

예. 그러나 기술은 여전히 ​​안정화되어야하며 기본 응용 프로그램에 비해 성능 균형이 유지 될 수 있습니다.


-3

통일성이 좋습니다. Shiva 및 Prime Engine도 참조하십시오.


1
Unity와 Prime Engine은 언급 된 기술과 아무 관련이 없습니다. 네이티브 코드 플러그인입니다.
Kylotan

1
"우리는 이것이 좋은 생각은 아니지만 여기에 대안이 있습니다." "아니오, 그러나 여기에 대안이 있습니다"라는 대답은 "아니오"보다 훨씬 더 바람직합니다.
Tim Holt

3
때때로 나는 동의하지만 드물다. 실제로 원래의 질문이 그 자체로 완벽하게 합법적이었을 때 누군가의 마음을 읽고 그들이 실제로하고 싶은 것을 추측 할 위험이 있습니다. 누군가가 X의 적합성에 대해 묻는다면 항상 "Y 만 사용"이라고 대답해서는 안됩니다. 최소한 둘에 대한 적합성을 비교해서 X에 대해 더 많이 알도록해야합니다.
Kylotan

사용할 라이브러리에 대한 질문에 대답하기 위해 대답을 바꾸겠습니다. 나는 유니티 "라이브러리"를 직접 사용할 것입니다 : P
Tim Holt

최고 평점 답변은 기본적으로 같은 것을 말합니다 ..
오류 454
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.