ゲーム開発の翻訳状況

この記事は翻訳作業中です。

このページはゲーム開発ドキュメントにおける翻訳作業を追跡するものです。ゲーム開発者のドキュメント計画に関する生のメモが Mozilla Wiki に掲載されており、以下のドキュメントがどのように構成されるかを示す大まかな目次/記事の構成が記載されています。

概要

ページ数 翻訳済み 翻訳が更新済み 翻訳が技術レビュー済み 翻訳が編集レビュー済み マクロの文字列数 翻訳済みのマクロの文字列数
74 35 (47%) 14 (40%) 35 (100%) 32 (91%) 68 66 (97%)

全記事一覧

ページ 翻訳状況
Game development はい、ただし最新の状態ではありません (323 日前)。 編集する。
Anatomy of a video game はい、最新の状態です。
Examples はい、ただし最新の状態ではありません (588 日前)。 編集する。
Index はい、ただし最新の状態ではありません (179 日前)。 編集する。
Introduction to HTML5 Game Development (summary) はい、ただし最新の状態ではありません (724 日前)。 編集する。
Introduction to game development for the Web はい、ただし編集レビューが必要です。 編集する。
Publishing games 未訳です。 今すぐ翻訳しましょう。
Game distribution 未訳です。 今すぐ翻訳しましょう。
Game monetization 未訳です。 今すぐ翻訳しましょう。
Game promotion 未訳です。 今すぐ翻訳しましょう。
Techniques for game development はい、最新の状態です。
2D collision detection はい、ただし最新の状態ではありません (470 日前)。 編集する。
3D collision detection 未訳です。 今すぐ翻訳しましょう。
Bounding volume collision detection with THREE.js 未訳です。 今すぐ翻訳しましょう。
3D games on the Web はい、ただし最新の状態ではありません (253 日前)。 編集する。
Building up a basic demo with A-Frame はい、ただし最新の状態ではありません (274 日前)。 編集する。
Building up a basic demo with Babylon.js はい、最新の状態です。
Building up a basic demo with PlayCanvas 未訳です。 今すぐ翻訳しましょう。
Building up a basic demo with PlayCanvas editor 未訳です。 今すぐ翻訳しましょう。
Building up a basic demo with the PlayCanvas engine 未訳です。 今すぐ翻訳しましょう。
Building up a basic demo with Three.js はい、ただし最新の状態ではありません (419 日前)。 編集する。
Explaining basic 3D theory はい、最新の状態です。
GLSL Shaders 未訳です。 今すぐ翻訳しましょう。
WebVR — Virtual Reality for the Web はい、最新の状態です。
Async scripts for asm.js はい、最新の状態です。
Audio for Web games はい、ただし最新の状態ではありません (88 日前)。 編集する。
Crisp pixel art look with image-rendering 未訳です。 今すぐ翻訳しましょう。
Efficient animation for web games 未訳です。 今すぐ翻訳しましょう。
Implementing controls using the Gamepad API はい、ただし編集レビューが必要です。 編集する。
Implementing game control mechanisms はい、ただし最新の状態ではありません (5 日前)。 編集する。
Desktop gamepad controls 未訳です。 今すぐ翻訳しましょう。
Desktop mouse and keyboard controls 未訳です。 今すぐ翻訳しましょう。
Mobile touch controls 未訳です。 今すぐ翻訳しましょう。
Unconventional controls 未訳です。 今すぐ翻訳しましょう。
Tiles and tilemaps overview 未訳です。 今すぐ翻訳しましょう。
Square tilemaps implementation: Scrolling maps 未訳です。 今すぐ翻訳しましょう。
Square tilemaps implementation: Static maps 未訳です。 今すぐ翻訳しましょう。
WebRTC data channels はい、ただし翻訳途中です。 編集する。
Tools for game development はい、ただし最新の状態ではありません (478 日前)。 編集する。
asm.js はい、ただし最新の状態ではありません (718 日前)。 編集する。
Tutorials はい、ただし最新の状態ではありません (1 時間前)。 編集する。
2D breakout game using Phaser はい、ただし最新の状態ではありません (11 分前)。 編集する。
Animations and tweens 未訳です。 今すぐ翻訳しましょう。
Bounce off the walls 未訳です。 今すぐ翻訳しましょう。
Build the brick field 未訳です。 今すぐ翻訳しましょう。
Buttons 未訳です。 今すぐ翻訳しましょう。
Collision detection 未訳です。 今すぐ翻訳しましょう。
Extra lives 未訳です。 今すぐ翻訳しましょう。
Game over 未訳です。 今すぐ翻訳しましょう。
Initialize the framework 未訳です。 今すぐ翻訳しましょう。
Load the assets and print them on screen 未訳です。 今すぐ翻訳しましょう。
Move the ball 未訳です。 今すぐ翻訳しましょう。
Physics はい、最新の状態です。
Player paddle and controls 未訳です。 今すぐ翻訳しましょう。
Randomizing gameplay 未訳です。 今すぐ翻訳しましょう。
Scaling 未訳です。 今すぐ翻訳しましょう。
The score 未訳です。 今すぐ翻訳しましょう。
Win the game 未訳です。 今すぐ翻訳しましょう。
2D breakout game using pure JavaScript はい、ただし最新の状態ではありません (77 日前)。 編集する。
Bounce off the walls はい、最新の状態です。
Build the brick field はい、ただし最新の状態ではありません (44 日前)。 編集する。
Collision detection はい、最新の状態です。
Create the Canvas and draw on it はい、最新の状態です。
Finishing up はい、最新の状態です。
Game over はい、ただし最新の状態ではありません (395 日前)。 編集する。
Mouse controls はい、最新の状態です。
Move the ball はい、ただし編集レビューが必要です。 編集する。
Paddle and keyboard controls はい、ただし最新の状態ではありません (243 日前)。 編集する。
Track the score and win はい、最新の状態です。
2D maze game with device orientation 未訳です。 今すぐ翻訳しましょう。
Touch Event Horizon 未訳です。 今すぐ翻訳しましょう。
Visual JS GE 未訳です。 今すぐ翻訳しましょう。
Visual typescript game engine 未訳です。 今すぐ翻訳しましょう。
Visual-js game engine 未訳です。 今すぐ翻訳しましょう。

マクロ

マクロ名 文字列数 翻訳済み
Common 18 16
CompatTable 50 50

Everyone loves games, but in addition games are a big statement for, and testimony to, the scope and power of open web standards. A constant criticism leveled at the open web is that it doesn't have the performance available to support complex applications such as 3D immersive games, as compared to native platforms. However, Mozilla's work on technologies such as ASM.js, Emscripten and WebGL has shown that open standards have got what it takes, and playing such games in a Web browser is perfectly possible.

While MDN currently has some game related documentation, it's fragmentary, incomplete, and often out of date. This is the documentation plan for our project to produce a top-notch game development resource for Web apps and Web sites.

Team

The project will be handled primarily by:

chrisdavidmills
Primary writer.

Content destination

The game developer zone has already been created; this project will update and replace the existing material. In addition, content in other parts of MDN may need work, such as API documentation.

User stories

  • Provide resources for developers coming from the C/C++ world
    • These developers are highly skilled, often working on the best stuff, and have until now been largely excluded from the Web. They will largely look at the Web as another port target and will want to know what their limitations are. They will also want to focus on how to integrate tools such as Emscripten into their tool chains. It is safe to assume a very high level of knowledge for this group.
  • Provide resources for developers coming from the Flash world, or current JavaScript developers
    • These developers are looking for the most web-friendly way to proceed, including how to port games across, say from Flash to JavaScript. They will have highly varying levels of skill and will likely want to start with 2D canvas and move their way up to WebGL. Libraries and tools will be particularly important for this group as well as transition documents explaining the fundamentals of the more complicated graphics technologies. They will not have the skills needed to make the most performance-optimized games without the help of middleware in most cases.
  • Provide resources for newbies and hobbyists
    • These are developers or students that have never touched game development for the most part. This group will be interested in hackable games initiatives and what not. We should make sure to remember this group although they should not be a primary focus in the short term.

Note: We will not focus especially on artists, beyond topics relating to the export of their images for use in a Web context and what graphical capabilities are available to them. Most of this can be shared to the artists by the developers, so we won't have to specifically cover this in most cases.

Documents needed

The lists here detail specific types of content that need to be produced, as well as precise pages that we know need to be produced or updated.

Note: Below, each document category is given a priority number, where 1 is the most important and 3 is the least important.

Types of pages

The following types of pages will need to be produced:

  • Landing pages
  • Reference
    • Interfaces
    • Properties
    • Methods
    • Events
  • Guides/tutorials
  • Sample apps and web content

Introduction to Web game development (PRIORITY 1)

The following introductory material will be needed; this may be one large page or a set of pages, depending on how large and involved the content winds up being.

  • Little bit of history of web gaming
  • Why is the Web a good gaming platform, and how is this possible?
  • What tools do we have available
  • What does the tool chain look like (from <canvas>/JS to asm.js and Emscripten)
  • How can traditional games developers adapt
  • Examples of existing open web games, to demonstrate that it can be done, and to provide inspiration.

Technology cross reference (PRIORITY 3)

Teaching and reference material on technology fundamentals in case people need to update their knowledge, for example on Canvas, WebRTC and WebGL. This should be links to other parts of MDN, not new articles. This will be very useful to devs in the long term, although bear in mind that all such reference pages don't exist yet on MDN, and we need to create them in a fairly timely fashion.

We should present attractive, easy to get at links to all of these APIs:

  • File API
  • Full Screen API
  • Gamepad API
  • CSS
  • HTML audio
  • IndexedDB (for local storage of files on the device)
  • JavaScript
  • Pointer Lock API
  • SVG
  • Typed Arrays
  • Web Audio API
  • Canvas
  • WebGL
  • WebRTC
  • WebSockets
  • Web Workers
  • XMLHttpRequest

These links may be in the form of a page full of links, or a sidebar, or (possibly ideally) both.

Tools and libraries (PRIORITY 1)

We need to document tools that we provide, and provide links to documentation for recommended or useful tools from other organizations. Some content we need to have is:

  • Introduction to asm.js and basic usage guide
  • Introduction and basic usage of Emscripten
  • Introduction and basic usage of Shumway (open-source Flash replacement)
    • Whether or not to use it for new projects
    • How to use Shumway to make existing Flash games run without Flash
  • Other tools and frameworks as appropriate

Samples/model 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.

These are, in essence, tutorials with sample code.

How to create a simple game (PRIORITY 3)

This tutorial will lead the developer through all the steps of creating a brand new game, and is targeted at beginning game developers. This will likely be a Breakout type of game, and will cover:

  • Setting up the canvas
  • Building the brick field
  • Adding a moveable paddle
  • Adding the ball motion mechanics
  • Adding the breaking bricks
  • Adding score keeping and display
  • Handling the missing of the ball at the bottom of the play field, and end-game scenario
  • Sound effects

After each step is implemented, a live sample will be presented so the reader can see the new additions in action.

Designing your game engine (PRIORITY 2)

This tutorial is for existing Web developers who are creating their first open Web game:

  • Setting up your overall environment, organizing your files, pulling in libraries
  • basic requirements such as physics, collisions,
  • The game loop, and what is updated in each frame
  • Input Support (Gamepad)
  • Pointer Lock/Fullscreen API
  • Adding multiplayer support
  • Performance optimization tips
  • Caching your online game
  • Offline install and play

UX and mobile games (PRIORITY 2)

Providing a good user experience is a key part of making compelling games, and doing so on mobile has added challenges. We need to provide examples to help developers get a handle on this.

  • There are many smaller games that are feasible for a single person to make
  • Idea for mobile platforms in terms of footprint and UX
  • Mobile games don't necessarily have to be simple 2D affairs, but these lend themselves better to mobile platforms
  • Cover what different platforms can handle, performance-wise. Web apps can be opened on everything from a basic Firefox OS device to a powerful desktop PC or Mac, and will obviously not perform the same on all of them.
  • Multi-player gaming using WebSockets, XMLHttpRequest, and/or WebRTC
  • Nice for Firefox OS as well
  • Discuss mobile app distribution on different platforms?

Creating your first 3D game (PRIORITY 2)

We probably need a separate article covering the creation of a 3D game, with information about setting up a 3D environment, working with textures and other resources for the 3D imagery, and so forth. This needs to be specced out further.

This content is also for existing Web developers.

Porting native apps to Web standards (PRIORITY 1)

This content will help existing app developers for other platforms (Android, iOS, Windows Phone, etc.) migrate their existing code to run natively in the browser instead.

  • Emscripten introduction
  • Asm.js introduction
  • Using the profiling tools to improve performance
  • Using debugging tools to get everything working right
  • Suggested porting workflow
    • What does this workflow look like?

Porting Flash games to Web standards (PRIORITY 3)

We also need to provide a guide for Flash developers that want to port their games to run natively in the browser using Web standards. Topics to cover include:

  • Shumway for game developers
    • Introduction
    • What Shumway can/can't do (compatibility guide?)
  • Middleware
    • What is this? What's available?
  • Flesh this out further

Other content needed

There are a number of other topics that are related to gaming that should have their content created, reviewed, and/or updated as needed, including:

  • WebRT
  • Cloud application development
  • WebRTC for game developers

Existing content

The Game development zone already exists. This content will augment and/or replace all content therein, as needed.

Other notes

Ideas and thoughts

  • We can do cool stuff with live samples here, presenting actual games inline with the content. For example, with a tutorial about building a Breakout game, we can have a series of live samples showing each stage of development, ending with a fully-playable game at the end of the tutorial.
  • How about a live sample that produces a spaceship that can actually fly around interacting with the content of the article itself?
  • How about inline samples with a code editor window you can tinker with the game in real time in?
  • We may find that it might be helpful to have a PaaS set up for hosting multi-player demo content or other server functionality.

People to talk to for information

  • The games engineering effort is led by Martin Best; he can point us in the direction of other Mozilla devs who can help
  • Maire Reavy is also really interested in the gaming side of things, and she leads the WebRTC engineering efforts
  • Mark Giffin said: There are lots of Mozilla devs interested in gaming. We should talk to interested devs inside the company, as well as our passionate community.
  • We also have a few other community members who are really interested in helping, for example Scott Michaud and Sébastien Barbieri.
  • Remember that Sheppy is an ex-game developer, so has lots of interest and knowledge in this area.
  • Marketplace game developers. What were the pain points? what are the interesting tips?
  • Community sites like creative JS and http://buildnewgames.com/. Rob Hawkes, Seb Lee Delisle, Bocoup guys?
  • say hello in the #games channel
  • James Long and Chris Lord interested, and will get involved as time allows

Content outline

Key:

  • Green: complete
  • Yellow: in progress
  • White: not started
  • Priority ratings:
    • * : priority 1
    • ** : priority 2
    • *** : priority 3

Intro material

Article title Rough content summary Potential authors Notes
* Introduction to web gaming * Little bit of history of web gaming
* Why is the Web a good gaming platform, and how is this possible?
* What tools do we have available
* What does the tool chain look like (from <canvas>/JS to asm.js and Emscripten)
* How can traditional games developers adapt
* Examples of existing open web games, to demonstrate that it can be done, and to provide inspiration.
Austin Hallock from clay.io is updating this one. The existing article is ok, but really could do with being improved upon.
*** Technology reference

Teaching and reference material on technology fundamentals in case people need to update their knowledge, for example on Canvas, WebRTC and WebGL. This should be links to other parts of MDN, not new articles. This will be very useful to devs in the long term, although bear in mind that all such reference pages don't exist yet on MDN, and we need to create them in a fairly timely fashion.

Eventually we will want to be able to link to a list of technology pages on subjects like File API, Full Screen API, Gamepad API, CSS, HTML audio, IndexedDB, JavaScript, Pointer Lock API, SVG, Typed Arrays, Web Audio API, Canvas, WebGL, WebRTC, Web Sockets, Web Workers, XMLHttpRequest.

This article doesn't really require a separate author as such; it will just be links to other parts of MDN.

Tools articles

Article title Rough content summary Potential authors Notes
* asm.js James Long jlong/longster has agree to have a stab at writing this
* Emscripten Chris Mills starting to write this Lots of info to cover this being added over at the Emscripten zone.
* Shumway
* Frameworks and tools This is likely to be multiple articles, covering different tools/middleware that are used to facilitate game creation. Research is needed to ascertain which ones we should cover first.

Gaming techniques articles

Isolated coverage of fundamental gaming techniques, assumes knowledge of the underlying technologies. For that, see the technology reference. 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 appropriate places.

Article title Rough content summary Potential authors Notes
**The anatomy of a video game Scott Michaud writing this one The main loop, etc.
**Collision detection Louis Stowasser wrote an article covering 2D collision detection.
**Physics
**Efficient animation Chris Lord has written something to cover this First been published on his blog
**2D
**3D environments and acceleration
**Data storage Offline installation, updates, appcache, application manifest, etc.
***Video and audio <video> and <audio>, gUM, WebRTC, etc. Cover basic display, manipulation, looping...
***Multi-person games WebRTC, sockets, etc.
***Graphics for web games how to export, formats to use, optimization…
**Performance optimization Main thread vs Worker; ASM.js; WebGL; WebCL
**Games distribution Information about distributing web games, both online/in open marketplaces and in closed ones such as Google Play and the iOS app store
***Touch/pointer control Touch, pointer events, etc.
***iOS/Chrome web shortcuts

Workflow articles

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.

*Porting from native to web standards

For the C++, professional gaming industry people. We need to explain to them how the Web is a viable platform, and how they can get their games up and running on it.

Article title Rough content summary Potential authors Notes
*Emscripten
*Profiling
*Debugging
*Really need a proper outline of article titles written here

***Simple step by step tutorial on how to create a game, baby steps for beginners

This uses Breakout as an example. After each step is implemented, offer a live sample so the reader can see what the new additions look like.

Article title Rough content summary Potential authors Notes
***Setting up the canvas Andrzej Mazur UPDATE: Andrzej finished writing this case study section — see https://developer.mozilla.org/en-US/docs/Games/Workflows/2D_Breakout_game_pure_JavaScript
***Building the brick field -||-
***Adding a moveable paddle -||-
***Adding the ball motion mechanics -||-
***Adding the breaking bricks -||-
***Adding score keeping and display -||-
***Losing lives and end game -||- What happens when you lose the ball at the bottom of the playing field? What happens when all lives are lost?
***Sound effects -||-

**Designing your game engine - basic 2D

This is for existing pro web devs, who are familiar with the technologies and just need to be take a bit further. The game here should be something a bit more interesting and fast moving, such as an asteroids clone.

Article title Rough content summary Potential authors Notes
**Setting up the environment Organizing your files, pulling in libraries, the main game loop, going fullscreen with Fullscreen API, etc.
**Making the physics more realistic
**Collision detection for pros
**Input support Keyboard, gamepad, mouse, etc. Look at how the player ship could be made to respond directly to the mouse with PointerLock.
Adding multiplayer support On the same computer, and on different computers using WebRTC.?
Offline support Caching your online game, offline install and play on systems like Firefox OS

**Moving into 3D

Introducing pro web devs to creating 3D environments. What is required to set up a 3D game? WebGL, libraries, etc.? Choose something interesting like a 3D tank game, or something?

Article title Rough content summary Potential authors Notes
Structure still to be written

***Mobile games and UX

There are many smaller mobile games that are feasible for a single person to make. Mobile games don't necessarily have to be simple 2D affairs, but these lend themselves better to mobile platforms. This section could cover ideas for mobile platforms in terms of footprint and UX; nice for FxOS as well. Also include discussion of mobile app distribution on different platforms?

Article title Rough content summary Potential authors Notes
Structure still to be written

***Porting Flash games to web standards

For the Flash guys...

Article title Rough content summary Potential authors Notes
***Shumway
***Middleware
***What else? Need a proper structure written here.

Meetings

We currently don't have regular game development documentation meetings, but the notes for the ones we do have are recorded below:

Sheppy has also been having some conversations with game industry developers to find out useful feedback from their perspective.