Skip to content

Commit 18a0d75

Browse files
fix(docs): correct typos and improve consistency across articles (#145)
* Clarify distance labels in circle collision explanation - Added missing word "circles" in description of 'a' - Reworded all three distance descriptions for clarity and consistency * fix(title scene draw): remove unused color assignment to dropShadowColor * fix(title scene draw): add missing comment above dropShadowColor assignment * refactor: fix typo in textureatlas.cs filename * fix(docs): correct typos and improve wording across documentation * (Fix)Removed < > from xref links and set unordered list to ordered list --------- Co-authored-by: Simon (Darkside) Jackson <darkside@zenithmoon.com>
1 parent 65e2f64 commit 18a0d75

File tree

97 files changed

+464
-466
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

97 files changed

+464
-466
lines changed

articles/console_access.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ description: How do I get access to console versions of MonoGame?
55

66
MonoGame is free to use on all platforms from the [public repository](https://github.dev/MonoGame/monogame), but the code for supporting console platforms is only accessible to authorized console developers.
77

8-
These platforms are provided as private code repositories that add integrations with the console vendor's APIs and platform specific documentation.
8+
These platforms are provided as private code repositories that add integrations with the console vendor's APIs and platform-specific documentation.
99

1010
## Application process
1111

@@ -23,7 +23,7 @@ The instructions below will help you gain access to each platform.
2323

2424
![Nintendo Switch](images/nintendo_switch.png)
2525

26-
Your first step is to register as [Nintendo Developer](https://developer.nintendo.com/register) for Nintendo Switch.
26+
Your first step is to register as a [Nintendo Developer](https://developer.nintendo.com/register) for Nintendo Switch.
2727

2828
Once you are in the program, you can go to the middleware page and fill out the [MonoGame - Nintendo Developer Authorization](https://developer.nintendo.com/group/development/getting-started/g1kr9vj6/middleware/monogame) form.
2929

articles/contributing.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ Thank you for choosing to contribute to the MonoGame project! This page provides
1919

2020
The MonoGame documentation contains two types of documents: articles and API references.
2121

22-
Articles include manuals, guides and tutorials on how to use the MonoGame Framework to create games.
22+
Articles include manuals, guides, and tutorials on how to use the MonoGame Framework to create games.
2323

2424
API references provide detailed explanation of each class and method found in the MonoGame Framework. The documentation is written in the [C# XML format](https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/xmldoc/xml-documentation-comments) and is inline to the MonoGame source code.
2525

@@ -68,7 +68,7 @@ Being inline with the code allows you to easily look for critical information wi
6868

6969
### Focus on What Adds Value to the Consumer
7070

71-
Limit documentation to public methods and functions unless there is a specific reason to include internal methods, while documenting internals helps with readability of the code, it provides limited use to consumers of the MonoGame Framework.
71+
Limit documentation to public methods and functions unless there is a specific reason to include internal methods, while documenting internals helps with the readability of the code, it provides limited use to consumers of the MonoGame Framework.
7272

7373
### Documentation Is Referenced Not Read
7474

@@ -94,7 +94,7 @@ With a few points to call out:
9494

9595
#### `<see>` and `<cref/>` should be used whenever an API reference is used in the documentation
9696

97-
To ensure that API documentation is linked to whichever reference is used, `<see>` and `<cref/>` references should be used, this helps users navigate the methods, especially when looking up initializers or use of a property or method.
97+
To ensure that API documentation is linked to whichever reference is used, `<see>` and `<cref/>` references should be used. This helps users navigate the methods, especially when looking up initializers or use of a property or method.
9898

9999
#### Avoid self referencing `<cref/>` unless it provides value
100100

@@ -121,7 +121,7 @@ and the y component uses 6 bits.
121121

122122
> [!NOTE]
123123
> If the `cref` description would cause the line to exceed the 120 recommendation, this is generally ok, so long as the rendered line does not exceed the limit.
124-
> THe limit however, is more of a guideline than a hard rule, so common sense should be applied to keep the limit near 120 characters.
124+
> The limit however, is more of a guideline than a hard rule, so common sense should be applied to keep the limit near 120 characters.
125125
126126
#### Use the packed multi-line style with surrounding tags
127127

articles/help_and_support.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@ title: Help and Support
33
description: Where to get help and support when using MonoGame.
44
---
55

6-
There is a wealth of [community created content, blogs and tutorials](tutorials/index.md) available.
6+
There is a wealth of [community-created content, blogs and tutorials](tutorials/index.md) available.
77

8-
You can also chat to other MonoGame users via [Discord](https://discord.com/invite/monogame).
8+
You can also chat with other MonoGame users via [Discord](https://discord.com/invite/monogame).
99

1010
If you want to find an answer to a more specific problem, you can ask it on our [GitHub Discussions](https://github.com/MonoGame/MonoGame/discussions) page.
1111

1212
## Bugs and feature requests
1313

14-
If you find a bug or have a feature request, [please open a new issue](https://github.com/mono/monogame/issues). Before opening any issue, please search for existing issues.
14+
If you find a bug or have a feature request, [please open a new issue](https://github.com/mono/monogame/issues). Before opening an issue, please check for existing ones.
1515

1616
Please note that the issue tracker is not for requesting help.

articles/index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ This documentation [helps you to get started](getting_started/index.md) by provi
2020

2121
Please use the links at the top and left to navigate the documentation sections.
2222

23-
> This documentation assume that the reader has a basic knowledge of the C# programming language.
23+
> This documentation assumes that the reader has a basic knowledge of the C# programming language.
2424
2525
## What is MonoGame exactly?
2626

@@ -36,4 +36,4 @@ If you love coding and understanding how things work under the hood, MonoGame mi
3636

3737
MonoGame is an open-source project maintained by its community. Great open source projects require high-quality documentation. This is a call for volunteers to continue to help us make the MonoGame documentation truly great. If you can create tutorials, feature guides, code snippets, reference docs, video walkthroughs, or make any improvement to the current documentation, we could use your help!
3838

39-
Check out the [README on GitHub](https://github.com/MonoGame/MonoGame/blob/develop/README.md) or [talk with us on discord](https://discord.gg/monogame) to learn how to help!
39+
Check out the [README on GitHub](https://github.com/MonoGame/MonoGame/blob/develop/README.md) or [talk with us on Discord](https://discord.gg/monogame) to learn how to help!

articles/tutorials/building_2d_games/01_what_is_monogame/index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ As XNA became more popular, the need for cross-platform development started to g
1515

1616
The official first release of MonoGame occurred in 2011, as an open-source version of XNA. While it still had the same familiar API as XNA, the cross-platform support was expanded to include Windows, macOS, Linux, iOS, Android, Xbox, and PlayStation. Despite Microsoft discontinuing XNA in 2013, MonoGame continued to grow and develop. Maintenance of the project was given to [Steve Williams](https://github.com/KonajuGames) and [Tom Spilman](https://github.com/tomspilman) in 2014. In order to direct its future development and undertaking, the [MonoGame Foundation](https://monogame.net/about/) was formed on September 29th, 2023.
1717

18-
Today, MonoGame is a mature cross-platform framework, that is built with the spirit of preserving XNA while adopting modern game development practices. Some popular titles created using MonoGame includes [Celeste](https://store.steampowered.com/app/504230/Celeste/), [Stardew Valley](https://store.steampowered.com/app/413150/Stardew\_Valley/), and [Streets of Rage 4](https://store.steampowered.com/app/985890/Streets\_of\_Rage\_4/).
18+
Today, MonoGame is a mature cross-platform framework, that is built with the spirit of preserving XNA while adopting modern game development practices. Some popular titles created using MonoGame include [Celeste](https://store.steampowered.com/app/504230/Celeste/), [Stardew Valley](https://store.steampowered.com/app/413150/Stardew\_Valley/), and [Streets of Rage 4](https://store.steampowered.com/app/985890/Streets\_of\_Rage\_4/).
1919

2020
| ![Figure 1-1: Celeste](./images/celeste.png) | ![Figure 1-2: Stardew Valley](./images/stardew-valley.png) |
2121
| :-------------------------------------------------: | :--------------------------------------------------------: |
@@ -36,7 +36,7 @@ MonoGame, following in the footsteps of XNA, is a "bring your own tools" framewo
3636
At its core, MonoGame offers a set of libraries and APIs to handle common game development tasks. These include:
3737

3838
1. **Graphics Rendering**: 2D and 3D rendering are supported through the graphics API offered by MonoGame. This API provides sprite batching for 2D graphics, a flexible 3D pipeline, and shaders for custom visuals and effects.
39-
2. **Input Handling**: Input from keyboard, mouse, gamepads, and touchscreens are supported, allowing for development of games for any platform and different styles of play.
39+
2. **Input Handling**: Input from keyboard, mouse, gamepads, and touchscreens is supported, allowing for development of games for any platform and different styles of play.
4040
3. **Audio**: A comprehensive audio system that can be used to create sound effects as well as play music with included support for many audio formats.
4141
4. **Content Pipeline**: An out-of-the-box workflow for importing and processing game assets such as textures, models, and audio, and compiling them to a format that is optimal for the game's target platform.
4242
5. **Math Library**: A math library specifically optimized for game development, providing essential mathematical functions and operations.

articles/tutorials/building_2d_games/02_getting_started/index.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,12 @@ The first thing we need to do is install the .NET *Software Development Kit* (SD
2727
> [!NOTE]
2828
> The minimum supported version is .NET 8
2929
30-
3. Once the download finishes, run the installer
30+
3. Once the download finishes, run the installer.
3131

3232
### [macOS](#tab/macos)
3333

3434
1. Open a web browser and navigate to [https://dotnet.microsoft.com/en-us/download](https://dotnet.microsoft.com/en-us/download).
35-
2. Choose the version of the .NET SDK to install and click lick the *Download .NET SDK x64 (Intel)* button start the download of the .NET SDK Installer.
35+
2. Choose the version of the .NET SDK to install and click the *Download .NET SDK x64 (Intel)* button start the download of the .NET SDK Installer.
3636

3737
> [!NOTE]
3838
> The minimum supported version is .NET 8
@@ -58,7 +58,7 @@ sudo apt-get update && sudo apt-get install -y dotnet-sdk-8.0
5858

5959
## Install Additional Workloads (Optional)
6060

61-
After installing the .NET SDK, if you intend to target mobile devices such as Android or iOS, you will also need to install the corresponding mobile workloads. To do this, open a *Command Prompt* or *Terminal* window and enter the following commands
61+
After installing the .NET SDK, if you intend to target mobile devices such as Android or iOS, you will also need to install the corresponding mobile workloads. To do this, open a *Command Prompt* or *Terminal* window and enter the following commands.
6262

6363
```sh
6464
dotnet workload install ios
@@ -75,7 +75,7 @@ dotnet new install MonoGame.Templates.CSharp
7575

7676
## Installing Visual Studio Code
7777

78-
*Visual Studio Code* (VSCode) is a free, light weight editor. Depending on the programming language you are using, it is just a matter of installing the appropriate extension to support that particular language. VSCode is also cross-platform, meaning you can use it for development on Windows, macOS, and Linux. To ensure that all readers can follow this tutorial regardless of the operating system used, we will be using VSCode as our IDE.
78+
*Visual Studio Code* (VSCode) is a free, lightweight editor. Depending on the programming language you are using, it is just a matter of installing the appropriate extension to support that particular language. VSCode is also cross-platform, meaning you can use it for development on Windows, macOS, and Linux. To ensure that all readers can follow this tutorial regardless of the operating system used, we will be using VSCode as our IDE.
7979

8080
To install VSCode, follow the instructions for your operating system below:
8181

@@ -193,7 +193,7 @@ With your development environment setup, it is time to create your first MonoGam
193193
> dotnet new install MonoGame.Templates.CSharp
194194
> ```
195195
196-
5. After choosing the template, a dialog window will appear asking you to choose a location to save the project, this is a folder where your projects will will be created by default.
196+
5. After choosing the template, a dialog window will appear asking you to choose a location to save the project, this is a folder where your projects will be created by default.
197197
6. Next, you will be prompted to enter a name for the project. Enter the name `DungeonSlime`, which will create your project in a new folder with the same name.
198198
7. If this is your first time creating your project, you will be asked to choose a solution format, simply select the default `.sln` option and click `Next` to continue. (This does not occur with subsequent projects)
199199
8. Finally, select the *Create Project* prompt.
@@ -255,7 +255,7 @@ Now that your development environment is setup and ready to go, you can dive in
255255
2. What is the primary reason that game applications implement a *game loop* structure instead of using an event-based approach like traditional desktop applications?
256256
257257
:::question-answer
258-
Game application implement a *game loop* structure because games need to continuously update and render, event when there is no user input. In games, objects might be moving, animations playing, and physics calculating regardless of user interaction, requiring constant updating and rendering until the game is told to exit.
258+
Game applications implement a *game loop* structure because games need to continuously update and render, event when there is no user input. In games, objects might be moving, animations playing, and physics calculating regardless of user interaction, requiring constant updating and rendering until the game is told to exit.
259259
:::
260260
261261
3. What is the color of the game window when you run a MonoGame project for the first time?

articles/tutorials/building_2d_games/03_the_game1_file/index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ This class provides the following structure:
3131

3232
## Graphics and Rendering
3333

34-
The graphics pipeline in monogame starts with two components: the [**GraphicsDeviceManager**](xref:Microsoft.Xna.Framework.GraphicsDeviceManager) and [**SpriteBatch**](xref:Microsoft.Xna.Framework.Graphics.SpriteBatch).
34+
The graphics pipeline in MonoGame starts with two components: the [**GraphicsDeviceManager**](xref:Microsoft.Xna.Framework.GraphicsDeviceManager) and [**SpriteBatch**](xref:Microsoft.Xna.Framework.Graphics.SpriteBatch).
3535

3636
[!code-csharp[](./snippets/game1.cs?start=9&end=10)]
3737

@@ -50,7 +50,7 @@ After that, the [**Initialize**](xref:Microsoft.Xna.Framework.Game.Initialize) m
5050
This separation allows you to perform setup tasks in a logical order; core systems in the constructor and game-specific initializations in the [**Initialize**](xref:Microsoft.Xna.Framework.Game.Initialize) method. The call to `base.Initialize()` should never be removed, as this is where the graphics device is initialized for the target platform.
5151

5252
> [!TIP]
53-
> You may be wondering why there is an [**Initialize**](xref:Microsoft.Xna.Framework.Game.Initialize) method instead of performing all initializations in the constructor. The [**Initialize**](xref:Microsoft.Xna.Framework.Game.Initialize) method is a `virtual` method that is overridden, and [it is advised to not call overridable methods from within a constructor](https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/quality-rules/ca2214), as this can lead to unexpected states in object constructor when called. Additionally, when the constructor is called, the base constructor will instantiate properties and services based on the target platform that may be needed first before performing initializations for the game itself.
53+
> You may be wondering why there is an [**Initialize**](xref:Microsoft.Xna.Framework.Game.Initialize) method instead of performing all initializations in the constructor. The [**Initialize**](xref:Microsoft.Xna.Framework.Game.Initialize) method is a `virtual` method that is overridden, and [it is advised to not call overridable methods from within a constructor](https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/quality-rules/ca2214), as this can lead to unexpected states in the object constructor when called. Additionally, when the constructor is called, the base constructor will instantiate properties and services based on the target platform that may be needed first before performing initializations for the game itself.
5454
5555
## Content Loading
5656

articles/tutorials/building_2d_games/04_creating_a_class_library/index.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ To use the template to add the class library, perform the following based on whi
5252
To add the class library using the MonoGame Game Library project template in Visual Studio Code, perform the following:
5353

5454
1. In the [*Solution Explorer*](../02_getting_started/index.md#install-the-c-dev-kit-extension) panel, right-click the *DungeonSlime* solution.
55-
2. Chose *New Project* from the context menu.
55+
2. Choose *New Project* from the context menu.
5656
3. Enter "MonoGame Game Library" and select it as the template to use.
5757
4. Name the project "MonoGameLibrary".
5858
5. When prompted for a location, use the default option, which will put the new project in a folder next to your game project.
@@ -128,7 +128,7 @@ When using the *MonoGame Game Library* project template, the generated project c
128128
>
129129
> If you would like more information on this, Simon Jackson has written the article [Going cross-platform with MonoGame](https://darkgenesis.zenithmoon.com/going-cross-platform-with-monogame.html) which covers this in more detail.
130130
>
131-
> Also the `2D Start Kit` and `2D Blank Start Kit` templates provide you with a richer startup project targetting all platforms, using a common Class Library to reuse code across them all. Although we recommend completing this tutorial first before tackling that beast.
131+
> Also the `2D StartKit` and `2D Blank StartKit` templates provide you with a richer startup project targeting all platforms, using a common Class Library to reuse code across them all. Although we recommend completing this tutorial first before tackling that beast.
132132
133133
## Creating Our First Library Module
134134

@@ -153,7 +153,7 @@ The `Core` class provides the following features:
153153
This approach provides a consistent foundation for all our games, handling common setup tasks and providing convenient access to core functionality.
154154

155155
> [!NOTE]
156-
> As this tutorial progress, we will be coming back to this `Core` class to add more to it.
156+
> As this tutorial progresses, we will be coming back to this `Core` class to add more to it.
157157
158158
## Updating Our Game to Use the Core Class
159159

articles/tutorials/building_2d_games/04_creating_a_class_library/snippets/core.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -55,25 +55,25 @@ public Core(string title, int width, int height, bool fullScreen)
5555
// Create a new graphics device manager.
5656
Graphics = new GraphicsDeviceManager(this);
5757

58-
// Set the graphics defaults
58+
// Set the graphics defaults.
5959
Graphics.PreferredBackBufferWidth = width;
6060
Graphics.PreferredBackBufferHeight = height;
6161
Graphics.IsFullScreen = fullScreen;
6262

63-
// Apply the graphic presentation changes
63+
// Apply the graphic presentation changes.
6464
Graphics.ApplyChanges();
6565

66-
// Set the window title
66+
// Set the window title.
6767
Window.Title = title;
6868

6969
// Set the core's content manager to a reference of the base Game's
7070
// content manager.
7171
Content = base.Content;
7272

73-
// Set the root directory for content
73+
// Set the root directory for content.
7474
Content.RootDirectory = "Content";
7575

76-
// Mouse is visible by default
76+
// Mouse is visible by default.
7777
IsMouseVisible = true;
7878
}
7979

articles/tutorials/building_2d_games/05_content_pipeline/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,7 @@ Running the game now will show the MonoGame logo displayed in the upper-left cor
236236
| :--------------------------------------------------------------------------------: |
237237
| **Figure 5-8: The MonoGame logo drawn to the game window** |
238238

239-
## Adding Build-In Asset Types
239+
## Adding Built-In Asset Types
240240

241241
The MGCB Editor can also create certain built-in asset types. In this section we will explore these types and this functionality. If not already open, [open the MGCB Editor](#the-mgcb-editor) and perform the following:
242242

0 commit comments

Comments
 (0)