Assignment 01
August 31, 2026
Intro
For my second year of the EAE Master’s program at the University of Utah, I’m taking Systems Design (or Engine Programming, not to be confused with Systems Designs in the Design Track). Over the course, we will be building our own engines, using a few different libraries provided by the instructor, Tony Kanell.
The first assignment involved setting up a Visual Studio Solution and setting the proper dependencies.
Gameplay Footage
Window Details
I made some minor adjustments to the application window to display my website icon, my name, the graphics architecture, and debug information.
Logging Details
This is an image of the log file generated by ‘MyGame’. Note the added log messages noting the successful initialization and clean up of ‘MyGame’. The logging system in this codebase is fairly straightforward to use, just requiring a call to eae6320::Logging::OutputMessage.
Additional Thoughts
Dependencies on the Graphics Library
In the current codebase, the only project that needed an added reference to the Graphics library was the the Engine/Application library. Other libraries (such as cShaderBuilder.d3d.cpp line 56 in Tools/ShaderBuilder) mention the Graphics namespace but do not need an added reference since they do not actually rely upon compiled outputs.
Code organization
I think that the code organization is great for the start of this project. When I took Graphics Programming through the Computer Science Department, I tried to organize my code similar to how I thought a game engine should be structured. Looking at this codebase makes me excited to hopefully make some better decisions about my code structure that for that previous project.
One nitpick I have is that I’m generally not a fan of prefixing. However, using m_variable to indicate a member variable is substantially better than something like bVariable to indicate a variable type.
I’m looking forward to the class! Like many people, designing and piecing together a game engine has been a goal of mine. It will be nice to have the structure and support of a class to do so.

