hugeen
Member
(english is not my native language)
Intro
10 years ago I created some short HTML5 games (JavaScript + Canvas for those who know).
For fun I started to redo them but with GMS 2 this time!
I have to say that I am impressed with a lot of the great features of GMS2, but others make me cringe!
The good stuff
The less good stuff
The bad stuff
Events
To my surprise GMS 2 is not event based!
In the Little Town tutorials
the presenter says « everything in Game Maker studio 2 happens in an event ». I was really hyped!
But later, I realized that these are not events
These are just ordered / indexed callback functions with a label on them to recognize them in the interface, that's all!
To tell the truth, it is only semantics, it can still work if GMS 2 allows to make your own events.
I found that it was possible to connect to "User Events" but that it is impossible to name them and they are limited to the number of 16!
These are not events, they are function slots!
I think this is my biggest disappointment by far.
But I am going to persist a little to try to appropriate GMS2 that seems promising to me despite that.
...
EDIT
Intro
10 years ago I created some short HTML5 games (JavaScript + Canvas for those who know).
For fun I started to redo them but with GMS 2 this time!
I have to say that I am impressed with a lot of the great features of GMS2, but others make me cringe!
The good stuff
- The workspace is really excellent, I love it.
- The different editors (Sprite, Room, Tileset,…) are also very good.
The less good stuff
- The code editor is underwhelming, I stopped using it very quickly and started using VS Code instead.
- Another problem, but I think it's just a bug (I am on a Mac and with an AZERTY keyboard):
- When I hit cmd + Z, in any other app it’s for « Undo ». In GMS 2, it closes the current window in the Workspace.
- When I hit cmd + A, in any other app it’s for « Select All ». In GMS 2, it closes GMS 2. (Yes )
The bad stuff
Events
To my surprise GMS 2 is not event based!
In the Little Town tutorials
But later, I realized that these are not events
These are just ordered / indexed callback functions with a label on them to recognize them in the interface, that's all!
To tell the truth, it is only semantics, it can still work if GMS 2 allows to make your own events.
I found that it was possible to connect to "User Events" but that it is impossible to name them and they are limited to the number of 16!
Seriously guys? It looks like 90s code!User Event 0
User Event 1
User Event 2
…
User Event 15
These are not events, they are function slots!
I think this is my biggest disappointment by far.
But I am going to persist a little to try to appropriate GMS2 that seems promising to me despite that.
...
EDIT
Tutorials and code conventions
I watched several tutorials on the official GameMaker Studio YouTube channel, and i have to say they full of bad practices!
For instance :
Please use readable variable names!
Here is my version:
It's easier to read and understand, isn't it?
There is no naming convention in GML ?
It's necessary to choose:
And then stick to it at least throughout your project!
I watched several tutorials on the official GameMaker Studio YouTube channel, and i have to say they full of bad practices!
For instance :
Code:
var _move = key_right - key_left
hsp = _move * walkup
Here is my version:
Code:
var move = key_right - key_left
horizontal_speed = move * walk_speed
There is no naming convention in GML ?
It's necessary to choose:
- walk_speed
- walkSpeed
- walkspeed
And then stick to it at least throughout your project!
Last edited: