With a view to perceive how one thing is “arduous coded”, it is advisable to perceive what we do to the code with the intention to make it run in your gadget. Code is written in a human-readable format, however there may be numerous optimization and adjustments that get carried out to the code earlier than the gadget can run it. This course of is known as compiling and linking. The results of compiling and linking code is an executable file that the gadget can perceive, however people can’t. The executable that has been compiled and linked is a snapshot of the code on the time that was compiled and linked. Any adjustments to the code require compiling and linking once more to ensure that the executable to mirror it.
This system typically must make selections primarily based on inner values whereas the sport is working. More often than not these values are data-driven, that means they’re learn from recordsdata outdoors of the code (e.g. learn within the info from this config file and retailer it as whether or not to run the sport in windowed mode). When the sport must determine whether or not to run in windowed mode, it checks the file, grabs the related knowledge, and makes use of that to determine. As a result of it’s pulling this info from that config file, the identical executable can deal with each windowed and non-windowed mode. We don’t have to compile and hyperlink the executable once more.
If working windowed mode had been arduous coded, someplace within the code itself there can be a variable like “Windowed = true”. Then, after compiling and linking the executable, that executable would all the time run in windowed mode and by no means have the ability to run in full-screen mode. The one technique to change this is able to be to vary the code, then compile and hyperlink the executable once more. Arduous coding is quick and straightforward to do as a primary go of issues, it’s a fast technique to check stuff domestically for those who can compile and hyperlink the executable your self.
We are able to’t give out the code as a result of it’s copyrighted and our mental property. We are able to solely give out the executables after compiling and linking as a result of they will’t be learn by people. Which means that any adjustments made to code are pretty tough to distribute – that is what patches are. Arduous coded values can solely be modified once we distribute a brand new executable, whereas data-driven values like settings in a config file are a lot simpler to vary as a result of they don’t require compiling and linking, they solely require anyone to switch the file being learn and never the executable itself.
[Join us on Discord] and/or [Support us on Patreon]
Acquired a burning query you need answered?