11-10-2012, 05:53 PM
I agree with a lot of what you've said. For this particular title, it does very much depend on what you want from it. Optimisations can be necessary in these sorts of games, too, but with more subtle uses (usually based around memory management), for things such as keeping enough memory to have seamless, large maps (such as most 2D Zelda games have). Storing the entire map in memory is not going to cut it, so you can decide whether you split the map up into segments (loading in each segment as you enter it), or take a more procedural approach, and load in tiles as you come nearer to them.
A lot of it does come down to preference, I will definitely agree (and as you may have noticed, I strongly prefer the code-based system), however, most languages will give you greater control than a GUI system. This is simply because the GUI systems compile down to a specific language (usually C/C++, or sometimes Java). However, they tend to concentrate on just the elements of the language that the creators deem useful to game making. While this is fine in a lot of cases, you can no doubt see how this might be a limitation, as it may even cut out features of the language to such an extent that it ceases to be Turing-Complete (though most won't strip it down that far).
There is another benefit to code-based systems, other than physical changes in performance, and that is simply that you have access to what the program is doing. With a bit of deeper understanding, you can trace this back and work out precisely how the computer is interpreting your instructions, and often this can make debugging a much simpler affair, as well as allowing you to take shortcuts and such.
A lot of it does come down to preference, I will definitely agree (and as you may have noticed, I strongly prefer the code-based system), however, most languages will give you greater control than a GUI system. This is simply because the GUI systems compile down to a specific language (usually C/C++, or sometimes Java). However, they tend to concentrate on just the elements of the language that the creators deem useful to game making. While this is fine in a lot of cases, you can no doubt see how this might be a limitation, as it may even cut out features of the language to such an extent that it ceases to be Turing-Complete (though most won't strip it down that far).
There is another benefit to code-based systems, other than physical changes in performance, and that is simply that you have access to what the program is doing. With a bit of deeper understanding, you can trace this back and work out precisely how the computer is interpreting your instructions, and often this can make debugging a much simpler affair, as well as allowing you to take shortcuts and such.