Hacker News new | ask | show | jobs
by japhib 1415 days ago
Congrats on the release OP!

For anyone reading, if you’re a programmer by training, I’d recommend literally any game engine other than Game Maker Studio for creating your game. Unity is a great choice for beginners that lets you program in C#.

Game Maker Studio is specifically designed for people who are NOT programmers.

4 comments

Unity suffers from being 3d by default (so you're kind of defaulted into "physics-activated 3d world" stuff), having very low discoverability of features, and a lot of googling to land on the Unity forums.

If you're a programmer, there are a couple ways you can experience happiness:

- Try one of the many "2d game library" things. They tend to be limited to playing sound, displaying gfx, and handling input. But if you're a programmer that will at least give you an idea of what is implemented and what isn't.

- Use Unreal with Blueprints. "But I'm a programmer, let me write code!" Trust me, when you are using blueprints you both get a much more discoverable API, and can actually get all the fancy built-in 3d stuff to work. Also if you're not working on something by yourself, suddenly other people can help out a lot.

- Use Game Maker Studio! Being a programmer means you might have some more systems thinking, but ultimately having stuff like tile editors easily means you're not going to spend a month building out your own little tools.

Programming everything from scratch is overrated if you actually want to make something that works. But Unity has a lot of half-baked features and is actually pretty hard to get working nicely for so many things that it can easily end up being a massive source of incidental complexity.

Obligatory Godot shout out which unlike Unity had has "native" 2D support and is a pleasure to work in.
The best choice is the one that you, personally, will complete and build a full game in. Presumably OP knew how to use gamemaker studio, and could either choose between:

1) Starting to build the game straight away in Game Maker Studio

and

2) Learning C# / Unity and then starting to build your own engine and plug together tile editors and things which will then let you build the game.

In the case above, Option 1 will probably have more success as you are starting to build the thing rather than defering building the thing.

Agreed, one thing I always reply when people ask about what language, middleware to use, I always give the non-answer of using whatever people are confortable with.

Minecraft would probably never have happened, if Notch started by asking in the forums if he should use Java or not.

Likewise many 8 and 16 bit titles started as BASIC, C, Pascal prototypes before being rewritten into Assembly, after their concept was proven, or thrown away before too much was invested into them.

Discussing what languages, middleware, API, whatever, instead of actually designing the game is what slows development down.

When this question gets asked on forums I ussually see the answer "use what you are familiar with". So probably yes it would still be made.
Yup, Toby Fox more or less did this exact sort of research in 2020 while developing Deltarune, and came to similar conclusions:

    We had actually attempted to develop the game since the time too. Development started around March 2019 and a 99% work was spent on investigating engines alternate to GameMaker, which I used for Chapter 1.

    Without getting into the details, I decided a few months ago to go back to GameMaker after all. It still felt like the best fit for the project. So using Chapter 1 as a base, we've started creating Chapter 2 since May 2020.

    A lot of progress has been made since that time. I believe we can complete this chapter, content-wise, before the end of the year (not accounting for translation, bugtesting, and porting).

    I feel very confident. And the strange thing is, even though we ended up using the original engine, I don't regret the lost time, either. Not only was I still busy designing the game, but during that long period, I was able to think of many ideas that make the game's story and characters better.
https://deltarune.com/update-092020/

Obvious caveat: He already had development in the game on one engine so that may have swayed factors. And of course, DeltaRune isn't going to be struggling to perform on any reasonable platform. But ultimately, the tool didn't limit his choices enough to make the jump.

At the end of the day, work to your strengths and consider your scope. Many people here are programmers so I understand if they want something more flexible than Gamemaker. But I wouldn't necessarily jump to Unreal Engine 4/5 if I'm making a small-ish scale 2D game.

Thanks :-)

I don't agree that GML is designed for people who are not programmers though. I actually grew rather fond of GML (The language in Game Maker Studio) over the 2 years I learned to work with it (and that's coming from an experienced Software Engineer (TypeScript, Go, Clojure, Java, C/C++)). It's not perfect by any means, but it's very easy to get started with, has lots of features designed specifically for 2d gamedev, is actively improved by YoYo Games and getting better all the time. And it allows for rapid experimentation which was a huge benefit during development on Kells, given how many ideas where repeatedly thrown away.

> Game Maker Studio is specifically designed for people who are NOT programmers.

This is not true in the slightest.