My GM rant

Posted by Gordy on Dec. 31, 2012, 8:15 a.m.

Let me warn you; this post contains much rant, however, it adequately sums up my growing distaste for GM:S. Also, don’t expect coherence between paragraphs.

Yoyo, why can’t I have more than one project open at a time? It is so absolutely frustrating trying to switch between multiple projects, even more so with the horrendously slow and terrifyingly unusable file selection amalgamation you’ve got.

Just, let me open more than one instance of GM:S, please.

The new theme (gmHTML?) is.. interesting, to say the least. (And don’t you dare try and say ‘but you can change the theme!’ because that functionality is near useless and only aids in making GM look even more abhorrent.)

I’ve been using GM since version 5.1, and as the new versions came, the UI got better, and better, and more useable (My favorite being GM7/GM8). When GM8.1 came out, the improvements to the room editor were a nice touch, and overall, I only had a few gripes with it.

Maybe it was just the change of scenery, but with GM:S, I can’t help but feel something happened, something very, very terrible; I started to notice things. To be more precise, I started to notice, more things. This new, dark theme is so, lackluster.

Now, I can propose YoyoGames’ thinking behind it; Unity, Photoshop, and multiple other high end programs have taken on the dark theme as a sort of, badge of quality, and Yoyo felt they needed to emulate it. Well, it failed. Why, you ask? Because the combination of the layout, the icons, the god awful start/file selection make it look entirely juvenile. And no, I don’t mean, “This software can be used by juveniles!â€? I mean, “This software was designed by juveniles!â€?

Look, if you’re going to redesign your UI for whatever reason, please, just hire someone who knows what they’re doing. I mean that most sincerely too, it’s really a shame how far visually GM has degraded. So, as a condolence, I’m offering my own UI and product design services to you Yoyo, for free. Please, please do something about this, my eyes will thank you.

I’ve always had gripes with the way GM handles the windows for objects, sounds, sprites, etc, because it always seemed so, cumbersome. Let me explain,

What we have: the ability to open 1 code editor/sprite viewer/sprite editor/script editor at a time.

What I want: the ability to open multiple code editors/sprite viewers/sprite editors/script editors at a time.

Switching between the windows, or having to close the currently open code window just to edit one pixel on a sprite can get excruciatingly annoying after a while. Trying to copy some RGB color values from a sprite becomes physically tiring, as I have to navigate to the first level of windows and back just for 3 numbers. Let me switch between code windows with a tab (at the very least) or something, I shouldn’t need to close the window, find the object window, open the code window, and repeat, just to copy a line of text. And seeing as I spend 90% of my time in GM coding, it’s become one of the most frustrating things.

This is more, ‘out there’ as they say, but please, add another event to objects, “Globalâ€?. What do I mean by this? I mean, let me put all of my create, step, alarm, draw code, in the same code block, why? Because It’s good practice, and nearly every advanced language gives you the option of using and defining classes and functions inside a single script. If you’re aware of OOP coding, you’ll understand, if you’re not, here’s a pseudocode example:

define object Player {
	x = 0;
	y = 0;
	hp = 1;
	name = NULL;
	sprite_index = NULL;
	sprite_subimage = 0;

	function func1(arg0) {
		name = arg0;
	}	
	function func2(arg0) {
		hp = arg0;
	}
	function func3(arg0,arg1) {
		sprite_index = arg0;
		sprite_subimage = arg1;
	}
	
}

define image Sprite {
	width = 0;
	height = 0;
	origin_x = 0;
	origin_y = 0;
	source = NULL;
	frames = 0;
	sprite_speed = 30;

	function loadImage(arg0,arg1) {
		source = arg0;
		frames = arg1;
	}
} 

event Create {

ob_character = new Player {args(
	x => 32,
	y => 32,
)};

sp_character = new Sprite;
sp_character.loadImage(“img/player.gifâ€?,12);

ob_character.func1(“Dartâ€?).func2(100).func3(sp_donkey,0).setSpriteSpeed(15).setSpriteOrigin(16,16);

}

event Step {

	ob_character.x = (ob_character.x + 1) mod room_width;

}

event Draw {

	ob_character.draw();
}

This allows me to keep all of my data in the most important place it should be; accessibly in front of me. On the topic of pseudocode, the current implementation of instance_create(x,y,obj) is such a pain to use. Let me set some initial variables when I call the script without having use “with (object)â€? or a = instance_create, because they both require I rewrite all the variables out, even if they’re unchanged from the inherited event.

The “Advancedâ€? setting, should be exactly that, advanced. Timelines and fonts; seriously? How about a deeper view, with more emphasis on the IDE. I don’t use Drag n’ Drop, and I thought choosing “Advancedâ€? would acknowledge that, but alas; it did not, and is no more advanced than a stick to a twig.

Suggestion: Allow the customization of the view, or, give us the option to enable a real advanced setting, for those who spend more time coding, with a much larger emphasis on an IDE. This is probably my most important point, I want to be using a professional program, heck, I just want to feel like I’m using a professional program; but GM:S cannot even deliver on that. Focus more on what GM:S should be, an Interactive Development Environment. I know I’m just one of those “smelly, basement-dwelling programmer thingsâ€? but at least give me some dignity.

3D Graphics. I know GM is primarily a 2D development environment, but you added 3D support, so don’t cop out on it, there are only 3 things I want, just 3. 1, Shaders. 2, 3D Room Editor (with defined objects having a simple 3D bounding box). 3, Access to vertices of models, or even better, support for .obj and animated bones/models.

I know this may all sound fairly, negative, and while that was my initial intention, I want to make it clear; GM has always had a lot of potential, even more so now, but it’s buried beneath a layer of terrible usability, lackluster design, and frustrating quirks.

If anyone from YoyoGames is reading this, please, do yourself and your customers a favor, and hire a professional software designer (As I said before, I’d be willing to do it for free). Usability and functionality are far more important and valuable than any theme, or any petty update. If professionals can’t properly use your program, then you’ve done them a disservice by taking their money.

(posted to GMC titled "GM is an IDE; with the functionality of a rock.")

Comments

Juju 11 years, 3 months ago

1) GM:S seems to be a facade covering what is basically GM8.1, a program with much the same limitations.

2) IDE stands for Integrated Development Environment.

3) Those 3D suggestions involve a fuckton of work.

Gordy 11 years, 3 months ago

1) I haven't used gm8.1 much, only gm8.

2) seems my book of abbreviations needs some work

3) GM is already using D3D and openGL?, both of which have many well documented libraries on the topic of models, shaders and animations.

Juju 11 years, 3 months ago

1) GM8 wasn't much better. GM has never been well designed in terms of it's GUI.

2) Graphical User Interface :P

3) Implementing all those libraries is going to take a lot of time regardless, time that these guys aren't going to spend. Consider the GUI - it's a mess. You think they're going to do a 3D editor well?

4) Could you link us to the GMC topic? I can't find it.

JuurianChi 11 years, 3 months ago

I think this is the url.

http://gmc.yoyogames.com/index.php?showtopic=565589&pid=4177613&st=0&#entry4177613

Juurianchi:Winning the internet since 2004

Gordy 11 years, 3 months ago

@juju, yeah, I tend to use the term UI (user interface) because GRAFICKS R N0T ERRTHANG.

@jurrian, yep that's the url.

Mairu 11 years, 3 months ago

Quote:
Just, let me open more than one instance of GM:S, please.
Unless I'm not understanding you, you can. Maybe you bought it from Steam, maybe that works differently? LOLIDK ¯\(°_o)/¯

Quote:
The new theme (gmHTML?) is.. interesting, to say the least.
No, it's just gross.

Quote:
And don't you dare try and say 'but you can change the theme!' because that functionality is near useless and only aids in making GM look even more abhorrent.
It makes it look virtually identical to the previous versions, you know, the ones you like? The colour coding looks bad, but you can change that too.

Quote:
What I want: the ability to open multiple code editors/sprite viewers/sprite editors/script editors at a time.
That'd be nice, but I imagine that multiple code editors would become a bit of a nightmare to manage, unless GM forced you to name every "Execute Code."

Quote:
Trying to copy some RGB color values from a sprite becomes physically tiring
I'm not a huge fan of the built in sprite editor myself. I use GraphicsGale for pretty much everything.

Quote:
GM is an IDE; with the functionality of a rock.
Don't underestimate the power of rocks. >=(

Gordy 11 years, 3 months ago

@mairu, yes I'm using the steam version, and I can only have one instance running at a time.

Quote:
No, it's just gross.
It really looks awful, I don't know what they were trying to achieve, but they missed, hard.

Quote:
It makes it look virtually identical to the previous versions, you know, the ones you like? The colour coding looks bad, but you can change that too.
When I set the theme to "GM8.1" the background of the editor is still dark, and the buttons/toolbars are still a different size. (changing the ui colors to something decent takes time, i shouldn't be the one trying to make a program look less ugly.)

Quote:
That'd be nice, but I imagine that multiple code editors would become a bit of a nightmare to manage, unless GM forced you to name every "Execute Code."
What I mean by multiple code editors was, code windows; so, like having them side by side to compare.

Quote:
I'm not a huge fan of the built in sprite editor myself. I use GraphicsGale for pretty much everything.
I don't mind the sprite editor too much, but it certainly leaves a lot to be desired. It seems like they modelled it on MS paint, tried adding more, and then gave up.

Quote:
Don't underestimate the power of rocks. >=(
True, at least with a rock I create a playable game.

Nehemek 11 years, 3 months ago

The only thing about the new room editor is that to delete a instance you have to:

a)Shift right click (is annoying)

b)Right click, opens a menu select delete (much more annoying)

The new dark theme is horrible, but I heard theres a way to change it to light mode.

YES! Having mroe than 1 sprite editor at time or code editor would save so much time they really need to add that.

I heard somewhere that they took away the command object_addevent thats terrible is very usefull for making atuoupdaters or patchers without needing to download again the whole file.

So the only thing that studio brings is the export to diferent platforms, but after that is kinda bad (compared to other versions) the compiling is very slow (at least in my computer) and whats that about they put it on Steam? Really? Achievements for a program????

Gordy 11 years, 3 months ago

ahaha, I completely forgot about the achievements! I couldn't believe it when I got one for running the game, and adding a room.

Mairu 11 years, 3 months ago

Quote:
I'm using the steam version, and I can only have one instance running at a time.
I hear you can get around the Steam thing by running it in offline mode and in sandboxie. Bit of a pain, but that's all I can suggest.

Quote:
the buttons/toolbars are still a different size.
I'm not sure that's a big deal really. It seems like something you just get use to over time.

Quote:
(changing the ui colors to something decent takes time, i shouldn't be the one trying to make a program look less ugly.)
True, but it's something long term GM users will suffer from more than new ones.

You can import this file through File > Preferences > Scripts and Code, if you want to try out a colour scheme based on the original: olde-time-colours.col

Quote:
code windows; so, like having them side by side to compare.
Ah, that would be cool. =P