Migrating from GameMaker Studio to MonoGame
A while ago, I decided that I wanted to create a level editor for Brain Bouncer, so that players could create and share their own levels with each other. After doing some research, it seemed to me that my game engine of choice, GameMaker Studio, was not going to be the right tool for this major addition. I made the decision to migrate the game from GameMaker Studio to MonoGame as my development tool of choice.
Here's the major reasons why I made this decision, and why I'm currently doing the migration.
1. My version of GameMaker Studio 1.4 was out-of-date and no longer being supported. YoYo Games, the developers of GameMaker Studio, had already released GameMaker Studio 2, so understandably, the writing was on the wall for GMS 1.4, as evidenced by this blog post. Now this release was a few years ago, back in 2017, but being on a tight developer budget, I was hesitant to pay for an upgrade when the version I had was still pretty workable at the time. As I am already experienced with programming in languages like Java and C#, I also questioned if it made since to pay for an engine upgrade when there were other tools available, such as MonoGame and Marmalade (at the time), without the cost. There was no good reason for me not to be able to develop in these other tools, given my coding experience and background as a professional software engineer.
2. GM Studio's sandbox environment was not a good fit for my level editor. Unfortunately, when I decided to do the level editor, I couldn't see a good way to get around GM Studio's sandbox, meaning that if I wanted players to be able to choose where to save there own level files outside of a specific, non-intuitive directory on their system, I would need a different approach. Again, even if I decided to redo the game in a programming language like C#, at least the users would get to choose their own save destinations. If I'm not mistaken, GM Studio 2 allows an option around this restriction, but as I said in my first point, as a programmer, I should be able to find more cost-effective approaches. I suppose I could have created a .dll or some other extension to bypass this issue on Windows, but I also would like this game to be cross-platform, so I would have had to buy a more expensive license package to develop for multiple platforms, and a Windows extension wouldn't work for Mac or Linux (once I get to that point, of course). So again, easier just to use a different tool.
3. As a long-time programmer, I find that the way I think and organize my work just is better suited to a language like C# or Java. Yes, I know that GM Studio has a scripting language (Game Maker Language, or GML), but for whatever reason, I just feel like in many cases it's simpler to get things done in a different language. I'm not really sure how to articulate it, but maybe it's just because my first programming language was C++, so my preference just reflects the route I've gone.
So, while I think GM Studio brings a lot of great things to the table, especially for non-programmers and those new to game development, it's just the best decision now to migrate Brain Bouncer to MonoGame. I think for smaller projects I'd still get a lot of use out of GM Studio, but for larger scope and added development, MonoGame seems like the more maintainable, logical choice for me.
Plan Going Forward
I always like to start off with a new tool by doing some tutorials and walking through the documentation, so that I can familiarize myself. That's what I've been doing for this project, while at the same time taking notes and applying the lessons learned to the actual game migration.
I will be posting devlogs about the migration, which I hope will add to the useful resources out there for those who also want to learn MonoGame. I'll share the tutorials that I've used, and others that might be helpful, so if you're interested in developing in MonoGame yourself, I hope this will be helpful to you!
Get Brain Bouncer
Brain Bouncer
A bouncy puzzle game that will have you considering all angles.
Status | In development |
Author | cloudyheavengames |
Genre | Puzzle |
Tags | 2D, Physics |
Languages | English |
More posts
- Saving the Level Data and Reloading from a FileNov 16, 2020
- Using Maps/Dictionaries to Score Game Level ScoresNov 07, 2020
- Converting and Loading Levels from GameMaker Studio with JSONOct 23, 2020
- Adding and Organizing Content in MonoGameApr 11, 2020
- Adding Source Control in Visual StudioApr 03, 2020
- Getting Started with the MonoGame Project: Setting Up a Shared ProjectMar 29, 2020
- New features, and available on Google Play!Nov 23, 2017
Leave a comment
Log in with itch.io to leave a comment.