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();
}
My GM rant
Posted by Gordy on Dec. 31, 2012, 8:15 a.m.
I posted about the UI a while ago too. I posted the link in your GMC thread.
I'm going to pretend I didn't see that Obelisk.
Programming in GML < Creating your own scripting language.
Nah just kidding, but seriously… I now hate GML with very much passion after switching to a real language (C++, and Java). Although GML is great for beginners I hate how it has so many differences then Java, and C++.There is just so much wrong with GML, that isn't worth getting into.1. …Additionally, any content that opens 64digits.com to potential legal persecution is not permitted.