I can't speak for non-programmers, but creating a decent game with no programming knowledge at all and low-budget is a myth. The same goes for RPG Maker. It has never been done. A pure event-coded game engine is just not doable. It will either fail because of performance issues or because of missing features. RPG Maker seems to be somewhere in between.
Also in the end a
large event-system is harder to learn than just learning to script imo. For those of you who worked with big enterprise development environments probably know that they first had to spent a lot of time just learning where all the buttons and options are located. Scripting from scratch is sometimes just faster and easier.
I find RGSS incredibly bad for
experienced programmers/scripters. Debugging is a real pain and no compiler. So many prints and backtraces like "p caller[3]" and such. Also no compiler directives that remove code for the release version and such. I don't like it and I don't call it simple either. Debugging in RGSS can be extremely time consuming and highly frustrating and the error could be a simple upper-case character resulting in a nil value 20+ calls later before the crash.
Simple? No!
The second problem is that some of the closed internal code is kinda... weird and sometimes not documented at all. Like some of the accessors like the Bitmap.font accessor. It's really terribly bad and causes undocumented side-effects.
Simple? No! Frustrating? Yes! Just a huge trial and error feast. I had that problem recently here:
http://forums.rpgmakerweb.com/index.php?/topic/30140-again-dispose-problems/
The script-list is a huge mess once you get over a 100 custom scripts. No tree-architecture, no extra area for a separate header or file version, color coding, nothing. Just nothing... It's really bare and clearly not intended for serious scripters.
Simple? Yes (if you don't count all the scripts you have to create to make up for it).
Messy? Yes!
Some of the commands are very unclear:
#-------------------------------------------------------------------------- # * Set Move Route #-------------------------------------------------------------------------- def command_205 $game_map.refresh if $game_map.need_refresh character = get_character(@params[0]) if character character.force_move_route(@params[1]) Fiber.yield while character.move_route_forcing if @params[1].wait end endOkay I know what it does. But what parameters does it take and what are it's types? Right... You don't know! Have fun digging into the 'sub-method-calls' all the way down to figure it all out.
Simple? Maybe. Time consuming? Yes! Documented? No!
And this feature bugs me the most: When a script crashes, I get some interpreter error and the focus in the script editor is lost and it redirects me to the Game_Interpreter, which is obviously not the cause of the crash. Then I have to scroll down through a lot of scripts to find the script where I left off. Repeat this 25x before I find the bug. 25x of useless scrolling and searching for my own script... sigh... This engine is so not meant for huge or totally customized projects...
Frustrating? Very!
Note: I now use notetags like [busy] and then ctrl+shift+f that to get back to my own script relatively fast. Still sucks though.
And no pointer-arithmetic in Ruby... I needed it so many times already...
I can't change the database without hacking/scripting something to edit it first. You need to download something like Tsukihime's database script. But why is it not build-in? So often did I need an extra column or lookup table...
Simple? Absolutely not! They tried to make it simple by hiding it from the user, which only works for non-scripters. You might be better off with your own external database in an RPG Maker Project or such.
But I do find the help-file very very useful. Easy to search, has all the parameters listed and such. Just not complete. I have absolutely no problem navigating it.
Simple? Yes! Much better than the MSDN for example. But no examples, and again, rather incomplete.
And the efficiency of some of the default internal code for large maps is absolutely horrible. You'd expect some kind of build-in quad-tree algorithm or something to organize events on a map. But nope. Just a simple vertical + horizontal check... Sure it works for 10-200 events on a mediocre PC. But that doesn't work when you have 400-900 events on a map. Sprites in this game are really inefficient. Get ready to rewrite!
Simple? No! Time consuming? Yes! (took us nearly 3 months to 'fix' that, and no, splitting it into smaller maps = just ugly). It has nothing to do with the programming language. Some of the internal and open-source code of RPG Maker are simply bad and not efficient for large maps/projects.
I also expected control over when a sprite is redrawn by the GPU and such. But we have no control over those things. The same goes for Windows. The game just redraws as it sees fit using the z-indices or something. This can lead to highly inefficient scenarios. In XNA we had to redraw everything (by default) every frame and it gave us a lot of power because we could simply decide not to draw the other 900 inactive events nor update them with just like 10-if-checks per frame. Here we can't.
Simple? Yes, although be it by removing some of the scripters power at the cost of performance... And if you have to work around it, it is no longer simple but instead much harder than it needs to be...
We can't add new buttons to the editor which lead to me creating a lot of external stuff and binary tables to circumvent the region limit (1 per tile) and to achieve performance increases.
Simple? No!
No build-in version control system, no support for team-development, etc.
Simple? No! Duplicating the same project and copy-pasting everything back into one project again all the time (from the other team members) is very error-prone! It feels like the 90's.
And I could go on forever... Bottom line:
"RPG Maker is not meant for large and complicated custom projects (or teams) and seems to be aiming mostly at the non-commercial use of it and prototyping".
If they want to make things easier they can start by making ALL of the code open source. Then we may also get HD resolution without FPS drops.