The Usefulness of Settings.ini
The settings file will contain useful, relevant variables of the game that can be manipulated by the player. In our specific example, it merely sets the resolution of the output window of our game. Being able to configure the game without recompilation saves time, and negates the need to have access to the source code to set these variables. In useful real work applications, if a game were to properly utilize a human readable, sensible settings file. Than perhaps, the player could take their settings along with them from installation to installation, like that of a LAN party, and keep their personal settings along with them. Along with allowing players to manage their own custom settings, this could also make the distribution of custom settings as easy as authoring a properly formatted lua or text file.
The benefits of allowing simple, or even complex, game settings and variables easily manipulated and set without the need of compilation is a useful feature. Offering quality of life benefits to players’ experiences, easy distribution that may foster the community within the player base, and also less developer leg work without requiring specific releases / executables for mass deployment of differing setting configurations.
The Benefits and Disadvantages of Compiled Lua
Leave Settings.ini Alone!
Settings.ini is a particularly useful file, as outline in the beginning of this post. By not compiling this file we allow it to be easily modified by the end user. In this specific example, we give the ability to set the resolution of the game window, something that the user may want to change often or on their own whim, via an uncompiled Lua file. It’s simply a matter of making trivial modifications, trivial to access.
You can try out these games via the below links. The only difference is that Direct3D will be used in the x64 version, with OpenGL in the other. They have been built and verified to work on Windows.