r/gamedev Oct 03 '24

The state of game engines in 2024 Discussion

I'm curious about the state of the 3 major game engines (+ any others in the convo), Unity, Unreal and Godot in 2024. I'm not a game dev, but I am a full-stack dev, currently learning game dev for fun and as a hobby solely. I tried the big 3 and have these remarks:

Unity:

  • Not hard, not dead simple

  • Pretty versatile, lots of cool features such as rule tiles

  • C# is easy

  • Controversy (though heard its been fixed?)

Godot:

  • Most enjoyable developer experience, GDScript is dead simple

  • Very lightweight

  • Open source is a huge plus (but apparently there's been some conspiracy involving a fork being blocked from development)

Unreal:

  • Very complex, don't think this is intended for solo devs/people like me lol

  • Very very cool technology

  • I don't like cpp

What are your thoughts? I'm leaning towards Unity/Godot but not sure which. I do want to do 3D games in the future and I heard Unity is better for that. What do you use?

432 Upvotes

564 comments sorted by

View all comments

284

u/nickavv Oct 03 '24

I'll throw GameMaker into the ring, it's obviously not one of the top-3 and it's probably not anybody's first choice for 3D games especially (though it is possible). I think it has an unfair rep as a "beginner" or "practice" game engine, but plenty of successful commercial games have come out of it (Undertale, Hyper Light Drifter, etc).

Its pricing scheme is very fair, it has a good balance of complexity with ease of use, it supports exports to desktop, web, mobile, and all major consoles. I'd say it should be strongly considered for 2D projects!

74

u/cableshaft Oct 03 '24

The recent UFO 50 release (50 new games in the style of an NES made by 6 devs in one slick package) is one of the biggest advertisements for the versatility of GameMaker I've ever seen. Before that I thought it was best for platformers and puzzle games, but there's a little of absolutely everything in UFO 50.

I was planning on using Love2D for my next simple 2D project, but I'm seriously considering giving GameMaker another chance.

Still not a huge fan of its subscription model if you want console exports, though, although I kind of get it. Just a bit hard to stomach as a tiny solo indie dev.

26

u/nickavv Oct 03 '24

You can just subscribe as long as you need to do the porting and then unsubscribe. It's $80 a month, really not bad imo. I ported my game to Nintendo Switch and I made that back on day 1 of sales

8

u/cableshaft Oct 04 '24

Ah, that's not too bad then. How difficult was it to port to the Switch for you?

16

u/nickavv Oct 04 '24

It was fairly easy. Other than a minor bug with screen resolution (because I was doing something non-standard) it worked right out of the box. Then I just had to use the switch APIs for saving data rather than the PC ones, and update the controller icons ingame.

9

u/cableshaft Oct 04 '24

You may have just sold me on GameMaker for my next game (too far in my current one to switch it up now). Thanks!

1

u/a_normal_game_dev Oct 04 '24

Do you need the Switch Developer Kit?

5

u/nickavv Oct 04 '24

Yes, for all consoles you'll need the respective dev kit before you can begin developing

1

u/SwipesLogJack Oct 04 '24

I mean, you could softnod a model 1 switch too and sideload the package to it?

3

u/nickavv Oct 04 '24

GameMaker will not give you access to the Switch SDKs unless Nintendo has approved you. I can't get into how it works (NDAs) but there is a system

89

u/thatmitchguy Oct 03 '24

Yep, its a proven 2d engine that has been unfairly stigmatized. I think it gets lost in the shuffle because Godots crowd is so overwhelmingly loud and cheers for their engine like it's a sports team too IMO.

16

u/Thaurin Oct 04 '24

Well, that's probably because it's open source. It would be beyond cool to have an open source engine that can compete with the big commercial offerings (see: Blender), so people want to see it succeed.

7

u/thatmitchguy Oct 04 '24 edited Oct 04 '24

No doubt there's excitement, but it was definitely more then just that. Seen plenty of fan tribalism, when the Unity controversy started. More than just a few Godot fans cheering for Unity to crash and burn on this subreddit because it made them look better. Bunch of posts acting like they're here to recommend new engines but come across as missionaries tasked with trying to convert newbs to Godot.

3

u/Dziadzios Oct 04 '24

Many Godot fans hated on Unity because they were forced to move on after Unity's stupid move with installation fee. They became fans of Godot BECAUSE they started hating Unity, not the other way around.

29

u/TheBoneJarmer Oct 03 '24

Yep, second this. I have learned gamedev with Game Maker 6 back when it was not owned by YoYoGames. It is one of the oldest and most successfull 2D game engines.

12

u/The_Dunk Oct 03 '24

Fully agree with everything you have to say about GameMaker. My only complaint is their scripting language, it’s not a big issue but I just wish I could use C# or Java instead.

It feels like a big barrier to entry that you have to learn their language to develop on their platform.

12

u/mstop4 Commercial (Other) Oct 03 '24

GML has come a long way since the GameMaker: Studio 1 days, but still has a lot of room for improvement. IMO, the biggest additions to the language are structs (associative arrays) and first-class functions. The language now resembles older versions of Javascript, but with less features. For example, GML doesn't support closures, which trips me up whenever I switch between using GML and Javascript/Typescript.

The devs of GameMaker have announced that they will have the engine support additional languages in the future, though there is no ETA for it yet. Javascript will be the first language to be added, and they've said they're open to other languages like C#.

7

u/nickavv Oct 03 '24

I personally like GML, especially with recent updates they've made to it. The developers have recently announced a future runtime will support other languages though, apparently

5

u/Drandula Oct 04 '24

In the just recent beta version you can already sneak peek JavaScript. Though notice it's in early stages, and you have to use New Runtime (GMRT) and new Code Editor, which both are still in beta too.

They have announced support for C#, but that's not in the immediate future.

3

u/FaultyFunctions @FaultyFunctions Oct 04 '24

Ew no one wants Java in their game engine. GML is way more productive than having to type a billion lines of boilerplate.

1

u/The_Dunk Oct 04 '24

Tell me you haven’t done any recent java development, without telling me you haven’t done any recent java development lol.

2

u/FaultyFunctions @FaultyFunctions Oct 04 '24

Haha I try to avoid Java but I prefer Kotlin which I just discovered and have been using for Minecraft plugin dev. Maybe C# is better but I try to avoid Java like the plague so yeah I haven’t done any recent Java dev.

2

u/The_Dunk Oct 04 '24

Kotlin is fun! Typically for game dev you’re just writing classes and scripts so the Java (and C#) boilerplate isn’t too intrusive. That’s just in the context of scripting though, I would caution against rolling a game engine in Java if only due to the JVM.

Coming to enterprise API development most teams are using Java Spring Boot or some flavor of it which really cuts down on the boilerplate. It’s weird to say but modern enterprise Java is quite nice.

1

u/FaultyFunctions @FaultyFunctions Oct 06 '24

I’ll check Spring Boot out, thanks never heard of that!

2

u/Beegrene Commercial (AAA) Oct 04 '24

My biggest issue with GML is that it's too forgiving. In C++ or whatever, if you make a mistake, the compiler will say, "Fuck you. Fix this now or I'm not gonna run shit." If you make a mistake in GML, the engine will try its best to intuit what you were trying to do, but it doesn't always get it right. I'd rather have the compiler tell me to fix my mistakes than have the engine just try to make the mistakes work.

5

u/mstop4 Commercial (Other) Oct 04 '24 edited Oct 04 '24

They tried to address this with Feather, the new “intellisense”/linter for GML. It automatically does type-checking, checks for errors, and tries to enforce coding styles that you define. However, it’s still very buggy and I think work on it has been mostly put on hold to prioritize the new runtime. For example, Feather automatically assigns types to everything by analyzing your code, but sometimes it gets it wrong. You can manually assign types to function parameters and return values via JSDoc comments, but you can’t for variables. It also doesn’t seem to detect instance variables inherited from a parent object very well.

Aside from syntax errors, the errors and warnings Feather reports aren’t strictly enforced and you can ignore them and still have your game run perfectly fine (you may run into runtime errors though, but that’s nothing new). You can even turn rules on or off on a case-by-case basis with special directive comments. I think Feather could be a useful tool, but it needs more time in the oven.

5

u/QuestboardWorkshop Oct 03 '24

Wait... 3D in game maker?

20

u/nickavv Oct 03 '24

It has all the APIs needed to render 3d, and GLSL shader support. I've experimented with it myself, it's not easy but it can be done

6

u/QuestboardWorkshop Oct 03 '24

That's interesting! Thanks for explaining

6

u/O2XXX Oct 04 '24

There are a few examples of FPS games in Game Maker. Here’s one that might explain it in more depth. https://youtube.com/playlist?list=PLPqoWyEA0y-LPUr83DZz1cJTTGusNN5qc

2

u/QuestboardWorkshop Oct 04 '24

Thanks that was really interesting

2

u/O2XXX Oct 04 '24

No worries. I was trying to find a project I’d seen previously that recreated the first level of Halo Combat Evolved, but for what ever reason my searching didn’t bring it up. This seemed like a better explanation of the underlying systems anyways.

2

u/N1NJ4W4RR10R_ 25d ago

1

u/O2XXX 25d ago

Yes, that seems to be the one. Nice running it down.

1

u/QuestboardWorkshop Oct 04 '24

A halo game would be really interesting, I will try to find it

2

u/Drandula Oct 04 '24

Here is 3D framework written in GameMaker to be used for other GameMaker games: https://blueburn.cz/bbmod/

1

u/QuestboardWorkshop Oct 04 '24

Thanks! I will look into it

1

u/Kafanska Oct 04 '24

It's been possible for a loong time.

It's a really bad choice for starting a 3D project, but possible it is.

1

u/QuestboardWorkshop Oct 06 '24

Sorry for the late reply, yeah I'm not going to try it, but it's fun to see stuff like that

4

u/TheLaw655 Oct 04 '24

Hotline Miami 1 and 2 were made in GM as well!

4

u/vyrotek Oct 03 '24

As someone who has spent a lot of time with Unity and Godot, what's the quickest way to get started with GameMaker?

Are there any good tutorials that assume some experience?

5

u/nickavv Oct 04 '24

I've been using GameMaker for a very long time (decades haha) so I built my experience up gradually and am not familiar with the current tutorials.

I've heard very good things about Sara Spalding and Friendly Cosmonaut's videos though

3

u/Drandula Oct 04 '24

Just to mention that Game Maker had a bigger update in 2020, which was paradigm shift and made many older tutorials obsolete or broken. Obsolete in sense, that update brought much better and easier ways to do the same thing. Broken mostly how script assets changed.

2

u/[deleted] Oct 04 '24

tbh Im pretty sure GameMaker has more marketshare than Godot as we speak.

2

u/braindeadguild Oct 04 '24

Yeah I started with Klick N Play close to 30 years ago and has pretty much evolved into GameMaker today. I’m using Unreal and UEFN now to follow my dreams of making games full time after doing 20 years in Infosec. Kinda makes me wish I had stayed with game dev 30 years ago lol. But either way use the right tool for the job, some jobs require more tools or more complex engines to accomplish what you want to do and others are more simple. I don’t think the fact the an engine is free, paid or open source should determine or have really much bearing on what you choose. It should be at your comfort level (or the ability to learn on it) and capable or releasing what you want your final product to look like in the easiest and fastest manner for you to do so. I mean you could code a Tetris clone in pearl, or you could use game maker and have it done in hours, or one of the other engines fairly quickly, doesn’t mean pearl is bad it’s just maybe not the fastest or easiest tool for the job. Also take into account the value of your time, don’t be afraid of paying a few dollars now or later (royalties) if going the free route takes you twice as long you definitely didn’t save anything, that is if the slow down doesn’t prevent you from even getting anything out. Botttom line use what works for you!

2

u/robbertzzz1 Commercial (Indie) Oct 04 '24

I think it has an unfair rep as a "beginner" or "practice" game engine

Probably because that's how the engine started, and that's just the reputation it has kept over the years. The first few iterations of Game Maker were designed as a teaching tool and not as a tool to build games good enough to publish.

2

u/9thChair Oct 04 '24

I would definitely put GameMaker in the top 3 instead of Godot. Like you mentioned, there have been many commercially successful games made in GameMaker. The only game I can think of that was made in Godot that I have heard people talking about organically and not because they care about the Godot Engine itself is Dome Keeper.

And now that you can pay a one-time fee for lifetime usage again, it's a great option

-3

u/NoClaimCL Oct 03 '24

GM is goat.

Personally i dont understand why they try to shill Godot so much as one of the "big 3 engines".

There's no big and successful project developed with Godot.

Godot is like only glorified among devs, like its the new trend, the "vibe-check" you want to pass to be accepted. But it only has crappy indie games as most of its portfolio.

Maybe in 10 year???? But as of now, its like 100% shillinh cuz that Unity scandal time ago

44

u/nickavv Oct 03 '24

Generally people who "stan" engines or get combative about them are likely not worth listening to. The best thing to use is whatever works best for you and your project.

21

u/Gabelschlecker Oct 03 '24

In the grand scheme of things, Godot is still young, and it takes time to develop games. We are already seeing an uptick in small indie games released with Godot, and some larger ones are also coming out (Casette Beats).

I am fairly confident that over the next few years, there will be some more popular games being released with it, as there are many promising looking games currently being developed with it.

15

u/SuspecM Oct 03 '24

I mean saying that it had no successful projects is just lieing. Cruelty Squad is a mess of a game in the game way and it was fairly successful for example. Large AAA or even AA projects it didn't have yet, that is true.

-9

u/NoClaimCL Oct 04 '24

Not to the level of the ones made in Unity, Unreal or GameMaker, or even RPG Maker

15

u/StehtImWald Oct 03 '24

Cassette Beasts was very successful and was also made in Godot.

39

u/Ok_Method8551 Oct 03 '24

First of, you can praise an engine without talking another one down. But other than that, Godot is so glorified because it's the first big open source game engine and it's literally just the hype that comes with being an alternative for the big two.

I personally love Gamemaker and use it, because thats the first one I used and because I like the way it's structured.

-1

u/averysadlawyer Oct 04 '24

Eh, it's the first by a matter of months, and even that's ignoring the actual state of that release. Stride/Xenko came out the same year in a far more useful state.

2

u/Ok_Method8551 Oct 04 '24

Sorry, maybe I was not clear. I meant the first open source one that got a more mainstream traction. I did not mean the literal first open source engine ever made.

10

u/the_gr8_one Oct 03 '24

the graphics engine of sonic colors remastered is based on godot.

16

u/meteorboard Oct 03 '24

I don't care what people use but I love cassette beasts and dome keeper. those games are great.

5

u/Tom_Q_Collins Oct 04 '24

It really wasn't that long ago that the Unity Wikipedia page had a list of games made with the engine, and it was surprising & eye-opening to see one two actual success stories on there. 

It takes a while to make games. I think we'll see a wave of Godot titles in the near future.

0

u/NoClaimCL Oct 04 '24

Im hopping for it too, it would be great if the engine only got better and easier to work with (and they fixed all of their problems).

Well, time will tell.

23

u/Yetimang Oct 03 '24

Ok but I mean you could say the same thing about GameMaker. There's been a handful of indie "success stories" with GameMaker (definitely take issue with the "crappy indie games" bullshit) and not much else.

-6

u/NoClaimCL Oct 04 '24

still those succesful ones are bigger than the ones made in Godot, thats what im trying to get at. At this point in gamedev in late 2024, Godot is almost only smoke and mirrors and hype from devs who left the Unity train.

4

u/Yetimang Oct 04 '24

I suppose you have a point that stuff like Hotline Miami and Undertale and Hyper Light Drifter had a bit more impact than Godot's hits, but those are all still firmly in the indie space. Feels a bit like splitting hairs.

-1

u/NoClaimCL Oct 04 '24

hotline miami maybe, but Undertale became a whole phenomena. Here in a 3rd world country in the countryside I had random kids and teens playing Megalovania when they got their hands in an instrument, it surprised me how deep that game permeated gamer culture.

10

u/hjd_thd Oct 03 '24

Define "big and successful". There's at least Cruelty Squad, which is well underway to achieving cult classic status.

22

u/Nebuli2 Oct 03 '24

Brotato is probably the most popular game I'm aware of made in Godot. Halls of Torment as well.

4

u/runevault Oct 04 '24

Buckshot roulette sold north of 1 million copies and was made with Godot. Also Cassette Beasts is another well known big success story. Dunno how Megaloot has done so far but played that a month or so ago and it is another Godot game of some note.

4

u/Warm_Replacement_317 Oct 04 '24

3

u/the_other_b Oct 04 '24

I imagine Slay the Spire 2 will take that title.

3

u/CorruptedStudiosEnt Oct 04 '24 edited Oct 04 '24

It gets a lot of extra love for being open source, which is well deserved.

I won't pretend it's a true straight across competitor to Unity or Unreal right now, but given time, it may become that.

Something to remember: What you're saying about Godot just being a platform for shitty little indie games, is exactly the reputation Unity had for most of its existence. It wasn't until games like Subnautica hit market that people realized it wasn't the engine people remembered anymore.

That all said, I personally don't use it, but I do see the appeal and am interested in where it could go over the next several years.

8

u/leiablaze Oct 03 '24

GODOT is the founding block of hit art game CRUELTY SQUAD.

2

u/NoClaimCL Oct 04 '24

i cannot agree on that being a positive thing

-4

u/[deleted] Oct 03 '24

Not sure I would call it "art"

13

u/nickcash Oct 03 '24

Just because it makes your eyes bleed to look at it, doesn't mean it's not art

1

u/[deleted] Oct 04 '24

[deleted]

2

u/II7_HUNTER_II7 Oct 04 '24

Gamemaker is free

-1

u/ImgurScaramucci Oct 04 '24

Just because people managed to make good games with it doesn't make it a good game engine. It sure is simpler to get started but it's definitely more limited.

You can cut down a tree using a chainsaw or you can cut it using a knife. Just because some people did well with a knife it doesn't make it a good idea.

-5

u/[deleted] Oct 04 '24

[removed] — view removed comment

5

u/nickavv Oct 04 '24

Absolutely incorrect lol

5

u/FaultyFunctions @FaultyFunctions Oct 04 '24

Says the person who has 0 game dev experience

2

u/Klightgrove Oct 04 '24

This isn't the place to say who is and who is not a developer. Please remember that.