Just starting out: Opinions on things like GameMaker?

Started by
14 comments, last by matteosaitta 9 years, 2 months ago

So I'm in the extremely early planning stages of making a game I've wanted to make for a long while, and while I don't plan on making it for my first game, I certainly would like to make it eventually.

I'm very used to game editors, I am well versed (sadly) in the ways of RPGmaker, and have found GameMaker's interface to be rather friendly, even with coding. (Feel free to mock me for RPGmaker in the replies btw, I don't mind). However, several friends have found that Unity's new 2D engine works wonders, and is rather nice to use as well. They've already coded super simple phone games for themselves, and I think that's just nifty.

So what I'm wondering is, what are the pros and cons of each? What do you prefer to use, and if neither Unity or GameMaker, then what do you use and why? Was it easy to learn, and easy to grasp, or was it just something you're used to? I've played several games made in GameMaker (Hotline Miami, Nuclear Throne) and to this day I still enjoy them immensely. Is it a bad Idea to plan a game entirely in that engine?

Shoot me your thoughts, if you may! I'd very much enjoy them. Keep in mind, I'm a super noob level coder, so tone down the complex speak a bit. I fully plan on learning to code, just not quite yet, since I have long-ish term travel plans coming soon, and I will easily forget everything I would've learned in the 2 years I'd be gone.

Thank you for your time! Have a good day.

Advertisement

I think that you are on the right track: you want to create a game, right, not an engine or a graphics demo ? You are a rookie coder, right ?

Then use the tools you are familar with and not your friend favorits. At the time where the tools are limiting your skills or vision, eg. you are a skilled artist who is able to push out photo-realistic models on a daily base, then thinking about using an engine which is able to render this, would be more useful.

Otherwise stick to GameMaker and create your games smile.png

You often see hobby devs taking top, modern engines and desperately trying to get their hands on art which justify the use of these engines all the time, eventually leaving them with an unfinished,abandoned graphics demo.

Like ashaman73 said... it's dependent on how well you know the system you are working with. But what's wrong with RPGmaker? It's just a tool.

Both systems do have their limitations.

GameMaker

Pro

- Best well known for it's 2D game design ability.

- It makes things stupendously easy to build a game in just a weekend.

- Tutorials are substantial enough to let you build anything.

- Incredibly friendly game logic.

Cons

- 3D ability is lacking - assuming it still has it.

- Back when I used to play with it... at the age of.... 7? which is about 13 years ago, it was incredibly slow. May have increased now.

- Overly simple.

Unity: My experience with it is very modern.

Pros
- One giant tool bag

- Graphics Pipeline is current to "AAA Standards"

- Extensible

- Choices on scripting languages

- Popular successful games have been made with it.

Cons

- Unity's default design is incredibly limited, which means you need to add features yourself.

- Unity's design makes it incredibly difficult to modify anything inside the engine, to add features.

- Unity's quirks often have to have a work around. Which leads you to a very messy and bug prone coding structure.

- C# DOES NOT MAKE A GOOD GAME LOGIC LANGUAGE. Via Interphases, Generics, Reflections, and a large plethora of features that overcomplicates simple tasks. Not to mention the way standard game logic is done.

-C# is great for very simple things as a scripting language. But making complex entities and items makes things needlessly difficult.

- Most major modifications that you make so your game can be made with unity will still need to be made into objects that attaches to something. (The team I am working with at the moment was forced into doing that horrific design)
- Interphase gets cluttered with complexity fast in large objects. Thousands of objects in your scene graph, property inspector is the most useful tool, but takes up a good chunk of your screen space to be readable.

- Masking system for physics is also a little quirky.

- Arbitrarily simple plugins made by thousands of users are sometimes over priced, and don't work very efficiently. Look up FPS on Unity, you will see this a lot when it's not hard to set this up. There -was- a tutorial for it too back in the older days of unity.

- Lack of a proper debugger. The console you get will only detect very basic things. Grammar errors, and standard Asserts from unity's base code. Other wise, you are on your own on finding logic errors, and bug crushing. Visual Studio won't save you either.

- primary design is with assuming that GameObjects are either static, or dynamically static, dynamically static and instanced, or "one of a kind" and never used again. In other words, very simple, or not expected to stay on screen for longer than 30 seconds. This makes things difficult for a lot of genres. Imagine trying to call one specific NPC out of an instanced GO. Unity doesn't know what you are trying to do without a physical selection in world, so it will grab anything that is on the top of it's stack.

That being said... take my opinions with a grain of salt. After all... they are only useful to how well you know them.

By my personal oppinions... I am very picky when it comes to editors. I personally prefer tool designs like Hammer (source engine), Unreal, and Creation Kit (bethesda). While the tools aren't easy to use. They do have a very clean structure that won't clutter as you work, and do a very good job at keeping code function away from design till it's needed.

Something that GameMaker excelled at when compared to unity.

If you have a game idea that you want to make and you think that it is possible to make it in Gamemaker and you have already found Gamemaker to be easy to use then use Gamemaker.

The thing is things like Gamemaker, Unity, Unreal or even C++ are just Tools. You pick the right Tool for the job.

Actually RPGMaker is a very good tool for developing classic JRPGs (IMHO).

GameMaker can be used effectively if you can handle it. Your project can easily become a huge mess if you don't pay attention to how you structure it. You need consistent naming conventions especially inside your GML scripts. Don't forget to document your code whenever possible. GM sucks as a level editor but probably you can live with it. All in all it comes with a lot of useful features but you need to be careful if you want to create a mid to large game. Consider that successful (== that sell) indie games made with GM exists, Hotline Miami and Risk of Rain (not 100% sure on this one) come to mind.

EDIT: I noticed you already mentioned Hotline Miami and other games. As you can see GM is perfectly capable of shipping high quality games, it really depends on your skills.


- C# DOES NOT MAKE A GOOD GAME LOGIC LANGUAGE. Via Interphases, Generics, Reflections, and a large plethora of features that overcomplicates simple tasks. Not to mention the way standard game logic is done.

Little confused by this comment. Interfaces and Generics are both things that are basically there in C++ via abstract classes and templates. Reflection is a bonus, something you can do neat stuff with, but doesn't have to be touched, none of my games in Unity use it. None of that has anything to do with game logic.

Though to contribute to the thread:

- Graphics Pipeline is current to "AAA Standards"

is also not true, at least not without paying for premium Unity, as most of the shiny features are gated. Though with Unreal 4 going basically free, they've started to finally release more and more features as standard in an attempt to compete.

That said, lots of decent games get made and released via GameMaker, GunPoint is another one.

(A lot of Tangletail's other points on Unity are spot on though, especially with asset handling)

You guys have all been so helpful, thank you for all your responses! I noticed a lot of people were rather lenient on RPGMaker, so to clarify, the RPGMaker community itself is rather harsh on the interface, engine, and language of it all, so I thought that was a worldwide thing, not just a RPGM comm. thing.

I think I want to make something in GameMaker I think, after much consideration, but here now lies another question I've come up with, after some reading:

Given the parameters of the game I'm making, would it be wise to continue making it with GameMaker in mind? Or is the engine (In your experience) not strong enough to handle such a game?


eg. you are a skilled artist who is able to push out photo-realistic models on a daily base, then thinking about using an engine which is able to render this, would be more useful.


- Back when I used to play with it... at the age of.... 7? which is about 13 years ago, it was incredibly slow. May have increased now.

The game I'm planning on making will definitely have a 720x1280p resolution as it's base, and I've considered making 2 sets of graphics so it can also have a 1080x1920p resolution as well, but lets start with the 720p one.

The game will have large maps with several character sprites, object sprites, many of which will be animated, and chat graphics plus the HUD on screen at once. All hand drawn of course, at the same resolution the screen is rendered at. In your own experience, have you ever had any slowdown in the engine, regarding lots of things being rendered or just onscreen at once? I found that on occassion, Nuclear Throne (again, made in gamemaker) had some slowdown when there was a lot of bullets onscreen, and I'm on a bloody i7 computer, so I was a little perturbed, considering it's tiny base resolution. (Something like 400x600?)

So yeah, do you think the GameMaker engine will be strong enough for my game? Or should I consider another engine? Or maybe that's all just coding problems that can be worked out, I dunno, again, not well versed in it.

Thank you all for your time and posts! It's been extremely helpful.


The game I'm planning on making will definitely have a 720x1280p resolution as it's base, and I've considered making 2 sets of graphics so it can also have a 1080x1920p resolution as well, but lets start with the 720p one.

The game will have large maps with several character sprites, object sprites, many of which will be animated, and chat graphics plus the HUD on screen at once. All hand drawn of course, at the same resolution the screen is rendered at.

[...]

So yeah, do you think the GameMaker engine will be strong enough for my game? Or should I consider another engine?

It really depends on the specifics of your game:

  • How many large maps, and exactly how large?
  • How many character sprites and other objects? How complex will the animation be?
  • etc.

...and on the specifics of your target platform/devices:

  • How much memory is available?
  • How much processing power?
  • etc.

If your game is drawing a lot of large graphics with complex animations there may be performance problems, whether you're using a product like Game Maker, something more industry-standard like Unreal Engine, or coding your own engine from scratch.

It's your job as a developer to cleverly design your application so that you can get the most out of the hardware you're running on and to minimise things that might slow down the game; one example might be using a texture atlas to save memory and allow your graphics to be transferred to video memory faster when using many small sprites.

It's also your job as a designer to make sure your game has realistic performance targets and you're sticking within your limitations; one example might be ensuring that when a large complicated boss with lengthy animations is on screen there aren't lots of smaller enemies as well.

Game Maker does include a lot of optimisations for 2d games, so if you follow best practices for the engine (some of which you can read about HERE), code well, and design your game carefully you should be able to get very good performance out of it.

For some further reading I would recommend a quick read through this entry on the Scirra blog: "Remember not to waste your memory". The developer is talking specifically about Construct 2 rather than Game Maker, but the majority of the points apply.

Hope that helps! :)

- Jason Astle-Adams

The best tool is the one that you can understand well enough to make a game with.

GameMaker has many commercially successful releases under it's belt, it won't be the limiting factor. I'll be finishing up my first 2D game in Unity later this month and I will most likely be going back to GameMaker simply because Unity is missing a lot of the quick and easy 2D "hacks" that make using Game Maker a hundred times easier.

I can do fake dynamic lighting in GameMaker in 20 lines of code, but in Unity I have to make normal maps of all my sprites, create materials, light sources, ugh. Just nowhere near as simple for 2D.

The trade off of course, is I feel the rendering performance in Unity is much faster, probably because a "2D" game in Unity is still actually a 3D application that uses full hardware acceleration.

And last but not least, GameMakers default color scheme is so damn relaxing on my eyes compared to Unity's light grey eyebleed color.


It really depends on the specifics of your game:

How many large maps, and exactly how large?
How many character sprites and other objects? How complex will the animation be?
etc.

...and on the specifics of your target platform/devices:

How much memory is available?
How much processing power?
etc.



If your game is drawing a lot of large graphics with complex animations there may be performance problems, whether you're using a product like Game Maker, something more industry-standard like Unreal Engine, or coding your own engine from scratch.

It's your job as a developer to cleverly design your application so that you can get the most out of the hardware you're running on and to minimise things that might slow down the game; one example might be using a texture atlas to save memory and allow your graphics to be transferred to video memory faster when using many small sprites.

It's also your job as a designer to make sure your game has realistic performance targets and you're sticking within your limitations; one example might be ensuring that when a large complicated boss with lengthy animations is on screen there aren't lots of smaller enemies as well.

These are all great questions for me to ask, thank you! I'll save those links as well, those are gonna be a real help. Yeah, it's gonna be a pretty darn big game with extensive 2D top down maps, so memory optimization's a big factor. I want it to be able to be run on as many systems as possible. Thanks a ton man! I'll give all these a look!


GameMaker has many commercially successful releases under it's belt, it won't be the limiting factor. I'll be finishing up my first 2D game in Unity later this month and I will most likely be going back to GameMaker simply because Unity is missing a lot of the quick and easy 2D "hacks" that make using Game Maker a hundred times easier.

Thanks for your reply too, yo! Yeah, from what I can tell, Unity runs things really really well, but it isn't quite optimized for 2D making yet, which is a little sad in some ways, but oh well, I'll stick to game maker for now. Thanks for your advice!

This topic is closed to new replies.

Advertisement