Are AAA 3D Games for the Web Possible?
-
Upload
renaun-erickson -
Category
Lifestyle
-
view
2.047 -
download
1
description
Transcript of Are AAA 3D Games for the Web Possible?
![Page 1: Are AAA 3D Games for the Web Possible?](https://reader036.fdocuments.us/reader036/viewer/2022081412/53f9b4a38d7f72b82e8b4b35/html5/thumbnails/1.jpg)
Are AAA 3D Games for the Web Possible?
Renaun EricksonAdobe Game Developer Evangelist
![Page 2: Are AAA 3D Games for the Web Possible?](https://reader036.fdocuments.us/reader036/viewer/2022081412/53f9b4a38d7f72b82e8b4b35/html5/thumbnails/2.jpg)
Web: The What
This preso is focused on
Desktop Webnot mobile or TV
![Page 3: Are AAA 3D Games for the Web Possible?](https://reader036.fdocuments.us/reader036/viewer/2022081412/53f9b4a38d7f72b82e8b4b35/html5/thumbnails/3.jpg)
Web: The Tech
NaCL
![Page 4: Are AAA 3D Games for the Web Possible?](https://reader036.fdocuments.us/reader036/viewer/2022081412/53f9b4a38d7f72b82e8b4b35/html5/thumbnails/4.jpg)
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?](https://reader036.fdocuments.us/reader036/viewer/2022081412/53f9b4a38d7f72b82e8b4b35/html5/thumbnails/5.jpg)
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?](https://reader036.fdocuments.us/reader036/viewer/2022081412/53f9b4a38d7f72b82e8b4b35/html5/thumbnails/6.jpg)
Demos
NaCL
![Page 7: Are AAA 3D Games for the Web Possible?](https://reader036.fdocuments.us/reader036/viewer/2022081412/53f9b4a38d7f72b82e8b4b35/html5/thumbnails/7.jpg)
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?](https://reader036.fdocuments.us/reader036/viewer/2022081412/53f9b4a38d7f72b82e8b4b35/html5/thumbnails/8.jpg)
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?](https://reader036.fdocuments.us/reader036/viewer/2022081412/53f9b4a38d7f72b82e8b4b35/html5/thumbnails/9.jpg)
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?](https://reader036.fdocuments.us/reader036/viewer/2022081412/53f9b4a38d7f72b82e8b4b35/html5/thumbnails/10.jpg)
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?](https://reader036.fdocuments.us/reader036/viewer/2022081412/53f9b4a38d7f72b82e8b4b35/html5/thumbnails/11.jpg)
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?](https://reader036.fdocuments.us/reader036/viewer/2022081412/53f9b4a38d7f72b82e8b4b35/html5/thumbnails/12.jpg)
NaCL
Rendering: Shaders
AGAL
Cg/HLSL – ShaderLab with #pragma specific targets
GLSL
GLSL
![Page 13: Are AAA 3D Games for the Web Possible?](https://reader036.fdocuments.us/reader036/viewer/2022081412/53f9b4a38d7f72b82e8b4b35/html5/thumbnails/13.jpg)
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?](https://reader036.fdocuments.us/reader036/viewer/2022081412/53f9b4a38d7f72b82e8b4b35/html5/thumbnails/14.jpg)
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?](https://reader036.fdocuments.us/reader036/viewer/2022081412/53f9b4a38d7f72b82e8b4b35/html5/thumbnails/15.jpg)
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?](https://reader036.fdocuments.us/reader036/viewer/2022081412/53f9b4a38d7f72b82e8b4b35/html5/thumbnails/16.jpg)
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?](https://reader036.fdocuments.us/reader036/viewer/2022081412/53f9b4a38d7f72b82e8b4b35/html5/thumbnails/17.jpg)
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?](https://reader036.fdocuments.us/reader036/viewer/2022081412/53f9b4a38d7f72b82e8b4b35/html5/thumbnails/18.jpg)
Conclusion
NaCL Yes, NowEarly Yes, Progessing Fast
![Page 19: Are AAA 3D Games for the Web Possible?](https://reader036.fdocuments.us/reader036/viewer/2022081412/53f9b4a38d7f72b82e8b4b35/html5/thumbnails/19.jpg)
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?](https://reader036.fdocuments.us/reader036/viewer/2022081412/53f9b4a38d7f72b82e8b4b35/html5/thumbnails/20.jpg)
Thank You - Q/A
http://github.com/renaun
@renaun
http://renaun.com