1st Wrap-Up

Note: These Game Engine blogs are a series of write-ups I did when I was in school for my master’s degree. I took a series of three courses run by Ed Keenan where we built a game engine from scratch in C++.

So from Week 4 onward there was some very not sexy stuff that’s very crucial to the engine. I’m going to do a quick summary of each just so you know what’s been going on.

File System

We wrapped the Windows File System to do everything that it already could do, but with better error reporting and an easier to use interface. The File System allows us to create, delete, read, write, and walk through files on the disk. This will be a huge asset to us for reading files such as 3D models into our engine.

Another great side effect of wrapping the Windows file system is that we can swap the Windows file system for Mac (or any other operating system) and keep using the same interface that we used to wrap it. So we could move our code to a completely new system and our code will still work.

Game Engine Logic

For the remainder of the quarter, we’ve used all of our libraries to create a basic engine structure and actually create some graphics. Finally! Something appears on the screen! Using our

  • PCSTree to organize GameObjects

  • Math Library to do all of the calculations

  • File System to load textures

  • And our Memory System for buckets of memory

we create a basic scene that uses multiple cameras and game objects.

Sorry for the crappy quality, but I recorded the gif off my YouTube project submission video. But as you can see there’s some super primitive models. Some have textures, some have lighting, some are just colored, and some are in wireframe. This is what was completed last quarter. I understand this is very primitive. But maybe this gives you some insight as to how much goes on behind the scene to just get a cube to spin. Coming up this quarter we’re going to get complex models animating with keyframes. I’m talking spaceship models with textures, lighting, and complex animations. It will be much sexier. I’m already into the second week of the new quarter so I’m hoping to have another combined post soon.

Previous
Previous

3D Model Converter & Quaternion Rotations

Next
Next

Math Library