are aaa 3d games for the web possible?

20
Are AAA 3D Games for the Web Possible? Renaun Erickson Adobe Game Developer Evangelist

Upload: renaun-erickson

Post on 23-Aug-2014

2.047 views

Category:

Lifestyle


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Are AAA 3D Games for the Web Possible?

Are AAA 3D Games for the Web Possible?

Renaun EricksonAdobe Game Developer Evangelist

Page 2: Are AAA 3D Games for the Web Possible?

Web: The What

This preso is focused on

Desktop Webnot mobile or TV

Page 3: Are AAA 3D Games for the Web Possible?

Web: The Tech

NaCL

Page 4: Are AAA 3D Games for the Web Possible?

What is AAA?

Possible Definitions big budget & team size commerical games high quality game play high production value - looks good marketing term to sell more games

My definition:

A game that has high production value and good game play

regardless of the budget or team size.

Page 5: Are AAA 3D Games for the Web Possible?

Purpose

Discuss available Technical Features required by AAA games,

not a comparison of why you might choose

one technology over the other.

NaCL

Page 6: Are AAA 3D Games for the Web Possible?

Demos

NaCL

Page 7: Are AAA 3D Games for the Web Possible?

Web Game Architecture

Game Runtime

Asset Loading & Caching

Code (Languages)

Rendering (GPU, Shaders,

Textures, Fullscreen)

Audio

Input

Networking

Page 8: Are AAA 3D Games for the Web Possible?

Game Runtimes

NaCL

Browser Plugin

Browser Plugin* - export to Flash / NaCL

Khronos Group Spec - turned off by default in some browsers

Browser Specific

* 125 million out of +1 billion connected computers http://mwne.ws/HwBz2Y

Page 9: Are AAA 3D Games for the Web Possible?

Game Runtimes: Code

NaCL

ActionScript, C/C++ through Flascc

JavaScript (#pragma strict option), C#, Boo

JavaScript, C/C++ to JavaScript through Emscripten

C/C++

Page 10: Are AAA 3D Games for the Web Possible?

NaCL

Default: Relies on specific browser caching mechanisms.

Other: LocalStorage, dev can ask user for more space

Asset Loading & Caching

Default: Relies on specific browser caching mechanisms.

Other: Premium feature for caching asset bundles

Default: Relies on specific browser caching mechanisms.

Other: WebStorage, 5-10Mb varying quota request apis

Default: Relies on specific browser caching mechanisms.

Other: Pepper File I/O API, WebStorage

Page 11: Are AAA 3D Games for the Web Possible?

NaCL

Stage3D API (based on OpenGL ES 2.0) - Win & Mac & Linux (Chrome) >2006 requires Pixel Shader 2.0, has blacklist - Constrained mode for previously blacklisted Intel® GMA - Software fallback

Rendering: GPU

Abstract API (DirectX and OpenGL), can make OS specific - Win & Mac, Linux through exporters

OpenGL ES 2.0 - Win Chrome >2009, Firefox >2010 - Blacklists with browser overrides

OpenGL ES 2.0 - Follows Chrome’s WebGL driver support

Page 12: Are AAA 3D Games for the Web Possible?

NaCL

Rendering: Shaders

AGAL

Cg/HLSL – ShaderLab with #pragma specific targets

GLSL

GLSL

Page 13: Are AAA 3D Games for the Web Possible?

NaCL

Rendering: Textures

DXT1 / DXT5 / RGBA

Handles texture conversion in authoring

DXT1 / DXT3 / DXT5 / RGBA

DXT1 / DXT3 / DXT5 / RGBA

Page 14: Are AAA 3D Games for the Web Possible?

NaCL

Rendering: Fullscreen

Fullscreen supported

Fullscreen supported

Different browser implementations, mostly supported

Relies on Chrome’s implementation

Page 15: Are AAA 3D Games for the Web Possible?

NaCL

Audio

mp3, aac (video file), pcm (wav)

Handles audio conversion in authoring - IDE supports mpeg(1/2/3), ogg vorbis, wav, aiff, mod, it, s3m, xm

HTML <audio> or new Web Audio API spec

Relies on Chrome’s HTML implementation

Page 16: Are AAA 3D Games for the Web Possible?

NaCL

Input

Yes, mouse lock in fullscreen Not Yet

Yes, mouse lock always Yes

Yes, mouse lock in some browsersrequires fullscreen some browsers

Depends on Chrome Pepper API

Page 17: Are AAA 3D Games for the Web Possible?

NaCL

Networking

TCP, Pseudo UDP with RTMFP

Provide full server implementationTCP/UDP low level API through C# .Net/Mono

Relies on browsers implementations, WebSocket, WebRTC will push UDP progress for games

Relies on Chrome’s implementation, WebSocket

Page 18: Are AAA 3D Games for the Web Possible?

Conclusion

NaCL Yes, NowEarly Yes, Progessing Fast

Page 19: Are AAA 3D Games for the Web Possible?

Future Topics

OpenGL ES 3.0 spec was released by the Khronos Group Unity/UDK game engine/tool vs low level APIs

(Flash/WebGL/NaCL) Frameworks on top of low level APIs

Flash – Away3D, Flare3D, Alternativa3D WebGL – three.js, PlayCanvas.com, CopperLicht,

CloudMatch, many others A lot of current demos use the C++ to web tech path.

There is a lot of existing content looking to come to the web. Not so many original full AAA games built on web tech (exception is Unity).

Page 20: Are AAA 3D Games for the Web Possible?

Thank You - Q/A

[email protected]

http://github.com/renaun

@renaun

http://renaun.com