I’ll admit that Drag and Drop Coding wasn’t in my initial plans. Setting out to learn coding meant I was going to be doing “real” coding. However, I also wanted to explore the options for game development. Ideally the plan is to stay away from subscription based coding platforms.
Prior to getting serious about coding I took a look at Construct3. The monthly subscription plan was a turn off to me. Also around the same time I discovered GameMaker Studio 2, which offers both free and paid tiers. I passed on GameMaker Studio due to the fee. Not long after however there was a GameMaker Studio Humble Bundle that made me give it a shot.
Not a Simple Drag and Drop
Unlike the many tutorials you’ll find for engines like Unity, Unreal or Godot there isn’t as many for GameMaker Studio. Thankfully YoYoGames (developer of GameMaker Studio 2) has some pretty good ones on their site. The tutorial for Fire Jump Infinite Platformer is a good choice to get started.
What I very quickly learned from the tutorial is that drag and drop is not cut and paste. When you think about drag and drop you may think of a game like Mario Maker. I had a thought of simply dragging in objects and assets and done. Despite what it’s name may imply you are still very much coding. You may not be writing out the code in full but you’re still working with the same foundations and building blocks. What you are doing is taking code “snippets” and making them work together. In many cases your still using very small bits of code within these snippets.
This all makes more sense when you realize that you can convert your drag and drop code to GML as well. GML or (GameMaker Language) is the proprietary GameMaker Studio 2 scripting language. It is not something that I have looked at much at this point. For me using the drag and drop language was my focus while trying the software.
The nice thing about learning drag and drop for me has been the breakdown of the process. Obviously whenever I’m taking a class or following a tutorial I am always thinking about a game. I look at the project I’m working on and ask, what can I do with this? GMS2 breaks down pieces of the project. You work on a sprite, make it an object, add some code and drop it in the scene. You also continue to build on what you’ve already added.
One area that GMS2 has already helped me is in animation. As I’ve mentioned before, this is my biggest concern. However working with the Fire Jump tutorial sprites I can now see a direction I can take to implement my first pieces of animation. I don’t expect it to be amazing, but I can see how it can work.
The code blocks can be slightly overwhelming in the beginning. Since you’re not entirely aware of what you can do and just how many blocks there are. Learning how different blocks interact with each other is a challenge as well, but with anything will become easier with time.
GameMaker Studio2 Scores High
Admittedly during the first part of the tutorial for Fire Jump I was hesitant. Perhaps I’d just chalk it up to $25 spent for a couple games and move on. I wasn’t entirely sold. Yet as I continued on with the tutorial and began to get more comfortable with GMS2 I started to enjoy it much more. It is certainly a worthy tool a more than a few games including Hyper Light Drifter, Crashlands and Undertale have been developed using GMS2.
If you plan to use it in a serious manner you’ll likely look at the Indie tier. In my opinion the FREE and Creator tiers don’t hold good value. At the Indie tier you’ll get monthly asset bundles (also available in creator) but more importantly you’ll get web and mobile exports. If your plan is to eventually release on consoles I’d say your better bet is to learn Unity or Unreal or Godot. The Enterprise tier for GMS2 is $800 a year, well above what you should be paying to learn game development.
As a new indie game developer I’d like to get a small game or two released. I have a good feeling that GameMaker Studio 2 will be just the tool I’ll be using.