AristurtleDev / building-2d-games-with-monogame

A tutorial on building 2D games with MonoGame
3 stars 1 forks source link

Chapter 2 Feedback #5

Open AristurtleDev opened 2 weeks ago

AristurtleDev commented 2 weeks ago

Description

Please use this issue to discuss feedback specific to Chapter 2: MonoGame Project Overview

MrValentine7777 commented 2 weeks ago

NOTES FOR ARISTURTLE

[!CAUTION] There are suffixes such as A and B when multiple corrections are made to a paragraph or text, this where tables are involved are not relating to rows, but edit order for you to keep track of where you are in reading these notes. Happy Editing.

> { documentation/chapter-02-monogame-project-overview/02-00-monogame-project-overview.md }

Chapter 2: MonoGame Project Overview

[!CAUTION] Due to the layout of these sections numerical order of edits shall be used.


1

-{ ORIGINAL }-

MonoGame offers several templates to create a new project with based on the platform(s) you are targeting for your game and ancillary project templates for extensions and libraries.

-{ EDITED }-

MonoGame offers several templates to create a new project with, based on the platform(s) you are targeting for your game, and ancillary project templates for extensions and libraries.

[!NOTE]

}-> Commas.


2

-{ ORIGINAL }-

A MonoGame game project template targeting the Android platform using OpenGL

-{ EDITED }-

A MonoGame game project template targeting the Android platform using OpenGL.

[!NOTE]

}-> Period.


3

-{ ORIGINAL }-

A MonoGame project template targeting Windows, macOS, and Linux using OpenGl.

-{ EDITED }-

A MonoGame project template targeting Windows, macOS, and Linux, using OpenGl.

[!NOTE]

}-> Comma.






> { documentation/chapter-02-monogame-project-overview/02-01-the-csproj-project-file.md }

Chapter 2-1: The csproj Project File

[!CAUTION] Due to the layout of these sections numerical order of edits shall be used.


1

-{ ORIGINAL }-

*Every C# project contains a _.csproj_ Project file.**

-{ EDITED }-

*Every C# project contains a _.csproj_ project file.**

[!NOTE]

}-> p.


2

-{ ORIGINAL }-

For instance, in MonoGame projects that target OpenGl this will be MonoGame.Framework.DesktopGL and in projects that target DirectX this will be MonoGame.Framework.WindowsDX.

-{ EDITED }-

For instance, in MonoGame projects that target OpenGL this will be MonoGame.Framework.DesktopGL and in projects that target DirectX this will be MonoGame.Framework.WindowsDX.

[!NOTE]

}-> L.


3

-{ ORIGINAL }-

This removes them as files that are part of the project, so they will not show up in the Solution Explorer only.

-{ EDITED }-

This removes them as files that are part of the project, so they will not show up in the Solution Explorer panel, unless view all is selected.

[!NOTE]

}-> Revised for clarity.


4

-{ ORIGINAL }-

The  MonoGame.Content.Builder.Task package contains tasks that will execute when you perform a build of your game that are responsible for automatically building the assets added to your content project and copying the compiled assets to the project build directory.

-{ EDITED }-

The MonoGame.Content.Builder.Task package contains tasks that will execute when you perform a build of your game, that are responsible for automatically building the assets added to your content project, and copying the compiled assets to the project build directory.

[!NOTE]

}-> Commas.






> { documentation/chapter-02-monogame-project-overview/02-02-the-content-file.md }

Chapter 2-2: The Content Project File

[!CAUTION] Due to the layout of these sections numerical order of edits shall be used.


1

-{ ORIGINAL }-

/platform specifies the target platform that content is being built for so that hte content can be optimized for that platform. Available values are

-{ EDITED }-

/platform specifies the target platform that content is being built for so that the content can be optimized for that platform. Available values are:

[!NOTE]

}-> Corrected the and added colon.


2

-{ ORIGINAL }-

/profile specifies the target graphics profile to build for. Available values are

-{ EDITED }-

/profile specifies the target graphics profile to build for. Available values are:

[!NOTE]

}-> Colon. Perhaps add an explainer for each value as a note.


3

-{ ORIGINAL }-

/compress specifies whether compiled content should be compressed with LZ4 compression. If True, content build times will increases.

-{ EDITED }-

/compress specifies whether compiled content should be compressed with LZ4 compression. If True, content build times will increase.

[!NOTE]

}-> Increase.


4

-{ ORIGINAL }-

The references section defines references to third party assemblies that contain content pipeline extensions for the MonoGame Content Builder to provide content importers and processors that are not part of the standard ones provided. The syntax for including a reference is as follows:

-{ EDITED }-

The references section defines references to third-party assemblies, that contain content pipeline extensions for the MonoGame Content Builder, to provide content importers and processors, that are not part of the standard ones provided. The syntax for including a reference is as follows:

[!NOTE]

}-> Commas.


5

-{ ORIGINAL }-

Instead, you load this file in the MonoGame Content Builder Editor so that it can be edited visually with inside the UI application.

-{ EDITED }-

Instead, you load this file in the MonoGame Content Builder Editor so that it can be edited visually inside the UI application.

[!NOTE]

}-> Removed with.






> { documentation/chapter-02-monogame-project-overview/02-03-the-dotnet-tools-manifest-file.md }

Chapter 2-3: The dotnet Tools Manifest File

[!CAUTION] Due to the layout of these sections numerical order of edits shall be used.


1

-{ ORIGINAL }-

This is not a file you would normally need to edit. However, if you ware updating to a new version of MonoGame in the future, you will need to edit this file for existing projects that are being update to change the version number to match the version of MonoGame you are updating too.

-{ EDITED }-

This is not a file you would normally need to edit. However, if you are updating to a new version of MonoGame in the future, you will need to edit this file for existing projects that are being updated, to change the version number to match the version of MonoGame you are updating to.

[!NOTE]

}-> Typos and revision for clarity.


2

-{ ORIGINAL }-

The table below contains a brief overview of what each of these tools are used for

-{ EDITED }-

The table below contains a brief overview of what each of these tools are used for:

[!NOTE]

}-> Colon.


3

-{ ORIGINAL }-

However, by including all three, it makes it easier if you ever need to switch to a different operating system for your project, or when working on a team where the code is shared using a git repository and team members have different operating system.

-{ EDITED }-

However, by including all three, it makes it easier if you ever need to switch to a different operating system for your project, or when working on a team where the code is shared using a git repository and team members have a different operating system.

[!NOTE]

}-> a.






> { documentation/chapter-02-monogame-project-overview/02-04-the-icon-files.md }

Chapter 2-4: The Icon Files

[!CAUTION] Due to the layout of these sections numerical order of edits shall be used.


1

-{ ORIGINAL }-

These are the icon files used to display the icon for the executable on the PC, the window title bar area, and the icon displayed in the task bar on Windows or docs on macOs.

-{ EDITED }-

These are the icon files used to display the icon for the executable on the PC, the window title bar area, and the icon displayed in the task bar on Windows or docs on macOS.

[!NOTE]

}-> macOS.






> { documentation/chapter-02-monogame-project-overview/02-05-the-program-file.md }

Chapter 2-5: The Program File

[!CAUTION] Due to the layout of these sections numerical order of edits shall be used.


1

-{ ORIGINAL }-

All C# application, regardless of being a MonoGame project or not, require a main entry point that specifies where code execution should start when the application runs.

-{ EDITED }-

All C# applications, regardless of being a MonoGame project or not, require a Main() entry point that specifies where code execution should start, when the application runs.

[!NOTE]

}-> Missing s, added Main(), and a comma.


2

-{ ORIGINAL }-

This one provided by the MonoGame template very simple:

-{ EDITED }-

This one provided by the MonoGame template, is short and very simple:

[!NOTE]

}-> Revised for clarity.


3

-{ ORIGINAL }-

For example, traditionally with the boilerplate code, the Program.cs file would look like the following

-{ EDITED }-

For example, traditionally with the boilerplate code, the Program.cs file would look like the following:

[!NOTE]

}-> Colon.






> { documentation/chapter-02-monogame-project-overview/02-06-the-game1-file.md }

Chapter 2-6: The Game1 File

[!CAUTION] Due to the layout of these sections numerical order of edits shall be used.


1

-{ ORIGINAL }-

These import the most common used namespaces in a MonoGame project, including the base framework, graphics, and input.

-{ EDITED }-

These import the most commonly used namespaces in a MonoGame project, including the base framework, graphics, and input.

[!NOTE]

}-> Changed "common" to "commonly" to correctly modify the verb "used.


2

-{ ORIGINAL }-

Inside the class declaration, the first things we see are teh following two instance members:

-{ EDITED }-

Inside the class declaration, the first things we see are the following two instance members:

[!NOTE]

}-> Corrected the typo "teh" to "the.


3

-{ ORIGINAL }-

This responsible for creating a new instance of the Game1 class when new Game1() is called in the Program.cs file.

-{ EDITED }-

This is responsible for creating a new instance of the Game1 class when new Game1() is called in the Program.cs file.

[!NOTE]

}-> Added "is" to correct the sentence structure.


4

-{ ORIGINAL }-

As mentioned above in, when the constructor is called, the base constructor is executed first which instantiates properties and services that maybe needed later for our game initializations.

-{ EDITED }-

As mentioned above, when the constructor is called, the base constructor is executed first which instantiates properties and services that may be needed later for our game initializations.

[!NOTE]

}-> Removed "in" and corrected "maybe" to "may be" for clarity and correctness.


5

-{ ORIGINAL }-

for now, it's only important to know that his is where you can load your game assets at.

-{ EDITED }-

for now, it's only important to know that this is where you can load your game assets.

[!NOTE]

}-> Corrected "his" to "this" and removed the unnecessary "at" at the end of the sentence.


6

-{ ORIGINAL }-

Not that this is not a static property and is only available at the class instance scope of the Game class.

-{ EDITED }-

Note that this is not a static property and is only available at the class instance scope of the Game class.

[!NOTE]

}-> Corrected "Not" to "Note" for clarity.


7

-{ ORIGINAL }-

In additional to the methods mentioned above, the Game class offer other virtual methods that can be overridden, though they are used less often than the ones provided by default.

-{ EDITED }-

In addition to the methods mentioned above, the Game class offers other virtual methods that can be overridden, though they are used less often than the ones provided by default.

[!NOTE]

}-> Corrected "In additional" to "In addition" and "offer" to "offers" for grammatical accuracy.


8

-{ ORIGINAL }-

The base Game constructor is executed where the GameServicesContainer, GameComponentCollection, adn the ContentManager are initialized, followed by any platform specific initializations

-{ EDITED }-

The base Game constructor is executed where the GameServicesContainer, GameComponentCollection, and the ContentManager are initialized, followed by any platform-specific initializations

[!NOTE]

}-> Corrected the typo "adn" to "and" and added a hyphen in "platform-specific" for correctness.


10

-{ ORIGINAL }-

Nex the logic of the Game1 constructor is executed

-{ EDITED }-

Next, the logic of the Game1 constructor is executed

[!NOTE]

}-> Corrected the typo "Nex" to "Next" and added a comma for clarity.


10

-{ ORIGINAL }-

single update call is made here for XNA compatibility reasons.

-{ EDITED }-

A single update call is made here for XNA compatibility reasons.

[!NOTE]

}-> Added "A" at the beginning of the sentence for grammatical accuracy.


11

-{ ORIGINAL }-

One the update(s) are completed, the rendering steps begin

-{ EDITED }-

Once the update(s) are completed, the rendering steps begin

[!NOTE]

}-> Corrected "One" to "Once" for clarity.






> { documentation/chapter-02-monogame-project-overview/02-07-conclusion.md }

# Chapter 2-7: Conclusion

[!CAUTION] Due to the layout of these sections numerical order of edits shall be used.


1

-{ ORIGINAL }-

What is the purposed of the tags found in the .csproj project file and which two packages are typically included for a MonoGame Cross-Platform Desktop Application project?

-{ EDITED }-

What is the purpose of the tags found in the .csproj project file and which two packages are typically included for a MonoGame Cross-Platform Desktop Application project?

[!NOTE]

}-> Corrected “purposed” to “purpose” for grammatical accuracy. I also had to add the closing tag to keep the markdown working correctly.


2

-{ ORIGINAL }-

What are the three sections of the Content.mgcb file

-{ EDITED }-

What are the three sections of the Content.mgcb file?

[!NOTE]

}-> Added a question mark at the end of the sentence for proper punctuation.


3

-{ ORIGINAL }-

for now, it’s only important to know that his is where you can load your game assets at.

-{ EDITED }-

for now, it’s only important to know that this is where you can load your game assets.

[!NOTE]

}-> Corrected “his” to “this” and removed the unnecessary “at” at the end of the sentence.


4

-{ ORIGINAL }-

Not that this is not a static property and is only available at the class instance scope of the Game class.

-{ EDITED }-

Note that this is not a static property and is only available at the class instance scope of the Game class.

[!NOTE]

}-> Corrected “Not” to “Note” for clarity.


5

-{ ORIGINAL }-

In additional to the methods mentioned above, the Game class offer other virtual methods that can be overridden, though they are used less often than the ones provided by default.

-{ EDITED }-

In addition to the methods mentioned above, the Game class offers other virtual methods that can be overridden, though they are used less often than the ones provided by default.

[!NOTE]

}-> Corrected “In additional” to “In addition” and “offer” to “offers” for grammatical accuracy..


6

-{ ORIGINAL }-

The base Game constructor is executed where the GameServicesContainer, GameComponentCollection, adn the ContentManager are initialized, followed by any platform specific initializations

-{ EDITED }-

The base Game constructor is executed where the GameServicesContainer, GameComponentCollection, and the ContentManager are initialized, followed by any platform-specific initializations

[!NOTE]

}-> Corrected the typo “adn” to “and” and added a hyphen in “platform-specific” for correctness..


7

-{ ORIGINAL }-

Nex the logic of the Game1 constructor is executed

-{ EDITED }-

Next, the logic of the Game1 constructor is executed

[!NOTE]

}-> Corrected the typo “Nex” to “Next” and added a comma for clarity..


8

-{ ORIGINAL }-

single update call is made here for XNA compatibility reasons.

-{ EDITED }-

A single update call is made here for XNA compatibility reasons.

[!NOTE]

}-> Added “A” at the beginning of the sentence for grammatical accuracy..


9

-{ ORIGINAL }-

One the update(s) are completed, the rendering steps begin

-{ EDITED }-

Once the update(s) are completed, the rendering steps begin

[!NOTE]

}-> Corrected “One” to “Once” for clarity..



END




Template:


Format template for future notes below. This is solely here for future reference.



---

# **SECTION**
## **-{ ORIGINAL }-**
### **ORIGINAL_TEXT**

## **-{ EDITED }-**
### **EDITED_TEXT**

> [!NOTE] 
> ### **}-> NOTE.**

---

[!NOTE] The template consists of the three dashes for the line breaks to isolate sections, a preview is below.


SECTION

-{ ORIGINAL }-

ORIGINAL TEXT

-{ EDITED }-

EDITED TEXT

[!NOTE]

}-> NOTE.


End Notes: Check for end of line periods.

I did not check links.