MonoGame icon indicating copy to clipboard operation
MonoGame copied to clipboard

Call to upgrade the samples to 3.8.1

Open ThomasFOG opened this issue 3 years ago • 1 comments

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.

ThomasFOG avatar May 21 '22 20:05 ThomasFOG

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

rbwhitaker avatar Mar 30 '23 04:03 rbwhitaker

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?

rbwhitaker avatar Mar 30 '23 04:03 rbwhitaker

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)

SimonDarksideJ avatar Mar 30 '23 09:03 SimonDarksideJ

P.S. after getting very proficient with automation now, I may also go back and add automated building for each sample for good measure.

SimonDarksideJ avatar Mar 30 '23 09:03 SimonDarksideJ

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.

SimonDarksideJ avatar Mar 30 '23 09:03 SimonDarksideJ

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

SimonDarksideJ avatar Mar 30 '23 20:03 SimonDarksideJ