Post

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.

Project downloads: x64 x86

Gameplay Footage

Window Details

Assignment screenshot

I made some minor adjustments to the application window to display my website icon, my name, the graphics architecture, and debug information.

Logging Details

Assignment screenshot

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.