Post

Assignment 06 - MeshBuilder

October 6, 2026

Objective

This week, I introduced a new mesh file format and a MeshBuilder class to the game engine. These added features simplify the existing the game code and allow for the creation of far more complicated meshes.

Gameplay

Download x64 .ZIP Download x86 .ZIP

Gameplay Footage

Footage of a new pyramid mesh.

New Mesh File Format

Having human-readable asset files allows for easy edits and adjustments from humans. This is especially helpful for version control software and files that are edited by many different people. I was also inspired by the .obj file format. In the future, I plan to have vertex normals and texture coordinates. The current table structure will allow me to easily add new tables for normals and uvs. I imagine that I would update the faces table to include relevant index references for those new tables too. The table follows an x, y, z structure, which should be apparent to most programmers.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
return
{
	vertices = {
		{ -0.5, -0.5, 0.0 },
		{  0.5,  0.5, 0.0 },
		{  0.5, -0.5, 0.0 },
		{ -0.5,  0.5, 0.0 },
	},

	faces = {
		{ 0, 1, 2 },
		{ 0, 3, 1 },
	}
}

Debugging the MeshBuilder

Show a screenshot of you debugging your MeshBuilder program:

Assignment screenshot