In general I don’t like scripting languages. But you have to admit it’s much faster to iterate changes in a scripting language than C++. Here’s a simplified list of pros and cons:
Pros of C/C++:
Compiler helps you find errors
Full access to the engine.
Pros of Scripting:
Easy for users to modify
Cons of C++:
Hard for users to modify
Cons of scripting:
Access limited to exposed interfaces
It’s true that any language which can be interpreted can be compiled, and any language which can be compiled can be interpreted. So how’s this for an idea:
Your scripting language is C or C++ (why invent a new language?) which is interpreted and has full access to all your other code. Obviously your script can only call into your engine, and not vice-versa, but this is the only limitation.
Since it’s a script, it is valid and reasonable to hardcode numbers into the script.. You can tweak these numbers and change the script while the game is running to play around with settings.
When you are ready to ship a build, switch your flag to compile rather than interpret the scripts. Or, if you wish user mods, just leave it interpreted.
This is one use of a script system that makes sense to me and I’d fully support in a game project.
Note: there is a library called AngelScript but I’m not sure if it’s capable of doing everything I outlined here. If so, let me know!