Skip to content

Commit

Permalink
Merge branch 'main' into redirect-links-4
Browse files Browse the repository at this point in the history
  • Loading branch information
Josh-Cena authored Aug 7, 2024
2 parents d8bd699 + d71da81 commit a0c548e
Show file tree
Hide file tree
Showing 827 changed files with 5,487 additions and 2,716 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/pr-review-companion.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ jobs:

- name: Install Python poetry
if: ${{ env.HAS_ARTIFACT }}
uses: snok/install-poetry@v1.3
uses: snok/install-poetry@v1.4
with:
virtualenvs-create: true
virtualenvs-in-project: true
Expand Down
8 changes: 0 additions & 8 deletions files/en-us/_redirects.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3974,7 +3974,6 @@
/en-US/docs/HTMLSpanElement /en-US/docs/Web/API/HTMLSpanElement
/en-US/docs/HTMLSpanElement_interface /en-US/docs/Web/API/HTMLSpanElement
/en-US/docs/HTML_Intro2 /en-US/docs/Learn/HTML/Introduction_to_HTML
/en-US/docs/HTML_Santizer_API /en-US/docs/Web/API/HTML_Sanitizer_API
/en-US/docs/HTML_in_XMLHttpRequest /en-US/docs/Web/API/XMLHttpRequest_API/HTML_in_XMLHttpRequest
/en-US/docs/HTML_intro /en-US/docs/Learn/HTML/Introduction_to_HTML
/en-US/docs/HTTP /en-US/docs/Web/HTTP
Expand Down Expand Up @@ -8629,7 +8628,6 @@
/en-US/docs/Web/API/HTMLVideoElement/onleavepictureinpicture /en-US/docs/Web/API/HTMLVideoElement/leavepictureinpicture_event
/en-US/docs/Web/API/HTMLVideoElement/requestPictureInPicture() /en-US/docs/Web/API/HTMLVideoElement/requestPictureInPicture
/en-US/docs/Web/API/HTML_DOM /en-US/docs/Web/API/HTML_DOM_API
/en-US/docs/Web/API/HTML_Santizer_API /en-US/docs/Web/API/HTML_Sanitizer_API
/en-US/docs/Web/API/HashChangeEvent/HashChangeEvent.oldURL /en-US/docs/Web/API/HashChangeEvent/oldURL
/en-US/docs/Web/API/Headers/getAll /en-US/docs/Web/API/Headers/get
/en-US/docs/Web/API/History.length /en-US/docs/Web/API/History/length
Expand Down Expand Up @@ -9651,7 +9649,6 @@
/en-US/docs/Web/API/SVGPathElement/pathLength /en-US/docs/Web/API/SVGGeometryElement/pathLength
/en-US/docs/Web/API/SVGStylable /en-US/docs/Web/API/SVGElement
/en-US/docs/Web/API/SVGURIReference /en-US/docs/Web/SVG/Attribute/href
/en-US/docs/Web/API/Sanitizer/sanitizeFor /en-US/docs/Web/API/Sanitizer
/en-US/docs/Web/API/Screen.availHeight /en-US/docs/Web/API/Screen/availHeight
/en-US/docs/Web/API/Screen.availLeft /en-US/docs/Web/API/ScreenDetailed/availLeft
/en-US/docs/Web/API/Screen.availTop /en-US/docs/Web/API/ScreenDetailed/availTop
Expand Down Expand Up @@ -11581,7 +11578,6 @@
/en-US/docs/Web/CSS/calc-constant /en-US/docs/Web/CSS/calc-keyword
/en-US/docs/Web/CSS/clamp() /en-US/docs/Web/CSS/clamp
/en-US/docs/Web/CSS/color-adjust /en-US/docs/Web/CSS/print-color-adjust
/en-US/docs/Web/CSS/color-interpolation-filters /en-US/docs/Web/SVG/Attribute/color-interpolation-filters
/en-US/docs/Web/CSS/color_value/color() /en-US/docs/Web/CSS/color_value/color
/en-US/docs/Web/CSS/color_value/color-contrast() /en-US/docs/Web/CSS/color_value/color-contrast
/en-US/docs/Web/CSS/color_value/color-mix() /en-US/docs/Web/CSS/color_value/color-mix
Expand Down Expand Up @@ -11616,8 +11612,6 @@
/en-US/docs/Web/CSS/env() /en-US/docs/Web/CSS/env
/en-US/docs/Web/CSS/fallback /en-US/docs/Web/CSS/@counter-style/fallback
/en-US/docs/Web/CSS/fill /en-US/docs/Web/SVG/Attribute/fill
/en-US/docs/Web/CSS/fill-opacity /en-US/docs/Web/SVG/Attribute/fill-opacity
/en-US/docs/Web/CSS/fill-rule /en-US/docs/Web/SVG/Attribute/fill-rule
/en-US/docs/Web/CSS/filter-function/blur() /en-US/docs/Web/CSS/filter-function/blur
/en-US/docs/Web/CSS/filter-function/brightness() /en-US/docs/Web/CSS/filter-function/brightness
/en-US/docs/Web/CSS/filter-function/contrast() /en-US/docs/Web/CSS/filter-function/contrast
Expand Down Expand Up @@ -11710,7 +11704,6 @@
/en-US/docs/Web/CSS/scroll /en-US/docs/Web/CSS/overflow
/en-US/docs/Web/CSS/scrollbar-track-color /en-US/docs/Web/CSS/scrollbar-color
/en-US/docs/Web/CSS/shape-box /en-US/docs/Web/CSS/shape-outside
/en-US/docs/Web/CSS/shape-rendering /en-US/docs/Web/SVG/Attribute/shape-rendering
/en-US/docs/Web/CSS/sign() /en-US/docs/Web/CSS/sign
/en-US/docs/Web/CSS/sign_function /en-US/docs/Web/CSS/sign
/en-US/docs/Web/CSS/single-transition-timing-function /en-US/docs/Web/CSS/easing-function
Expand All @@ -11730,7 +11723,6 @@
/en-US/docs/Web/CSS/symbols() /en-US/docs/Web/CSS/symbols
/en-US/docs/Web/CSS/symbols-descriptor /en-US/docs/Web/CSS/@counter-style/symbols
/en-US/docs/Web/CSS/system /en-US/docs/Web/CSS/@counter-style/system
/en-US/docs/Web/CSS/text-anchor /en-US/docs/Web/SVG/Attribute/text-anchor
/en-US/docs/Web/CSS/text-combine-horizontal /en-US/docs/Web/CSS/text-combine-upright
/en-US/docs/Web/CSS/time-function /en-US/docs/Web/CSS/easing-function
/en-US/docs/Web/CSS/timing-function /en-US/docs/Web/CSS/easing-function
Expand Down
16 changes: 0 additions & 16 deletions files/en-us/_wikihistory.json
Original file line number Diff line number Diff line change
Expand Up @@ -41778,10 +41778,6 @@
"Enn"
]
},
"Web/API/HTML_Sanitizer_API": {
"modified": "2020-12-13T12:18:13.088Z",
"contributors": ["Rumyra"]
},
"Web/API/HashChangeEvent": {
"modified": "2020-10-15T21:29:11.207Z",
"contributors": [
Expand Down Expand Up @@ -57386,18 +57382,6 @@
"Jeremie"
]
},
"Web/API/Sanitizer": {
"modified": "2020-12-13T12:17:05.573Z",
"contributors": ["Rumyra"]
},
"Web/API/Sanitizer/Sanitizer": {
"modified": "2020-12-13T12:21:15.482Z",
"contributors": ["Rumyra"]
},
"Web/API/Sanitizer/sanitize": {
"modified": "2020-12-13T12:25:31.511Z",
"contributors": ["Rumyra"]
},
"Web/API/Screen": {
"modified": "2020-10-15T21:29:41.001Z",
"contributors": [
Expand Down
6 changes: 3 additions & 3 deletions files/en-us/games/publishing_games/game_distribution/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ If you're working on a side project just for fun, then leaving the source open w

As the name may suggest, publishers can handle the publishing of your game for you. Whether you should go that way or not depends on what your plan is for having your game distributed: Do you want to send it wherever possible, or do you want to restrict its presence to those who've bought an [exclusive license](/en-US/docs/Games/Publishing_games/Game_monetization)? It's up to you. Consider various options, experiment and conclude. Publishers will be explained in more detail in the [monetization](/en-US/docs/Games/Publishing_games/Game_monetization) article.

There are also independent portals collecting interesting games like [HTML5Games.com](https://html5games.com/), [GameArter.com](https://www.gamearter.com/), [MarketJS.com](https://www.marketjs.com/), [GameFlare](https://distribution.gameflare.com/), [GameDistribution.com](https://gamedistribution.com/), [Poki](https://developers.poki.com/), or [CrazyGames](https://developer.crazygames.com) where you can send your game in and it will get some natural promotion because of the big traffic those sites attract. Some of these take your files and host them on their server, whereas others only link to your website or embed your game on their site. Such exposure may just provide [promotion](/en-US/docs/Games/Publishing_games/Game_promotion) for your game, or if you have adverts shown beside your game (or other money making options) it may also provide monetization.
There are also independent portals collecting interesting games like [HTML5Games.com](https://html5games.com/), [GameArter.com](https://www.gamearter.com/), [MarketJS.com](https://www.marketjs.com/), [GameFlare](https://distribution.gameflare.com/), [GameDistribution.com](https://gamedistribution.com/), [Poki](https://developers.poki.com/), or [CrazyGames](https://developer.crazygames.com/) where you can send your game in and it will get some natural promotion because of the big traffic those sites attract. Some of these take your files and host them on their server, whereas others only link to your website or embed your game on their site. Such exposure may just provide [promotion](/en-US/docs/Games/Publishing_games/Game_promotion) for your game, or if you have adverts shown beside your game (or other money making options) it may also provide monetization.

### Web and native stores

Expand All @@ -73,7 +73,7 @@ Let's see what the available options are regarding the marketplaces/stores avail

The best platforms for HTML games are Web-based stores. You can prepare games for web stores by adding a manifest file and other data, such as resources, in a zipped package. Not many modifications of the game itself are required.

- [The Chrome Web Store](https://chrome.google.com/webstore/) is also an attractive option — again, having a manifest file ready, zipping your game and filling in the online submission form is about all that's required.
- [The Chrome Web Store](https://chromewebstore.google.com/) is also an attractive option — again, having a manifest file ready, zipping your game and filling in the online submission form is about all that's required.

### Native mobile stores

Expand All @@ -93,7 +93,7 @@ After you've covered Steam, there's plenty of buzz around initiatives like [Humb

## Packaging games

The web is the first and the best choice for HTML games, but if you want to reach a broader audience and distribute your game in a closed ecosystem, you still can do that by packaging it. The good thing is that you don't need a few separate teams working on the same game for different platforms — you can build it once and use tools like [Phonegap](https://phonegap.com/) to package the game for native stores. The resulting packages are usually pretty reliable, but you should still test them and be on the lookout for small issues or bugs to fix.
The web is the first and the best choice for HTML games, but if you want to reach a broader audience and distribute your game in a closed ecosystem, you still can do that by packaging it. The good thing is that you don't need a few separate teams working on the same game for different platforms — you can build it once and use tools to package the game for native stores. The resulting packages are usually pretty reliable, but you should still test them and be on the lookout for small issues or bugs to fix.

### Available tools

Expand Down
4 changes: 2 additions & 2 deletions files/en-us/games/publishing_games/game_promotion/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Developing and publishing your game is not enough. You have to let the world kno

## Competitions

Taking part in [competitions](https://www.bestsevenreviews.com/category/online-games/) will not only level up your gamedev skills and let you meet new devs to befriend and learn from — and it will also get you involved in the community. If you make a good game for a competition and win some prizes in the process your game will automatically be promoted by the organizers and other attendees. You'll be rich and famous, or so they say.
Taking part in competitions will not only level up your gamedev skills and let you meet new devs to befriend and learn from — and it will also get you involved in the community. If you make a good game for a competition and win some prizes in the process your game will automatically be promoted by the organizers and other attendees. You'll be rich and famous, or so they say.

Many great games get started as a quick, sloppy demo submitted to a competition. If both the idea and the execution are good enough, you will succeed. Plus competitions generally require games to follow a mandatory theme, so you can get creative around a theme if you are stuck for ideas.

Expand All @@ -20,7 +20,7 @@ You should definitely create your own website containing all the information abo

You should also blog about everything related to your gamedev activities. Write about your development process, nasty bugs you encounter, funny stories, lessons learned, and the ups and downs of being a game developer. Continually publishing information about your games will help educate others, increase your reputation in the community, and further improve SEO. A further option is to publish [monthly reports](https://end3r.com/blog/?s=monthly+report) that summarize all your progress — it helps you see what you've accomplished throughout the month and what's still left to do, and it keeps reminding people that your game is coming out soon — building buzz is always good.

While you can create your website from scratch, there are also tools that can help make the process easier. [ManaKeep](https://manakeep.com) is a website builder made for indie game developers and provides a great starting point to create your website. [Presskit()](https://dopresskit.com/) is a press kit builder that helps you create a press page to share with the media.
While you can create your website from scratch, there are also tools that can help make the process easier. [ManaKeep](https://manakeep.com/) is a website builder made for indie game developers and provides a great starting point to create your website. [Presskit()](https://dopresskit.com/) is a press kit builder that helps you create a press page to share with the media.

## Social media

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ Implementing SAT is out of scope for this page so see the recommended tutorials

1. [Separating Axis Theorem (SAT) explanation](https://www.sevenson.com.au/programming/sat/)
2. [Collision detection and response](https://www.metanetsoftware.com/technique/tutorialA.html)
3. [Collision detection Using the Separating Axis Theorem](https://gamedevelopment.tutsplus.com/tutorials/collision-detection-using-the-separating-axis-theorem--gamedev-169)
3. [Collision detection Using the Separating Axis Theorem](https://code.tutsplus.com/collision-detection-using-the-separating-axis-theorem--gamedev-169t)
4. [SAT (Separating Axis Theorem)](https://dyn4j.org/2010/01/sat/)
5. [Separating Axis Theorem](https://programmerart.weebly.com/separating-axis-theorem.html)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -179,5 +179,5 @@ Related articles on MDN:

External resources:

- [Simple intersection tests for games](https://www.gamedeveloper.com/disciplines/simple-intersection-tests-for-games) on Game Developer
- [Simple intersection tests for games](https://www.gamedeveloper.com/game-platforms/simple-intersection-tests-for-games) on Game Developer
- [Bounding volume](https://en.wikipedia.org/wiki/Bounding_volume) on Wikipedia
Original file line number Diff line number Diff line change
Expand Up @@ -102,14 +102,14 @@ const camera = new BABYLON.FreeCamera(
);
```

There are many [cameras](https://doc.babylonjs.com/divingDeeper/cameras) available in Babylon.js; `FreeCamera` is the most basic and universal one. To initialize it you need to pass it three parameters: any name you want to use for it, the coordinates where you want it to be positioned in the 3D space, and the scene you want to add it to.
There are many [cameras](https://doc.babylonjs.com/features/featuresDeepDive/cameras) available in Babylon.js; `FreeCamera` is the most basic and universal one. To initialize it you need to pass it three parameters: any name you want to use for it, the coordinates where you want it to be positioned in the 3D space, and the scene you want to add it to.

> [!NOTE]
> You probably noticed the `BABYLON.Vector3()` method in use here — this defines a 3D position on the scene. Babylon.js is bundled with a complete math library for handling vectors, colors, matrices etc.
## Let there be light

There are various [light sources](https://doc.babylonjs.com/divingDeeper/lights/lights_introduction#types-of-lights) available in Babylon.js. The most basic one is the `PointLight`, which works like a flashlight — shining a spotlight in a given direction. Add the following line below your camera definition:
There are various [light sources](https://doc.babylonjs.com/features/featuresDeepDive/lights/lights_introduction#types-of-lights) available in Babylon.js. The most basic one is the `PointLight`, which works like a flashlight — shining a spotlight in a given direction. Add the following line below your camera definition:

```js
const light = new BABYLON.PointLight(
Expand All @@ -123,7 +123,7 @@ The parameters are very similar to the previously defined camera: the name of th

## Geometry

Now the scene is properly rendering we can start adding 3D shapes to it. To speed up development Babylon.js provides a bunch of [predefined primitives](https://doc.babylonjs.com/divingDeeper/mesh/creation/set) that you can use to create shapes instantly in a single line of code. There are cubes, spheres, cylinders and more complicated shapes available. Let's start by defining the geometry for a box shape — add the following new code below your previous additions:
Now the scene is properly rendering we can start adding 3D shapes to it. To speed up development Babylon.js provides a bunch of [predefined primitives](https://doc.babylonjs.com/features/featuresDeepDive/mesh/creation/set) that you can use to create shapes instantly in a single line of code. There are cubes, spheres, cylinders and more complicated shapes available. Let's start by defining the geometry for a box shape — add the following new code below your previous additions:

```js
const box = BABYLON.Mesh.CreateBox("box", 2, scene);
Expand Down
4 changes: 2 additions & 2 deletions files/en-us/games/techniques/3d_on_the_web/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ There's also the [Building up a basic demo with A-Frame](/en-US/docs/Games/Techn

Coding raw WebGL is fairly complex, but you'll want to get to grips with it in the long run, as your projects get more advanced (see our [WebGL documentation](/en-US/docs/Web/API/WebGL_API) to get started.) For real-world projects you'll probably also make use of a framework to speed up development and help you manage the project you're working on. Using a framework for 3D games also helps optimize the performance as a lot is taken care of by the tools you use, so you can focus on building the game itself.

The most popular JavaScript 3D library is [Three.js](https://threejs.org/), a multipurpose tool that makes common 3D techniques simpler to implement. There are other popular game development libraries and frameworks worth checking too; [A-Frame](https://aframe.io), [PlayCanvas](https://playcanvas.com/) and [Babylon.js](https://www.babylonjs.com/) are among the most recognizable ones with rich documentation, online editors and active communities.
The most popular JavaScript 3D library is [Three.js](https://threejs.org/), a multipurpose tool that makes common 3D techniques simpler to implement. There are other popular game development libraries and frameworks worth checking too; [A-Frame](https://aframe.io/), [PlayCanvas](https://playcanvas.com/) and [Babylon.js](https://www.babylonjs.com/) are among the most recognizable ones with rich documentation, online editors and active communities.

### Building up a basic demo with A-Frame

Expand All @@ -63,7 +63,7 @@ Three.js, like any other library, gives you a huge advantage: instead of writing

### Other tools

Both [Unity](https://unity.com/) and [Unreal](https://www.unrealengine.com/) can export your game to [WebGL](/en-US/docs/Web/API/WebGL_API) with [asm.js](/en-US/docs/Games/Tools/asm.js), so you're free to use their tools and techniques to build games that will be exported to the web.
Both [Unity](https://unity.com/) and [Unreal](https://www.unrealengine.com/en-US) can export your game to [WebGL](/en-US/docs/Web/API/WebGL_API) with [asm.js](/en-US/docs/Games/Tools/asm.js), so you're free to use their tools and techniques to build games that will be exported to the web.

![Illustration of three 3D geometry shapes: a grey torus, a blue cube, and a yellow cylinder.](shapes.png)

Expand Down
2 changes: 1 addition & 1 deletion files/en-us/games/techniques/async_scripts/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ document.body.appendChild(script);

## When is async not async?

Two common situations in which a script is \*not\* async (as [defined by the HTML spec](https://html.spec.whatwg.org/multipage/scripting.html)) are:
Two common situations in which a script is _not_ async (as [defined by the HTML spec](https://html.spec.whatwg.org/multipage/scripting.html)) are:

```html
<script async>
Expand Down
Loading

0 comments on commit a0c548e

Please sign in to comment.