Welcome to this website! This started out as a temporary location for my tutorials and projects, which has become quite popular, and as a result, fairly permanent. As long as Wikidot keeps cooperating with me, I'm planning on staying here.

This site is designed as a place to help you get going with game development (or just software development in general) and provides you with tons of free amazing tutorials, software, and resources for you to use.

Take a look at my XNA Tutorials as well as my MonoGame Tutorials, and my Realm Factory program, which is a basic (free) level editor for XNA. Or see what other people are saying in the Forum.

Recent Updates

4 December 2023

The C# tutorials now mention C# 12 and .NET 8, instead of .NET 7. This update arrived a couple of weeks ago. It shouldn't affect anything in the tutorials, but the newer version is better, and you should use it, if you can.

22 October 2023

I had a person ask about collision detection for MonoGame, and decided to take a bit of time this evening to port the XNA physics tutorials over to MonoGame. They took a bit of time, but they're there now. A nice addition to the set of ported tutorials!

2 October 2023

I just updated all of the models on the Model Library page. I had somebody say they were having problems loading them, and they're using an old format. So, I updated them to a newer version of the file format. They're working for me on my computer, but if you have any problems, please let me know so I can fix them.

I also included the .blend files so you can modify them.

8 April 2023

I've continued my journey of porting a bunch of the old XNA samples from the sample library. At this point, I've ported 31 of them, including everything (with two caveats) in the "Physics and AI" category. (The two caveats are there is one that is purely a Windows Phone thing, which I can't do, and the other is that there's another one that uses the phone's accelerometer, which I couldn't do anything with. But that should be an option if and when I get around to making these projects work on other non-desktop platforms.)

I feel like I've learned a fair bit, myself, in looking over all of these. I remember seeing a bunch of them back in the day, but I've also got 15 years of additional development behind me, and I see these things with new eyes.

At any rate, a bunch of these are good examples for how to do things that get asked in Discord quite a bit, so it will be nice to have some sample code that actually works in MonoGame to point people to.

2 April 2023

I've made my first MonoGame-only tutorial! (That may not be quite true, but I can't think of anything specific that I've done before. I've ported tons of tutorials, and a few of those are philosophically the same concept as XNA, but were a total rewrite for MonoGame. Nothing stands out to me as a specific tutorial for MonoGame that didn't have an XNA counterpart. But I've been working on this for 15 years, and I don't remember everything either.)

It is about how to load game data using the XML importer through the content pipeline

31 March 2023

I've recently gotten hooked on updating, running, and exploring projects that were old XNA samples from the sample library. I've ported about 10 of them now, and there's some interesting stuff in there.

You can check out my progress here: https://github.com/rbwhitaker/XNAGameStudio.

If you want to help me port any of them, I'd be happy for the help.
There's a checklist there to guide you in the steps I've been doing, though it is likely a simplified version that may not work for some of the bigger ones.

All of that code is licensed under the MSPL, so it is there, free for the taking, if you want to take the samples and do whatever you want with it. (That isn't true of the general content here on this site. You're free to use the knowledge you gain anywhere, and the code samples here are all free for you to use in any way you want, but the tutorial content itself is copyrighted.)

I'm kind of hoping that the MonoGame team will pick up these ports and make them into their own set of samples, still licensed under the MSPL. But probably not until I've got a few more ported. (They were asking for help with these tutorials, which is how I got onto the idea in the first place.)

11 January 2023

I just fixed a bunch of small mistakes that readers have pointed out on GitHub. https://github.com/rbwhitaker/rbwhitaker.wikidot.com/issues/6.

Thank you, @protofarer, for reporting them!

29 December 2022

I just had a reader send me an email saying that the images in the Hello World C# tutorial were missing. Fortunately, I was able to find the pictures on my computer. I had somehow failed to upload them before. Should be working now, but if anybody spots other missing images, let me know.

8 September 2022

I've begun porting the XNA audio tutorials to MonoGame. I don't expect to get them all done overnight. It will probably be a several week project. MonoGame does not support XACT, and many of the XNA tutorials are XACT-based. I'm hoping to cover the basic stuff with a direct port, and then adapt the XACT-based tutorials to discuss how to achieve similar effects without XACT, to the extent possible. But I may have to just leave out some of the tutorials as well. We'll see how it goes.

8 August 2022

I thought I'd slow down, but I got a lot of time this evening to finish the update of the C# Crash Course!

With recent updates to both the C# Crash Course and the MonoGame tutorials, all "modern" tutorials here have seen updates in the last couple of weeks.

7 August 2022

I think I've got only 8 more tutorials left in my update pass for the C# Crash Course. I've made it to Events. The pace will slow down, now that we're back to a work week though.

6 August 2022

Still making progress on the update pass to the C# Crash Course. I think I'm through 18 of 33 now, which is past the midway point.

I gotta say I'm bad at "small" changes. I get into these tutorials and find lots of little ways to make it better, and there have been a bunch with some very substantial revisions. But it is all for the better! When I finish this, I'll be able to say that all of the still-useful content on this site has been revisited and updated in the last few weeks. (The XNA tutorials probably won't get any updates. Rather than spending time updating them, I'd rather spend my time porting them to MonoGame.)

5 August 2022

I've spent a bit of time today on updating the C# Crash Course. I'm through the tutorials that saw the most changes (mostly just referring to the most recent version of Visual Studio). I'm through about 10 of 33 tutorials now, and am planning on hitting more this weekend.

4 August 2022

Phew! I just updated the MonoGame tutorials to 3.8.1! I'm excited about this new update. It is way bigger than the version number indicates, with the biggest changes being that it now works in Visual Studio 2022 and with C# 10 features. The templates also got updated to leverage most of the new features as well. And in this update, things are installed a bit differently than before.

Most tutorials did not need any specific updates for 3.8.1. A few needed some substantial changes. But for even the ones that didn't technically need any changes, I took the opportunity to look over them and make some small changes to fix minor grammar and spelling mistakes.

Those revisions are limited to just the MonoGame tutorials for now, though the C# Crash Course deserves a similar pass as well, and that might happen in the near future.

31 July 2022

MonoGame 3.8.1 came out a few days ago, and I'll be updating the website to use it. A few relatively minor things changed, but the biggest difference is that the installers work a bit different now. In exchange for the trouble, you can now use .NET 6 features and Visual Studio 2022! That's a huge deal!

I'll post again when I've got the MonoGame tutorials updated.

29 August 2021

I think I've come to the conclusion that when people are posting in the forum or commenting on pages, I'm not seeing those updates via email. I'm trying to figure out what's going on there, and, hopefully, I can get it fixed soon. (Maybe they're going to spam or something.)

In other news, I've been going through several of the tutorials in the C# category and making some minor revisions and updates. Nothing grand or dramatic, but making some typo corrections, grammar fixes, and making little bits of code use the code style instead of the italic style.

There will probably be more of that in the coming days as well.

21 February 2021

I just fixed an issue where the Feedback button was broken. This used to point to User Voice, but that has been a broken link for a few months. I just made a GitHub repository to collect issues and discussions that I think will serve this purpose far better, and that Feedback link now takes you there instead.

It is currently pretty empty since I just made it, but don't let that stop you!

I should also point out the The C# Player's Guide has a new home: https://csharpplayersguide.com/updates

31 December 2020

I just posted my State of the Site for 2020, reviewing goals I set a year ago today and established new goals for myself for 2021 (or at least the next three months). Here it is if you want to give it a read: http://rbwhitaker.wikidot.com/state-of-the-site-2020

9 December 2020

Can't believe it has been 11 months since I posted an update. I've been focused on updating my C# book for its 4th edition. That has taken far longer than I ever anticipated, and everything else has been almost completely paused in the meantime. I'm almost done with that now. You can see more information about that on the book's website (http://starboundsoftware.com/books/c-sharp/updates).

11 January 2020

BasicEffect fog tutorial for MonoGame has now been created, ported from the XNA version. See the MonoGame fog tutorial here.

This leaves one big tutorial in the 2D set and one big tutorial in the 3D set un-ported, but everything else in the first five MonoGame tutorial sets has now been ported!

8 January 2020

BasicEffect lighting tutorial for MonoGame has now been created, ported from the XNA version. See the MonoGame lighting tutorial here.

4 January 2020

All of the XNA input tutorials have now been ported to MonoGame. Check out the full tutorial set! MonoGame Input Tutorials

3 January 2020

I just completed porting the Xbox controller input tutorial over to MonoGame. One more to go in that tutorial set! Check it out.

31 December 2019

Just posted the State of the Site for the year. This is only the second time I've done a State of the Site, though I wish it were something I did every year.

Here's the link: State of the Site 2019

30 December 2019

Now up to three MonoGame input tutorials! (That picking one was a beast!) http://rbwhitaker.wikidot.com/monogame-input-tutorials

29 December 2019

I just took a few minutes to port the first MonoGame input tutorial on basic keyboard input. You can see this tutorial set here: http://rbwhitaker.wikidot.com/monogame-input-tutorials.

28 December 2019

We completed Collab #9! See the forum for the results! http://rbwhitaker.wikidot.com/forum/t-12883900/collab-results

Thank you to @PiscesMike, @MooCow, and @Edo for joining the fun! I know it's been a while since we did a formal collab like this, but hopefully, it won't be as long before the next one.

13 November 2019

Announcing Collab #9! Most of the details are still up in the air, but the plan is to do another collab on 28 December 2019. See the forum for details: http://rbwhitaker.wikidot.com/forum/c-6834593/collab-9-december-2019

Add yourself to the list if you're interested in participating!

3 November 2019

I pulled the trigger on a thing I've been thinking about for many years now. I just open-sourced Realm Factory, which can be found at GitHub. Realistically, it's probably not a super useful tool at the moment, because it is all XNA and Windows Forms. But at least this way, somebody who might be interested in taking a crack at trying to improve it can do so. And if that happens, I'm happy to help support and facilitate that.

26 October 2019

This is largely just a heartbeat update. Nothing grand and obvious to point out. I'm currently working on the 4th Edition of my book, and work has been busy lately.

A couple of us did a collab a month or two ago, but I'm itching for another one (or another competition) sometime soon, but probably not for several more weeks until at least after the book goes out.

Older Updates