Back in the day, Riemer Grootjans had one of the best XNA tutorial sites available (along with some C++ and other series), featuring a great balance of beginner, intermediate and advanced content.
Sadly some years ago, Riemers site failed (likely a DB issue) and all the content was lost, it was still available via the wayback machine, but this has its limitations, so not everything is there.
Now thanks to the efforts of the team managing the XNAGameStudio Archive, All of Riemers XNA tutorials have been archived and also migrated to MonoGame
With all of Riemers XNA content successfully migrated, the longer task of upgrading each tutorial to MonoGame is underway. The tutorials are as follows:
If you are interested in beginning game programming in MonoGame, you can start with the 2D series. In this series, you will learn enough techniques to create almost any 2D game you can think of! This is a screenshot of the game we will create in this series:
If you are ready for some 3D programming, you should give the first Series of 3D programming a try. In this first Series of 3D programming, you will create a true three-dimensional landscape. Linking to your graphics card, drawing a few triangles, and lighting basics will be introduced here.
In this second series of 3D MonoGame Tutorials, you will learn how to create a complete flight simulator! This will include flying your aircraft in a true 3D city and firing bullets at objects! Including some basic collision detection, this series already contains enough content to write your own 3D game!!
In the 3rd Series of 3D MonoGame Tutorials, we will start exploring Shaders. Shaders are used to improve the visual quality of the displayed image.
I recommend you start with the first 2 3D Tutorials before moving on to this more advanced Series.
As a final goal to demonstrate the strength of shaders, I have chosen my example of real lighting. Our scene is lit by light and all objects cast real shadows. Series 3 is used to show you how you can master some of the power inside your NVidia or AMD graphics board.
Taking these tutorials to the next level in this fourth Series of 3D MonoGame Tutorials, we will see some more advanced techniques that will allow us to create a real 3D world that you can use as a start for your own game. Multitexturing and reflective water are just a few of the techniques covered.
Since this Series relies heavily on HLSL and 3D programming, I recommend completing the first three tutorials in 3D Series prior to attempting this tutorial (unless you are already well versed).
There are also a set of additional educational reference resources for understanding Matrices and generating normals which can be found here:
The XNA Game Studio archive keeps growing and growing and we still have lots more to do.
Consider supporting the XNAGameStudio Archive if you can and enable is to keep doing the work we do.