Please note, this is a STATIC archive of website developer.mozilla.org from 03 Nov 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

Revision 967527 of Desenvolvimento de Jogos

  • Slug da revisão: Jogos
  • Título da revisão: Desenvolvimento de Jogos
  • ID da revisão: 967527
  • Criado:
  • Autor: mansil
  • É a revisão atual? Sim
  • Comentário

Conteúdo da revisão

Gaming is one of the most popular computer activities. New technologies are constantly arriving to make it possible to develop better and more powerful games that can be run in any standards-compliant web browser.

Introducing web game development

Introduction to game development for the Web
An introduction to the technologies useful for game developers and how to get started developing games using Web technologies. This article also examines the business case for creating web games.
Anatomy of a video game
What is a video game, really? There are certain parts that are common between games (even if it doesn't seem like it). This article looks to explain concepts like main loops in a completely general context. When it does focus, it does so toward web standards.
Special considerations for game developers
This article from the App Center looks briefly at things you need to consider specifically when trying to create a game that will run as an open web app.

Additional resources

Build New Games
A collaborative site featuring a large number of open web game development tutorials. Hasn't been very active recently, but still holds some nice resources.
Creative JS
A collection of impressive JavaScript techniques and experiments, not specific to games, but helpful nonetheless. Hasn't been very active recently, but still holds some nice resources.
Game programming patterns
An online book, written by Bob Nystrom, which discusses programming patterns in the context of game development with the aim of helping game developers produce more effective, efficient code.
Artillery blog
HTML5 games company Artillery have some useful articles on their blog.
Building games for Firefox OS
A quick guide to creating 2D games with HTML5, for distribution on Firefox OS and other mobile platforms.
Gamedev.js Weekly
Weekly newsletter about HTML5 game development, sent every Friday. Contains the latest articles, tutorials, tools, and resources.
HTML5 Game Devs Forum
Forums for developers, framework creators and publishers. Ask questions, get feedback, help others.
HTML5 Game Engine
List of the most popular HTML5 game frameworks along with their rating, features and samples.
JSBreakouts
Compare JavaScript Breakout clones in different frameworks to help you choose the right one for you.
Tuts+ Game Development
Tutorials and articles about game development in general.
#BBG IRC chat
Talk with the developers directly in real time.
HTML5 Gamedev Starter
Starter for the new game developers, a curated list of links to various, useful resources around the web.
js13kGames
JavaScript coding competition for HTML5 game developers with the file size limit set to 13 kilobytes. All the submitted games are available in a readable form on GitHub.
Mozilla Hacks blog
Games category on the Mozilla Hacks blog containing interesting gamedev related articles.

Game development topics

Tools
This section covers the tools available for facilitating the creation of effective gaming experiences on the Web, such as frameworks, compilers such as Emscripten, and debugging tools. It explain the core concepts behind each, giving you a solid base to work upon.
Techniques
This section contains many articles covering essential techniques for game development, such as physics, collision detection, animation, 3D, data storage, and much more.
Workflows
This section includes multiple case studies, taking the basic tools and techniques covered above and applying them to the creation of awesome games. There's something for you here, whether you are an experienceed web developer wanting to write 2D or 3D games, a C++ developer looking to port native games to the Web or a mobile developer looking for help writing better mobile games.

Examples

BananaBread
A multiplayer, 3D first-person shooter game developed using Emscripten, WebGL, and WebRTC. One of the first high profile webGL game demos.
Monster Madness
A WebGL and asm.js-based multiplayer online shooter, developed by Nom Nom Games and Trendy entertainment.
Auralux
WebGL and asm.js-based strategy game: capture all the suns to win!
Swooop
A plane flying game: control your plane and collect the jewels. Again, created with PlayCanvas.
Polycraft
A shipwreck 'n survive game. Explore the island, and defeat the monsters.
Dead Trigger 2
Classic zombie splatter action, made with Unity3D.
Biolab Disaster
Side-scrolling platform shooter. An early attempt at a canvas game — a classic.

Note: For an extended list of examples, see our examples page.

{{GameTechBox}}

Note that we are keeping track of ongoing work on game development documentation on our Game development documentation status page. If you want to help contribute to game development documentation, please have a look at this page to see what work needs doing!

 

{{CommunityBox("Games development", "community-games", "mozilla.community.games", "games", "Games Wiki|https://wiki.mozilla.org/Platform/Games|View Wiki|Find more information about Mozilla gaming efforts on the Games Wiki")}}

  1. Introduction
    1. Introduction to game development for the Web
    2. Anatomy of a video game
    3. Special considerations for game developers
  2. Tools
    1. asm.js
    2. Emscripten
    3. WebVR
    4. Gecko profiler
    5. Game engines and tools
  3. Techniques
    1. Using async scripts for asm.js
    2. Optimizing startup performance
    3. Using WebRTC peer-to-peer data channels
    4. Efficient animation for web games
    5. 3D games on the Web
      1. 3D games on the Web overview
      2. Explaining basic 3D theory
      3. Building up a basic demo with Three.js
    6. Audio for Web Games
    7. 2D collision detection
    8. 3D collision detection
      1. 3D collision detection overview
      2. Bounding volume collision detection with THREE.js
    9. Tiles and tilemaps
      1. Tiles and tilemaps overview
      2. Static maps
      3. Scrolling maps
  4. Workflows
    1. 2D breakout game using pure JavaScript
    2. 2D breakout game using Phaser
    3. 2D maze game with device orientation
  5. Publishing games
    1. Publishing games overview
    2. Game distribution
    3. Game promotion
    4. Game monetization
  6. Examples

Fonte da revisão

<div class="summary">
<p><span class="seoSummary">Gaming is one of the most popular computer activities. New technologies are constantly arriving to make it possible to develop better and more powerful games that can be run in any standards-compliant web browser.</span></p>
</div>

<div class="column-container">
<div class="column-half">
<h2 id="Introducing_web_game_development">Introducing web game development</h2>

<dl>
 <dt><a href="/en-US/docs/Games/Introduction" title="/en-US/docs/Games/Introduction">Introduction to game development for the Web</a></dt>
 <dd>An introduction to the technologies useful for game developers and how to get started developing games using Web technologies. This article also examines the business case for creating web games.</dd>
 <dt><a href="/en-US/docs/Games/Anatomy_of_a_vIdeo_game">Anatomy of a video game</a></dt>
 <dd>What is a video game, really? There are certain parts that are common between games (even if it doesn't seem like it). This article looks to explain concepts like main loops in a completely general context. When it does focus, it does so toward web standards.</dd>
 <dt><a href="/en-US/docs/Web/Apps/Developing/Games/Special_considerations">Special considerations for game developers</a></dt>
 <dd>This article from the App Center looks briefly at things you need to consider specifically when trying to create a game that will run as an open web app.</dd>
</dl>

<h2 id="Additional_resources">Additional resources</h2>

<dl>
 <dt><a href="https://buildnewgames.com/">Build New Games</a></dt>
 <dd>A collaborative site featuring a large number of open web game development tutorials. Hasn't been very active recently, but still holds some nice resources.</dd>
 <dt><a href="https://creativejs.com/">Creative JS</a></dt>
 <dd>A collection of impressive JavaScript techniques and experiments, not specific to games, but helpful nonetheless. Hasn't been very active recently, but still holds some nice resources.</dd>
 <dt><a href="https://gameprogrammingpatterns.com/">Game programming patterns</a></dt>
 <dd>An online book, written by Bob Nystrom, which discusses programming patterns in the context of game development with the aim of helping game developers produce more effective, efficient code.</dd>
 <dt><a href="https://blog.artillery.com/">Artillery blog</a></dt>
 <dd>HTML5 games company Artillery have some useful articles on their blog.</dd>
 <dt><a href="https://leanpub.com/buildinggamesforfirefoxos/">Building games for Firefox OS</a></dt>
 <dd>A quick guide to creating 2D games with HTML5, for distribution on Firefox OS and other mobile platforms.</dd>
 <dt><a href="https://gamedevjsweekly.com/">Gamedev.js Weekly</a></dt>
 <dd>Weekly newsletter about HTML5 game development, sent every Friday. Contains the latest articles, tutorials, tools, and resources.</dd>
 <dt><a href="https://www.html5gamedevs.com/">HTML5 Game Devs Forum</a></dt>
 <dd>Forums for developers, framework creators and publishers. Ask questions, get feedback, help others.</dd>
 <dt><a href="https://html5gameengine.com/">HTML5 Game Engine</a></dt>
 <dd>List of the most popular HTML5 game frameworks along with their rating, features and samples.</dd>
 <dt><a href="https://www.jsbreakouts.org/">JSBreakouts</a></dt>
 <dd>Compare JavaScript Breakout clones in different frameworks to help you choose the right one for you.</dd>
 <dt><a href="https://gamedevelopment.tutsplus.com/">Tuts+ Game Development</a></dt>
 <dd>Tutorials and articles about game development in general.</dd>
 <dt><a href="https://webchat.freenode.net/?channels=bbg">#BBG IRC chat</a></dt>
 <dd>Talk with the developers directly in real time.</dd>
 <dt><a href="https://html5devstarter.enclavegames.com/">HTML5 Gamedev Starter</a></dt>
 <dd>Starter for the new game developers, a curated list of links to various, useful resources around the web.</dd>
 <dt><a href="https://js13kgames.com/">js13kGames</a></dt>
 <dd>JavaScript coding competition for HTML5 game developers with the file size limit set to 13 kilobytes. All the submitted games are available in a readable form on GitHub.</dd>
 <dt><a href="https://hacks.mozilla.org/category/games/">Mozilla Hacks blog</a></dt>
 <dd>Games category on the Mozilla Hacks blog containing interesting gamedev related articles.</dd>
</dl>
</div>

<div class="column-half">
<h2 id="Game_development_topics">Game development topics</h2>

<dl>
 <dt><a href="/en-US/docs/Games/Tools">Tools</a></dt>
 <dd>This section covers the tools available for facilitating the creation of effective gaming experiences on the Web, such as frameworks, compilers such as Emscripten, and debugging tools. It explain the core concepts behind each, giving you a solid base to work upon.</dd>
 <dt><a href="/en-US/docs/Games/Techniques">Techniques</a></dt>
 <dd>This section contains many articles covering essential techniques for game development, such as physics, collision detection, animation, 3D, data storage, and much more.</dd>
 <dt><a href="/en-US/docs/Games/Workflows">Workflows</a></dt>
 <dd>This section includes multiple case studies, taking the basic tools and techniques covered above and applying them to the creation of awesome games. There's something for you here, whether you are an experienceed web developer wanting to write 2D or 3D games, a C++ developer looking to port native games to the Web or a mobile developer looking for help writing better mobile games.</dd>
</dl>

<h2 id="Examples">Examples</h2>

<dl>
 <dt><a href="/en-US/demos/detail/bananabread" title="/en-US/demos/detail/bananabread">BananaBread</a></dt>
 <dd>A multiplayer, 3D first-person shooter game developed using Emscripten, WebGL, and WebRTC. One of the first high profile webGL game demos.</dd>
 <dt><a href="https://hacks.mozilla.org/2013/12/monster-madness-creating-games-on-the-web-with-emscripten/">Monster Madness</a></dt>
 <dd>A WebGL and asm.js-based multiplayer online shooter, developed by Nom Nom Games and Trendy entertainment.</dd>
 <dt><a href="https://www.auraluxgame.com/game/">Auralux</a></dt>
 <dd>WebGL and asm.js-based strategy game: capture all the suns to win!</dd>
 <dt><a href="https://playcanv.as/p/JtL2iqIH">Swooop</a></dt>
 <dd>A plane flying game: control your plane and collect the jewels. Again, created with <a href="https://playcanvas.com/">PlayCanvas</a>.</dd>
 <dt><a href="https://ga.me/games/polycraft">Polycraft</a></dt>
 <dd>A shipwreck 'n survive game. Explore the island, and defeat the monsters.</dd>
 <dt><a href="https://beta.unity3d.com/jonas/DT2/">Dead Trigger 2</a></dt>
 <dd>Classic zombie splatter action, made with <a href="https://unity3d.com/">Unity3D</a>.</dd>
 <dt><a href="https://playbiolab.com/">Biolab Disaster</a></dt>
 <dd>Side-scrolling platform shooter. An early attempt at a canvas game — a classic.</dd>
</dl>

<div class="note">
<p><strong>Note</strong>: For an extended list of examples, see our <a href="/en-US/docs/Games/Examples">examples page</a>.</p>
</div>
</div>
</div>

<p>{{GameTechBox}}</p>

<div class="note">
<p><strong>Note that we are keeping track of ongoing work on game development documentation on our <a href="/en-US/docs/Games/Doc_Status">Game development documentation status</a> page. If you want to help contribute to game development documentation, please have a look at this page to see what work needs doing!</strong></p>
</div>

<p>&nbsp;</p>

<p>{{CommunityBox("Games development", "community-games", "mozilla.community.games", "games", "Games Wiki|https://wiki.mozilla.org/Platform/Games|View Wiki|Find more information about Mozilla gaming efforts on the Games Wiki")}}</p>

<h5 id="Subnav">Subnav</h5>

<ol>
 <li><a href="#">Introduction</a>

  <ol>
   <li><a href="/en-US/docs/Games/Introduction" title="An introduction to the technologies useful for game developers and how to get started developing games using Web technologies. This article also looks at the business case for why it makes sense to create games for the Web">Introduction to game development for the Web</a></li>
   <li><a href="/en-US/docs/Games/Anatomy" title="What is a video game, really? There are certain parts that are common between games (even if it doesn't seem like it). This article looks to explain concepts like main loops in a completely general context. When it does focus, it does so toward web standards.">Anatomy of a video game</a></li>
   <li><a href="/en-US/docs/Web/Apps/Developing/Games/Special_considerations" title="This article from the App Center looks briefly at things you need to consider spefically when trying to create a game that will run as an open web app.">Special considerations for game developers</a></li>
  </ol>
 </li>
 <li><a href="/en-US/docs/Games/Tools">Tools</a>
  <ol>
   <li><a href="/en-US/docs/Games/Tools/asm.js" title="asm.js is a very limited subset of the JavaScript language, which can be greatly optimized and run in an ahead-of-time (AOT) compiling engine for much faster performance than your typical JavaScript performance. This is, of course, great for games.">asm.js</a></li>
   <li><a href="/en-US/docs/Emscripten" title="An LLVM to JavaScript compiler; with Emscripten, you can compile C++ and other languages that can compile to LLVM bytecode into high-performance JavaScript.">Emscripten</a></li>
   <li><a href="/en-US/docs/Web/API/WebVR_API">WebVR</a></li>
   <li><a href="https://developer.mozilla.org/en-US/docs/Mozilla/Performance/Profiling_with_the_Built-in_Profiler">Gecko profiler</a></li>
   <li><a href="/en-US/docs/Games/Tools/Engines_and_tools" title="A list of engines, templates and technologies useful to game developers.">Game engines and tools</a></li>
  </ol>
 </li>
 <li><a href="/en-US/docs/Games/Techniques">Techniques</a>
  <ol>
   <li><a href="/en-US/docs/Games/Techniques/Async_scripts" title="Especially when creating medium to large-sized games, async scripts are an essential technique to take advantage of, so that your game's JavaScript can be compiled off the main thread and be cached for future game running">Using async scripts for asm.js</a></li>
   <li><a href="/en-US/docs/Apps/Developing/Optimizing_startup_performance" title="How to make sure your game starts up quickly, smoothly, and without appearing to lock up the user's browser or device.">Optimizing startup performance</a></li>
   <li><a href="/en-US/docs/Games/Techniques/WebRTC_data_channels" title="In addition to providing support for audio and video communication, WebRTC lets you set up peer-to-peer data channels to exchange text or binary data actively between your players.">Using WebRTC peer-to-peer data channels</a></li>
   <li><a href="/en-US/docs/Games/Techniques/Efficient_animation_for_web_games">Efficient animation for web games</a></li>
   <li><a href="/en-US/docs/Games/Techniques/3D_on_the_web">3D games on the Web</a>
    <ol>
     <li><a href="/en-US/docs/Games/Techniques/3D_on_the_web">3D games on the Web overview</a></li>
     <li><a href="/en-US/docs/Games/Techniques/3D_on_the_web/Basic_theory">Explaining basic 3D theory</a></li>
     <li><a href="/en-US/docs/Games/Techniques/3D_on_the_web/Building_up_a_basic_demo_with_Three.js">Building up a basic demo with Three.js</a></li>
    </ol>
   </li>
   <li><a href="/en-US/docs/Games/Techniques/Audio_for_Web_Games">Audio for Web Games</a></li>
   <li><a href="/en-US/docs/Games/Techniques/2D_collision_detection">2D collision detection</a></li>
   <li><a href="/en-US/docs/Games/Techniques/3D_collision_detection">3D collision detection</a>
    <ol>
     <li><a href="/en-US/docs/Games/Techniques/3D_collision_detection">3D collision detection overview</a></li>
     <li><a href="/en-US/docs/Games/Techniques/3D_collision_detection/Bounding_volume_collision_detection_with_THREE.js">Bounding volume collision detection with THREE.js</a></li>
    </ol>
   </li>
   <li><a href="/en-US/docs/Games/Techniques/Tilemaps">Tiles and tilemaps</a>
    <ol>
     <li><a href="/en-US/docs/Games/Techniques/Tilemaps">Tiles and tilemaps overview</a></li>
     <li><a href="/en-US/docs/Games/Techniques/Tilemaps/Square_tilemaps_implementation%3A_Static_maps">Static maps</a></li>
     <li><a href="/en-US/docs/Games/Techniques/Tilemaps/Square_tilemaps_implementation%3A_Scrolling_maps">Scrolling maps</a></li>
    </ol>
   </li>
  </ol>
 </li>
 <li><a href="/en-US/docs/Games/Workflows">Workflows</a>
  <ol>
   <li><a href="https://developer.mozilla.org/en-US/docs/Games/Workflows/2D_Breakout_game_pure_JavaScript">2D breakout game using pure JavaScript</a></li>
   <li><a href="/en-US/docs/Games/Workflows/2D_breakout_game_Phaser">2D breakout game using Phaser</a></li>
   <li><a href="/en-US/docs/Games/Workflows/HTML5_Gamedev_Phaser_Device_Orientation">2D maze game with device orientation</a></li>
  </ol>
 </li>
 <li><a href="/en-US/docs/Games/Publishing_games">Publishing games</a>
  <ol>
   <li><a href="/en-US/docs/Games/Publishing_games">Publishing games overview</a></li>
   <li><a href="/en-US/docs/Games/Publishing_games/Game_distribution">Game distribution</a></li>
   <li><a href="/en-US/docs/Games/Publishing_games/Game_promotion">Game promotion</a></li>
   <li><a href="/en-US/docs/Games/Publishing_games/Game_monetization">Game monetization</a></li>
  </ol>
 </li>
 <li><a href="/en-US/docs/Games/Examples">Examples</a></li>
</ol>
Reverter para esta revisão