| By removing the power from your design team you are creating more work for the software engineers and removing tools from the creative team. An ideal scripting language: - Allows designers to build complex gameplay elements, define complex ai behaviors, create gameflow with minimal work from the software engineers. - Handles memory allocation/destruction behind the scenes - Does not crash the game when an error occurs - Handles multithreading and/or events - Does not allow designers to shoot themselves in the foot - Has a simple and clean syntax - Allows software engineers to expose their APIs to it easily - Can be reloaded on the fly If you control the feature set of the scripting language then it becomes a crucial tool for rapid development of your game - empowering the creative team to make their game and allowing the software engineers to concentrate on all the other stuff that needs their attention. In my opinion visual scripting and component systems can be a useful addition to an engine, but I have always seen a usefulness in having a scripting language layer. (I have shipped multiple high profile console games with more lines of script code than of game code and design teams matching the size of the programming teams) |