Why script?
You might ask yourself, why should I use any scripting language if I can implement everything I need in C++? There are a number of benefits to providing a scripting environment to your games. Most modern games really consist of two parts. One of them is the main game engine that implements the core of the game (data structures, processing algorithms, and the rendering layer) and exposes an API to the other component, which provides details, behavior patterns, and action flows for the game. This other component is usually written in a scripting language. The main benefit of this is that story designers can work independently from the engine developers and they don't have to rebuild the whole game just to modify some of its parameters or check whether the new quest fits well into the existing story. This makes the development much quicker compared to the monolithic approach. Another benefit is that this development opens the game to modding—skilled end users can extend...