TL;DR -> Getting started with MonoGame is easy, mastering it takes time. So, throw all that out the window and get hacking instead!
The 5th annual MonoGameJam is kicking off soon on the 30th November 2023, which is by far one of the best ways to throw yourself into MonoGame and learn something new:
- Your next engine framework of choice.
- Try something new and exciting (granted usually hair-raising).
- Test out some new technique or skill.
- Have fun and throw things at the screen or speakers until something sticks.
Not quite the vaulted heights of the days of DreamBuildPlay in the past, which launched the careers of so many indie devs such as Ska Studios with Dishwasher Samurai, Smudged Cat Games with The Adventures of Shuggy and even Humble Hearts with Dust, An Elysian Tale.
Bold games for a bold time, and who knows who/what could be next!
What is MonoGame
If you have been hiding under a very big rock, you might not have heard of MonoGame (unlikely, but possible). MonoGame is a game building framework that focuses on handling all the complex requirements for shipping games on multiple platforms, such as Windows, Android, Xbox, PlayStation and so on, letting you get on with just writing code/art/shaders/etc and so on (just, hah, :P)
In short, MonoGame is a C# based Game Framework (not an engine like Unity), where you write code once, then MonoGame compiles your code for multiple platforms enabling to you spread your wings faster.
Understanding MonoGame game building
Getting started with MonoGame is very easy, no matter which platform you are building from, be it Windows, Mac or Linux and the best place to get started, unsurprisingly, is the MonoGame Getting started guide:
The guides walk you through setting up your machine environment, installing the tools and the MonoGame Framework (most important) and then leading you down the basic path of writing your first game, including content.
For more details, check the MonoGameJam5 site for links, or browse the catalogue of community samples and courses available on the MonoGame website.
A great sample to start with
My personal favorite for any GameJam involving MonoGame is the GameState Management Sample, originally from Microsoft and updated for MonoGame.
The sample provides a simple game screen management system, ready to be used as a starting point for games on Windows, iOS, Android and more, complete with reusable code to manage all the screens (including transitions) you might need for a project. Even including pause and options screens. It really packs a punch.
The sample is comprised of:
||The shared content project for all platforms, not specifically required but a good reference.
||The GameState management library, reusable in any project.
||Sample Platform initiator code, if you are just hacking a single platform you can ignore these.
||The all-important example usage of the GameState Management library, including multiple screens, gameplay and more.
Here is what it looks like:
Enough to get you started on your Hack without worrying about all that on screen “menu” stuff.
Services, addons and more, oh my
If you are thinking bigger than a simple paint program or block pushing game, you might want to add things like Physics, Saving and Loading, AI, Effects and more. Thankfully the MonoGame community has your back with a wondrous collection of resources, libraries and tools available:
I might suggest having a glance through the list below BEFORE the hack to pick your favorites, there are a LOT!
- The Awesome MonoGame library of “stuff - Chock full of links to stuff that will keep you going.
- Nuget (pronounced NewGet) - The place to look for dependencies to add to your project (it is also where MonoGame is hosted). Just add a reference to your project and get the latest version quick and easy.
- The MonoGame Community tutorials list as previously mentioned, a one stop shot of promoted materials from MonoGame by the community. (insert your name here if you also have stuff to shout about)
And much much more!
Like most GameJam’s, the theme is yet to be announced but that’s not to stop you getting a blank slate ready and getting some quick reading done. In this ever-expanding world of AI nothing stopping you from asking your robot overlords for help (yes, they even help with MonoGame code) in sculpting your dream, above all, have fun, learn well and put your best thumb forward!