Game Engineering – II | Assignment – 1
This first assignment was focused primarily on getting the project up and running. This involved creating our custom Graphics project and integrating it into the solution as a static library, learning (revising what static libraries are and how they work, external libraries and custom libraries etc.) and also how to write and separate code based on what platform the solution is being built for (x64 or x86).
The following is a discussion about firstly, what the requirements for this assignment were and secondly what my thoughts were and what I learned from this assignment.
Here is the executable MyGame_
For integrating the Graphics library into the solution I needed to add it as a reference to the Application project and, although Enum’s defined in Graphics.lib were being used in the ShaderBuilder project, it did not require the static library as a reference (because it would only be required as a reference if ShaderBuilder was using functions defined in the library). Although this was mentioned and (I think) also discussed in class, I still ended up doing that which started giving bizarre LNK1120 errors and this frustratingly took me more than an hour to figure out. I still don’t know what the specific reason was for this, (maybe we’ll discuss this in class?).
Another important thing I figured out (after two hours of banging my head on the keyboard trying to figure out a problem rooted in it) was the difference between a reference and a dependency. Whether a project is listed as a reference of another project or as a dependency, it will (must) always be built before the other project. The reasons for that, as I understand, are slightly different. A project listed as a reference has functions defined in it that are being used internally by the one referencing it. A dependency however, arises between projects if one requires a value or variable (or some such) that is created or is an output etc. of the latter.
As for the class itself, my expectations are similar to what I expect from other classes i.e. to learn more about making games in general and more specifically engine programming. I also understand that this class focuses on graphics programming and that it is difficult in terms of the requirements especially since in my undergrad, graphics programming was a class that I struggled with. I won’t lie that I considered more than once about dropping this class which would be the easier thing to do, but I’ve realized that I am an engineer first and shying away from a challenge now, even if I eventually crash and burn, will hurt my prospects in the game industry. And so, what I really expect from this class is to become a better programmer.