Getting Started with 2D Game Development Using GameMaker

Gamemaker-Getting-Started-Banner

by Nick Landry

Anyone who knows me personally or follows me on Twitter knows that I’m a huge gamer. The problem is that between work, community events, social life, my wife and twin babies, I virtually have no time to play games. I now game vicariously through occasional mobile games, listening to gaming podcasts when I drive, and buying games I’ll probably never have time to play. I have over 20 MMOs installed on my home rig, and I’m addicted to Steam sales (I even have the 250+ badge on Steam).

The cool thing is that Steam started selling software a while back and during one such Steam sale over the holidays, I snagged a copy of GameMaker: Professional for only $25 (that’s 75% off). I decided to take it for a spin (thanks to my colleagues Joe Healy and Daniel Egan for the push). I’m no game development expert. I’m more of a game development enthusiast. I’m also learning Unity on the side, and my game development background is with XNA – a topic I have covered at many conferences and user groups over the last 7 years.

Game development has to be one of the most rewarding forms of software development. You’re basically using your programming skills to make something fun! But game development is also not for the faint of heart as it can truly test your programming skills, knowledge of math, creative juices, imagination and patience. Fortunately, there are cool game engines and IDEs like GameMaker to simplify our lives as we seek to produce fun games in less time.

CurtainQuestion

What is GameMaker?

As its name implies, GameMaker is a game development environment and engine produced by YoYo Games that lets you design and build cross-platform games for desktop computers, the Web, mobile phones and tablets.

How much does GameMaker cost?

GameMaker: Studio starts out free with the Standard edition. You can download it here from YoYo Games. There used to be 4 editions of GameMaker, where the free edition was limited in the number of resources you could use in your game projects (which translates in the complexity of the game you can build). The free version now has unlimited resources, and that is great news. In terms of support platforms for your games, the free Studio edition used to support Windows Desktop, Mac OS X and Windows Apps (i.e. Windows Store apps on 8.x). Now the free version only supports Windows Desktop.

This means you can start building Windows games for free and anyone with a standard Windows 7 or 8 computer can play your game from the desktop. Distribution won’t be easy though. Publishing to Steam is not that easy and self-publishing outside of public stores can be frustrating. You’ll probably want to publish it to the Windows Store. For that you need to upgrade to the Professional edition for $100. There are other features you will get in the Professional edition, such as texture management, multiple configurations, mobile testing and more. It’s a great bargain and if you already work as a professional developer during the day, surely you can afford a $100 tool.

Important Note: YoYo Games is currently running a Summer sale at the time of this writing. You can get GameMaker Studio Professional for a mere $60. That’s the cost of a single console video game. I strongly encourage you to take advantage of this deal. Other deals have been announced on the other modules. Read more about the sale here.

Beyond Windows Desktop and Windows Store, GameMaker also support additional mobile platforms, but you’ll have to first upgrade to the professional edition, and then buy these modules separately:

  • Windows Phone 8
  • iOS
  • Android
  • Web / HTML5
  • Mac OS X

And quite a few other platform exports are supported too. The following table shows the three editions of GameMaker, their respective features and add-ons. More details on the YoYo Game website here.

GameMakerComparison

You might be wondering where to buy GameMaker: from Steam or directly from YoYo Games? I’m told that the Steam version has a tendency to lag behind a bit in terms of updates, so you should probably buy direct from YoYo Games if you’re about to pay full price. You’ll also get the option of getting early access builds this way too. Steam does run sales often, so if you can get a great deal, get it on Steam instead.

GameMaker vs. Unity, Construct2, XNA/MonoGame, etc.

Why should I use GameMaker?

Why not use Unity? I hear it’s great and it gives me more exports for free?

These are valid questions. Game development preferences – just like with games – can be quite subjective. Unity is great and I’m learning that engine too. It’s true that GameMaker is not exactly a professional tool, it’s more of a hobbyist & indie tool. That said, I love how GameMaker is much easier to pick-up and build something fast compared to Unity. Unity is by far more powerful than GameMaker, and has a much larger and richer ecosystem around it, but the learning curve with Unity is steeper. Unity was also originally designed as a 3D game development engine. The 2D support added in Unity 4.3 makes it much easier to build 2D games, but it’s not exactly as easy as GameMaker to get started with it.

My game development background is with XNA. It was an awesome framework that simplified game development by creating a level of abstraction above DirectX in managed code and it made it accessible to C# developers. The XNA Content Processing pipeline also made it easy to import media assets in your projects. Unfortunately XNA is no longer being developed on at Microsoft. While it lives on across multiple platforms thanks to the awesome MonoGame project, once you’ve tasted the ease of use of a game development engine like Unity or GameMaker, it’s hard to go back to coding everything yourself, be it in C++ or C#.

There are countless other popular game engines like Construct 2, GameSalad, Cocos2d and Torque, but I’m not familiar with any of them yet. Some are even simpler than GameMaker as they try to avoid scripting/coding as much as possible, while other engines like Unreal, Havok, Marmalade and Hero Engine are for the “big leagues” professional game developers who only swear by C++.

Choosing a game engine is ultimately a personal choice. You should first look at the cost, the programming skills required, the learning curve and the supported platforms. This post is about GameMaker and once you’ve tried it, you’ll know soon enough if it’s for you, or not.

 

Gamemaker-Showcase

Some Games Built with GameMaker

GameMaker may not have the impressive portfolio of professional AAA or indie games that Unity has, but there are still quite many good games that are powered by GameMaker. It’s a great engine for mobile and indie game development. Some examples include:

There are of course many more games built in GameMaker. Check out the Showcase page here for 30+ more featured GameMaker titles. if you know of other cool games made with GameMaker (even your own), feel free to link them in the comments below.

Learning GameMaker Through Tutorials

This blog post is not about teaching you GameMaker (yet). YoYo Games already has a great set of learning resources for you to get started, and I won’t pretend to supersede that with my own walkthrough. My recommendation is that you go through the tutorials baked directly in the product:

  • Install and launch GameMaker
  • The New Project dialog will be shown. Select the “Tutorials” tab
  • Expand the “Beginner” tutorials branch on the left, select 01_My_First_Game and go through that tutorial, following the step by step instructions for the “bouncing clown” game.

This should give you a good taste of the GameMaker experience. Once you’re done, you can explore the other tutorials.

Screenshot 2014-03-17 14.50.49

There are many more great tutorials available, including:

  • GameMaker Tutorials by YoYo Games
  • GameMaker Tutorials by Shaun Spalding
  • RPG Tutorial Video Series: This series by rm2kdev is fantastic and I’m still going through it myself. I highly recommend it if you’re interested in building a retro RPG in 2D. Note that the series uses the art from the RPG Maker RTP engine, and you are not allowed to use it in games that you publish or sell. This is for learning purposes only.

Speaking of art… where should get your graphics and other media assets for your games?

Obtaining Art Assets for your Games

Since most developers (including myself) are not artists, figuring out which art files to use can be a big challenge when getting started with game development. You can partner-up with an artist to build a joint project together, but it’s usually a good idea to get started on your own with some pre-made assets as you learn the tools of the trade. Once you’ve built one or two test games, you’ll have a better idea on what to look for in an artist, and you’ll be more productive as you collaborate together on a game.

Here are some sources where you can look for pre-made art:

  • YoYo Games Marketplace: This is still new and in the “Early Access” stage. You’ll need the early access version of GameStudio too.
  • OpenGameArt.org: Carefully review the license for any art assets you find there before using them in your games.
  • Unity Asset Store: While this store is optimized for Unity developers, you can still find some good assets there too – some paid, some free.

If you have other sources of open art assets for game developers, please post it in the comments section below and I’ll add it to my post after review.

Remember that you are legally not allowed to simply lift any graphics from the Internet or other games for your own projects. It’s ok to do so if this is just for your own learning experience, but don’t publish these games until you’ve replaced the art with assets you are legally licensed to use.

 

WindowsStoreGames

Packaging Your Game for the Windows Store

Running your game locally or creating an executable capable of running on the Windows desktop is all fine and dandy. That said, I bet you’d like to publish your game in a mobile app store to make it available to millions of users and (hopefully) make some money. You’ll need to buy GameMaker Professional and some additional export modules to package & publish your games to iOS, Android or Windows Phone. Luckily for us, packaging & publishing your game to Windows 8 or Windows RT computers, laptops or tablets via the Windows Store is included in the base Professional edition of GameMaker without the need to buy any extra modules.

If you have an existing GameMaker game you’d like to port to the Windows Store, make sure to read this blog post by my colleague Amanda Lange.

Read this knowledge base article to prepare your GameMaker environment for Windows Store development (referred to as Windows 8 in GameMaker).

Read this other knowledge base article to publish your game to the Windows Store.

For any other questions you might have about publishing GameMaker games to the Windows Store, refer to the GameMaker Windows 8 Knowledge Base here.

GameMaker Reference links

If you have other GameMaker resources to recommend, feel free to include them in the comments below.

You can expect more posts on this blog about game development in the coming weeks and months. Some will be for GameMaker, and others will be for Unity as I explore both tools. have you tried GameMaker before? What did you think of it? Have you published GameMaker titles? Let me know in the comments section below or on Twitter at @ActiveNick.

GameMakerGMLPacktBook

5 thoughts on “Getting Started with 2D Game Development Using GameMaker”

Leave a Reply

Your email address will not be published. Required fields are marked *


seven + = 8

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>