After a semester of building the core systems in Game Engineering 1, now we will focus on asset pipeline and some of graphics systems in a game engine. I personally look forward to this class so I can learn more about how the graphics system works and how some binary data is rendered to images on the screen.
The goal of the first assignment was to create a basic structure for the Visual Studio solution working and use it for the rest of the class. This class we will be using Git, which is a new version control system for me. So and added requirement for this class for me was to understand the basic operations in Git.
The final objective was to draw a triangle to draw a triangle using OpenGL and Direct3D.
The image is for Direct3D. If the project setup is done correctly, the OpenGL output is the same.
We separate the various files in the Visual Studio solution in different folders. Each folder has its own purpose.
We add all the authored assets and shaders in the assets folder. All the code, which are basically various Visual Studio projects is contained in the code folder. The last folder is the temp folder which contains all the temporary files which are not needed to be pushed to the repository. They can be generated either by the version control software or Visual Studio. These files include intermediates, executables and game data. This reduces the size of the folder to upload to version control significantly.
The assets are separated form code so as to separate the code from the graphics stuff. The artists know where they need to add the assets without actually modifying the project. You can modify assets without changing any code. And, most importantly, the assets need not be built every time anyone makes a small change in the code.
We separate game code and engine code for the sake of code isolation. We should be able to develop an engine for multiple games without any game specific code. We have started separating game and engine code since the start of engine development course.
Time Estimate
Reading: 2 hours
Solution Setup: 2 hours
Coding: 30 min
Debugging and Fixes: 1 hour
Writeup: 1 hour
Download Links
Download Direct3D
Download OpenGL