FrostyCat
Redemption Seeker
The argument about error messages has been going on for almost 3 years, but it still isn't resolved. In fact, it's gotten worse with recent type-checking additions. If it's too late for 1.x, fine, but you can't play the 2.x card anymore.
The bug report linked above already said most of what needs to be said, but here's a reminder plus some newer developments:
The bug report linked above already said most of what needs to be said, but here's a reminder plus some newer developments:
- The "FATAL ERROR" and "VMError!!" are excessively alarmist, and the ASCII artsy-fartsy border doesn't help. I'm seeing a lot more novices blowing their top and getting worse at problem-solving after switching to 1.x than before. Error messages that incite users to lose their cool could be part of the reason. You don't have to look far from a startled coder to find a stupid coder.
- Showing operations in assembly-like terms such as "DoAdd" is just needless jargon that not even professional programmers need. What's wrong with "Invalid operands for +" for instance? Or "Unknown variable xyz" instead of "Push::Variable Get"?
- Showing internal names that don't directly appear in the IDE just causes more needless confusion. Why write "Step Event2" or "gml_Object_object_0_Step_2" when you can just write "End Step Event"?
- Instance IDs are generally useless with debug mode off, and even then it isn't immediately useful. Who could have traced 100003 back to an instance named inst_14D66E34 by the editor, for instance?
- Unexpected type errors are needlessly cryptic. What the hell is type "5" or "YYGR" supposed to mean? (Answer: undefined and real --- surprise!)
Let's be serious --- what's wrong with this?___________________________________________
############################################################################################
FATAL ERROR in
action number 1
of Step Event2
for object object_0:
Variable object_0.b(100003, -2147483648) not set before reading it.
at gml_Object_object_0_Step_2 (line 2) - show_message(b);
############################################################################################
If you plan to make GMS 2 a tool for both novices and experts, why not start with the error messages? Attempting to look smart by making errors look like the Matrix helps neither novices nor experts.Execution error in object_0 End Step Event, action number 1:
Unknown variable: b
Stack trace:
object_0 End Step Event, action number 1: show_message(b);
Last edited: