I'm trying to understand the appeal to scripting in large games.

Is it ease of development by avoiding lower level coding like C++? Thus avoiding the long compile times?

It seems scripting doesn't often have the benefits of rich tools like IDE and debugger and requires an adaptation layer to expose the low level code to the scripting interface.

Is it to keep options for changing story line and game play until later in the process? If so, at some point the scripts must be compiled or encrypted to prevent tampering.

  • \$\begingroup\$ Yes, avoiding longer compiles, allowing data driven design so designers can make changes to a game without needing development experience. Modding (which means you want "tampering"). Sometimes in a game it is as you say scripted for the designers during game dev and then they are compiled to some form of binary format for shipping the game. \$\endgroup\$
    – lozzajp
    Oct 3 '16 at 12:26
  • \$\begingroup\$ Godot Engine has a very rich scripting language that provides debugging facilities, code competition and other perks. But you can program in C++ if you really want. Unreal Engine's blueprints are also very rich in functionality. It depends on the game engine and how much effort is out on the tools it has. \$\endgroup\$
    – rlam12
    Oct 3 '16 at 14:08