Call to upgrade the samples to 3.8.1
Throughout the years, MonoGame has accumulated a bunch of samples. Unfortunately they are all scattered across multiple repositories and are not all ready-to-use for MonoGame 3.8.1 which makes consuming the documentation complicated.
A list of those samples is available here.
We would to unify the samples under the same repository and have the sample documentation page be more straightforward.
There are 3 sub-tasks related to this issue.
1. Upgrading the official samples to MonoGame 3.8.1
This basically is upgrading the current samples repository to use MonoGame 3.8.1. This should be straightforward.
2. Upgrading the former XNA samples and merging them into the main samples repository
@SimonDarksideJ has a giant repository archive of the old XNA 4.0 samples (including the ones from old websites now defunct). Some of them are now irrelevant, but it would be interesting to port the most relevant ones to MonoGame 3.8.1 and merge them into the main samples (Platformer and NeonShooter are already ported but not up-to-date with MG 3.8.1).
Be mindful of respecting the licenses of each of these samples.
We are allowed to use the Microsoft samples as long as we mention © 2012 Microsoft Corporation. All rights reserved..
3. Upgrading and merging more samples
@CartBlanche has even more samples archived which we could pick, upgrade, and merge. They seem to be for macOS and some of them are networking samples (which we dropped), so there's some clean up to do. Most have precompiled xnb, so they may be unexploitable. Some seem to come from a book, so we have to be mindful of licenses there too.
As far as I can tell, subtask #1 is done, is it not? It looks like @SimonDarksideJ took care of it, looking over here at the .csproj file, which shows a dependency on MG 3.8.1: https://github.com/MonoGame/MonoGame.Samples/blob/3.8.1/NeonShooter/NeonShooter.Core/NeonShooter.Core.csproj
Would the goal for the second subtask be to move/copy those projects over to the MonoGame.Samples repo? Or just update them on @SimonDarksideJ's repo?
The NeonShooter and Platformer samples ~are still on 3.8.0~ as far as I'm aware, I've been stuck with work stuff so I've not had time to go back and update them again, will try and make it a priority. Although getting a 3D sample should also be a priority.
*edit, I take it back, I did manage to get all three examples on the Samples repo up to 3.8.1, says so at the top of the page :D
As for the GameStudioArchive, "some" of the examples have been updated to MG, although not 3.8/3.81, the updated ones all have their own repos. It is a massive effort to update and manage them, so some guidance for which ones would be critical would help. I'll see about starting a discussion on that repo.
Ultimately long term, we need to crentralise on where content is held and being clear between:
- Examples (feature examples, such as the items in the GameStudioArchive)
- Samples (full projects, such as Platformer and NeonShooter)
P.S. after getting very proficient with automation now, I may also go back and add automated building for each sample for good measure.
Would the goal for the second subtask be to move/copy those projects over to the MonoGame.Samples repo? Or just update them on @SimonDarksideJ's repo?
That is an interesting proposition, I would rather we create a MonoGame.Examples repo to centralise them. Although the Archive has been doing well, it currently sits under my account so doesn't make it an "official" one. Above all we need to avoid getting back into the position MonoGame had previously with a bucket of unverified and unmanaged "stuff" and ensure what is built is maintainable.
Happy to help of course.
Check out the new discussion board (thanks @CartBlanche ) in the MonoGame.Samples repo with a thread already setup for new full sample requests. https://github.com/MonoGame/MonoGame.Samples/discussions/65