Coding Philosophy
Code is read many more times than it is written. Therefore, legible code is of high importance. This project makes every effort to write understandable, well designed and well documented code. When a person reads the code for the first time, they should not be blindsided with confusion. Instead, they should be able to navigate and understand the code and project structure relatively quickly.
Modern C++ language techniques like lambdas, templates, thread objects, list initialization and the Standard Template Library can greatly simplify code. These are taken advantage of at every possible opportunity. There is simply no valid reason to use legacy coding styles in a project of this nature.
This project only supports x64 hardware. Given the prevalence of it and operating systems that support it, as well as the performance boost it gives, there is no reason to continue supporting x86. Much like 16-bit programs have disappeared from the development landscape, 32-bit programs have also had their day.