G-Engine #3: Game Loop

In my last G-Engine post, I did some setup work and finally got a basic OS window appearing that could be moved around, minimized/maximized, and closed. Good start!

In this post, we’ll do a bit more planning, and then we’ll structure our code into a high-level class (Engine) that’ll be more conducive to building an engine than just shoving everything into the main function. We’ll also implement our “delta time” calculations, which will be critical for updating the state of our game as we move forward.

[Read More]

G-Engine #2: Project Setup

The previous post introduced the idea and motivation behind the project. So here we are, ready to build a 3D game engine! This post walks through some early decisions, starting from absolutely nothing to having just an empty application window that can be moved around and closed.

This is not the most exciting end result, but there are plenty of important decisions to be made before we dig into actually writing game engine code.

[Read More]

G-Engine #1: Introduction

“G-Engine” is a hobby project I’ve been kicking around for awhile. In December 2017, I finally took the dive and started in on it. This post (and those following it) document my progress and what I’m learning as I develop it.

At its core, the idea is to build a 3D game engine in C++. But building a game engine without also building a game can be difficult to do. So, for me, my goal is to use the engine to recreate a video game I’m a fan of: 1999’s Gabriel Knight 3 from Sierra Studios.

This post provides a background of how I came to focus on this project over the course of many years. It also provides an overview of what the project is and why I’m pursuing it.

[Read More]