Why Script?
Adding scripting capabilities to your program, or even just a simple external settings file, has several advantages:
- Reduce Compile Times: Just modify a text file instead
- Make your Program Customisable: An options menu can only hold so many options - but you can give your users complete control by letting them edit text files
- Ease of Updates: If you store map data in the script files, your users will only have to download a small text file for bonus data instead of a large exe, saving bandwidth and hassle
- Save and Load Options Easily: If you want your users to be able to have their options saved so that when they next open your program it remembers their choices, a quick script file will handle that.
- Simplify Program Logic: Fold knowledge into data so program logic can be stupid and robust (Rule of Representation)
- Reduce Development Times: Write an engine that works with one map script, and then the program is complete and only requires a few more scripts.
On the downside, if you go beyond simple settings scripts and go into real-time scripting, you have to be prepared for a performance hit. However, computers get faster all the time (scripting is now a feasible option, wheras a few years ago only compiled programs would be fast enough) and I feel that the reduced development times and customisability is worth it. (Rule of Economy)