mozilla

Revision 480415 of Game development

  • Revision slug: Games
  • Revision title: Game development
  • Revision id: 480415
  • Created:
  • Creator: chrisdavidmills
  • Is current revision? No
  • Comment

Revision Content

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. This page provides links to some helpful information for game developers.

Documentation for game developers

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 looks at the business case for why it makes sense to create games for the Web.
Special considerations for game developers
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.
Optimizing startup performance
How to make sure your game starts up quickly, smoothly, and without appearing to lock up the user's browser or device.
Using WebRTC peer-to-peer data channels
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. This article explains what this can do for you, and shows how to use libraries that make this easy.

View All...

Getting help from the community

If you're working with Firefox OS, or developing applications you'd like to run on Firefox OS devices, there are community resources to help you!

  • Consult the Games forum: {{ DiscussionList("community-games", "mozilla.dev.games") }}

Don't forget about the netiquette...


Tools

Emscripten
An LLVM to JavaScript compiler; with Emscripten, you can compile C++ and other languages that can compile to LLVM bytecode into high-performance JavaScript. This is a great tool for porting applications to the Web!
Gecko profiler
The Gecko profiler extension lets you profile your code to help figure out where your performance issues are so that you can make your game run at top speed.
Game engines and tools
A list of engines, templates and technologies useful to game developers.
BananaBread
A multiplayer, 3D first-person shooter game developed using Emscripten, WebGL, and WebRTC.
Serpent game
This Open Web App is a simple game based on the classic "snake" game. It uses the WebGameStub template, which can help you to quickly create a Web game.

{{GameTechBox}}

Revision Source

<p>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. This page provides links to some helpful information for game developers.</p>
<table class="topicpage-table">
  <tbody>
    <tr>
      <td>
        <h2 class="Documentation" id="Documentation" name="Documentation">Documentation for game developers</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 looks at the business case for why it makes sense to create games for the Web.</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 spefically when trying to create a game that will run as an open web app.</dd>
          <dt>
            <a href="/en-US/docs/Apps/Developing/Optimizing_startup_performance" title="/en-US/docs/Apps/Developing/Optimizing_startup_performance">Optimizing startup performance</a></dt>
          <dd>
            How to make sure your game starts up quickly, smoothly, and without appearing to lock up the user's browser or device.</dd>
          <dt>
            <a href="/en-US/docs/Games/WebRTC_data_channels" title="/en-US/docs/Games/WebRTC_data_channels">Using WebRTC peer-to-peer data channels</a></dt>
          <dd>
            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. This article explains what this can do for you, and shows how to use libraries that make this easy.</dd>
        </dl>
        <p><span class="alllinks"><a href="/en-US/docs/tag/Games" title="/en-US/docs/tag/B2G">View All...</a></span></p>
      </td>
      <td>
        <h2 class="Community" id="Community" name="Community">Getting help from the community</h2>
        <p>If you're working with Firefox OS, or developing applications you'd like to run on Firefox OS devices, there are community resources to help you!</p>
        <ul>
          <li>Consult the Games forum: {{ DiscussionList("community-games", "mozilla.dev.games") }}</li>
        </ul>
        <ul>
          <li>Ask your question on Mozilla's Games channel: <a class="link-irc" href="irc://irc.mozilla.org/games" title="irc://irc.mozilla.org/b2g">#games</a></li>
          <li><a href="https://wiki.mozilla.org/Platform/Games" title="https://wiki.mozilla.org/Platform/Games">Mozilla games team wiki</a></li>
        </ul>
        <p><span class="alllinks"><a class="external" href="http://www.catb.org/~esr/faqs/smart-questions.html" title="http://www.catb.org/~esr/faqs/smart-questions.html">Don't forget about the <em>netiquette</em>...</a></span></p>
        <br />
        <h2 class="Tools" id="Tools">Tools</h2>
        <dl>
          <dt>
            <a href="https://github.com/kripken/emscripten/wiki" title="https://github.com/kripken/emscripten/wiki">Emscripten</a></dt>
          <dd>
            An LLVM to JavaScript compiler; with Emscripten, you can compile C++ and other languages that can compile to LLVM bytecode into high-performance JavaScript. This is a great tool for porting applications to the Web!</dd>
          <dt>
            <a href="https://addons.mozilla.org/en-us/firefox/addon/gecko-profiler/" title="https://addons.mozilla.org/en-us/firefox/addon/gecko-profiler/">Gecko profiler</a></dt>
          <dd>
            The Gecko profiler extension lets you profile your code to help figure out where your performance issues are so that you can make your game run at top speed.</dd>
          <dt>
            <a href="/en-US/docs/Web/Apps/Developing/Games/Engines_and_tools">Game engines and tools</a></dt>
          <dd>
            A list of engines, templates and technologies useful to game developers.</dd>
        </dl>
        <h2 class="Related_Topics" id="Related_Topics" name="Related_Topics">Demos</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.</dd>
          <dt>
            <a href="/en-US/docs/Web/Apps/Tutorials/Games/Serpent_game">Serpent game</a></dt>
          <dd>
            This Open Web App is a simple game based on the classic "snake" game. It uses the <a class="external" href="https://github.com/mozilla/WebGameStub">WebGameStub</a> template, which can help you to quickly create a Web game.</dd>
        </dl>
      </td>
    </tr>
  </tbody>
</table>
<p>{{GameTechBox}}</p>
Revert to this revision