Moving on from Game Maker Studio

Game Maker Studio

I have been using Game Maker for over 15 years. I remember making my first games with its simple drag and drop icons, slowly wanting more and learning its GML (Game Maker Language, somewhat similar to JavaScript). The simplicity, built in sprite editor, room editor and others are great for quickly getting something to work. For example, I love how you don't have to worry about lower level concepts such as float vs int, it's just numbers, which is all I need when doing game design.

I think Game Maker Studio is still one of the better options out there for making small games, although open source competitors are starting to appear. I'm not interested in 3D; since screens are 2D I think 2D games are a better fit. One of the reasons Unity is not an option; not to mention it seems very bloated and slow for solo development.

Using a game engine makes development very easy, but at the same time you become reliant on the company's updates. I'm not sure how much longer Game Maker will remain popular. But besides that I'm also excited to learn something new.

Seven Scrolls

My last game "Seven Scrolls" was made with GM. Although it seems simple enough, with its small grid of just 5 by 5, it's the most complicated game I have made so far. Each scroll has a trigger that sets it off, a target (either the player avatar or an enemy) and an effect, such as "freeze", "heal", "teleport" and so on. 7 triggers x 2 types of targets x 21 effects means there are 294 different possible scrolls. And because scrolls can interact (triggering each other) there are roughly 294 to the power of 7 possible combinations. That's 1.89 x 10^17. Apparently it is estimated there are 7.5 x 10^18 grains of sand on Earth, which is along the same lines in terms of scale.

All these possibilities can lead to very different situations, which is part of the fun. Also part of the fun of development; there are probably interesting situations that I have not seen yet myself.

However, to make such a game system bug free and easy to expand upon, using Game Maker, requires me to be very careful. I really need classes (object oriented programming) and a helpful IDE (integrated development environment).

Kotlin

Kotlin is a modern language in development by JetBrains, a company known for IDEs such as IntelliJ IDEA and Android Studio. It's Google's main language for developing Android apps, but interestingly it can be used for working on many platforms.

Kotlin is very concise, null-safe, and with its smart IDE generally helps you to write better code. It has been a pleasure to work with, so far.

Kotlin Multiplatform Mobile

Recently, using Kotlin for mobile development has become easier with a new plugin for Android Studio. It sets up a sample project which, in addition to Android phones, can be run directly on iOS devices.

I'm working on a basic game engine for my next project(s). I don't require much, and I love having full control. There are already game engines in development for Kotlin, such as KorGE, but it's too much for what I need and I like to keep it simple.

The main logic is inside a shared Kotlin module, and it communicates with Swift on iOS, and Android-specific Kotlin code on Android. It's great how it can communicate with Swift so easily, something that can't be done with Game Maker or Unity: they require plugins.

The platform specific code simply draws sprites onto the screen at their positions and scales, and it propagates touch input to be handled by the shared module. I love how basic it is, it feels a bit like how I imagine it must have been like working on old video game consoles. I like working within constraints; it forces me to be creative and focus purely on what's necessary.


Until next time. Happy 2021.

Comments

  1. re: constraints - this is why I enjoy doing development for Sega Genesis using SGDK and C.

    are you solely focused on publishing games for mobile platforms? I gave up on mobile and have been focusing on Steam.

    ReplyDelete
    Replies
    1. SGDK sounds like fun! My first console was a Sega Genesis, good memories... I'm focusing on mobile because it fits with the play style of jumping straight into the game, playing for short sessions if you want. Genesis would be good too! Modern consoles are becoming too much like PCs...

      Delete

Post a Comment