Interesting bit came up at work with our bi-weekly “brown bag” lunches with our programming team – Scripting vs Native C++ code. A lot of game developers, and even in many other realms, some of the code base may be split into Lua or Python for easy, quick iteration. I know many studios, such as many of the Call of Duty studios, use primarily Lua for their gameplay scripts.
The argument is that is easy to write, iterate fast, and provide to employees who don’t have deep programming knowledge (like some gameplay designers and such). It’s perfectly legitimate too, there isn’t anything inherently wrong with the scripting languages augmenting a huge C++ code-base engine. However, there are caveats such as managing two different languages and creating wrappers for stuff. Also, Lua doesn’t have proper debugging tools many C++ programmers are used to, and when tied into that code-base, it can become a nightmare to debug.
Enter C++ code thats runtime-compiled and used as a scripting language.
Fantastic read, pretty classy too. Each script is a single cpp file that gets compiled into a dynamic library which recompiles everytime the file changes, even during gameplay. The scripts even get a nice little compression size reduction too. Good read.