MDN/Projects/Content/Game Developer Zone: Difference between revisions

Jump to navigation Jump to search
Line 21: Line 21:
Initial rough structural plan (nowhere near complete; will need a lot of additions and refining):
Initial rough structural plan (nowhere near complete; will need a lot of additions and refining):


* '''Intro article  
* '''Intro article'''
** Little bit of history of web gaming
** Little bit of history of web gaming
** Why is the Web a good gaming platform, and how is this possible?
** Why is the Web a good gaming platform, and how is this possible?
** What tools do we have available
** What tools do we have available
** What does the toolchain look like (from <canvas>/JS to asm.js and Emscripten)
** What does the toolchain look like (from <canvas>/JS to asm.js and Emscripten)
** How can traditional games developers adapt'''
** How can traditional games developers adapt
Technology reference - teaching and reference material on technology fundamentals in case people need to update their knowledge. This should be links to other parts of MDN, not new articles.
'''Technology reference''' - teaching and reference material on technology fundamentals in case people need to update their knowledge. This should be links to other parts of MDN, not new articles.
** File API
** File API
** Full Screen API
** Full Screen API
Line 45: Line 45:
** Web Workers
** Web Workers
** XMLHttpRequest
** XMLHttpRequest
* Tools - fundamentals of tools that are useful for gaming, whether that is 3rd party libraries or whatever
* '''Tools''' - fundamentals of tools that are useful for gaming, whether that is 3rd party libraries or whatever
** asm.js basics
** asm.js basics
** Emscripten basic usage
** Emscripten basic usage
** Shumway basic usage
** Shumway basic usage
** frameworks, tools?
** frameworks, tools?
* Gaming techniques articles - isolated coverage of fundamental gaming techniques, assumes knowledge of the underlying technologies. For that, see previous section. Each one of these could be multiple articles, and we should explain fundamentals of complex areas such as graphics layer, as well as showing how frameworks and libraries can make the work easier in each case.
* '''Gaming techniques articles''' - isolated coverage of fundamental gaming techniques, assumes knowledge of the underlying technologies. For that, see previous section. Each one of these could be multiple articles, and we should explain fundamentals of complex areas such as graphics layer, as well as showing how frameworks and libraries can make the work easier in each case.
** The anatomy of a video game (the main loop, etc.)
** The anatomy of a video game (the main loop, etc.)
** Collision detection
** Collision detection
Line 61: Line 61:
** Graphics for web games - how to export, formats to use, optimization…
** Graphics for web games - how to export, formats to use, optimization…
** Performance optimization: Main thread vs Worker; ASM.js; WebGL; WebCL
** Performance optimization: Main thread vs Worker; ASM.js; WebGL; WebCL
* Workflows - workflows for different audience members/outcomes. These should be very practical step by step sections that assume knowledge of the fundamentals in each case, referring back to the previous sections for those who need more fundamental information on any one step. Each should feature a case study or two that can show deconstruction of a real game, for those who like to learn by deconstructing and looking at inner workings.
* '''Workflows''' - workflows for different audience members/outcomes. These should be very practical step by step sections that assume knowledge of the fundamentals in each case, referring back to the previous sections for those who need more fundamental information on any one step. Each should feature a case study or two that can show deconstruction of a real game, for those who like to learn by deconstructing and looking at inner workings.
** Simple step by step tutorial on how to create a game, baby steps for beginners. So if we use breakout as an example:
** '''Simple step by step tutorial on how to create a game, baby steps for beginners.''' So if we use breakout as an example:
*** Setting up the canvas
*** Setting up the canvas
*** Building the brick field
*** Building the brick field
Line 72: Line 72:
*** Sound effects
*** Sound effects
*** After each step is implemented, offer a live sample so the reader can see what the new additions look like.
*** After each step is implemented, offer a live sample so the reader can see what the new additions look like.
** Designing your game engine - basic 2D, for existing web devs
** '''Designing your game engine - basic 2D''', for existing web devs
*** Setting up your overall environment, organizing your files, pulling in libraries
*** Setting up your overall environment, organizing your files, pulling in libraries
*** basic requirements such as physics, collisions,  
*** basic requirements such as physics, collisions,  
Line 82: Line 82:
*** Caching your online game
*** Caching your online game
*** Offline install and play
*** Offline install and play
** Moving into 3D - similar to the above, but showing how to create a 3D game? My feeling is that a separate tutorial on creating a 3D environment would be helpful. Again, for existing web devs
** '''Moving into 3D''' - similar to the above, but showing how to create a 3D game? My feeling is that a separate tutorial on creating a 3D environment would be helpful. Again, for existing web devs
** Porting from native to web standards. For the C++ guys
** '''Porting from native to web standards.''' For the C++ guys
*** Emscripten
*** Emscripten
*** Profiling tools
*** Profiling tools
*** Debugging tools
*** Debugging tools
*** I don't know what the workflow would look here at all
*** I don't know what the workflow would look here at all
** Porting from Flash to web standards. For the Flash guys
** '''Porting from Flash to web standards.''' For the Flash guys
*** Shumway
*** Shumway
*** Middleware
*** Middleware
Confirmed users
228

edits

Navigation menu