Season one
Devlog
One engine, built in order, nothing skipped. Episodes go up on YouTube; the written version follows here.
Part I · Getting pixels on screen
-
01 Setting up LWJGL 3 with Gradle Dependencies, natives per platform, and a project that still builds in six months.
-
02 A window, a context, a loop GLFW window hints, the OpenGL core profile, and a fixed-timestep game loop.
-
03 The first triangle VAOs, VBOs, and the smallest pair of shaders that will draw anything at all.
-
04 Matrices, a camera, and JOML Model, view, projection — and where the transform actually goes wrong.
-
05 Textures, without a helper library stb_image through LWJGL, filtering, mipmaps, and sRGB.
Part II · Making it a renderer
-
06 Meshes, indices, and loading OBJ files Element buffers, vertex layouts, and why the normals come out flat.
-
07 Lighting that looks wrong, then right Blinn-Phong, normal matrices, and gamma — in that order, for a reason.
-
08 Batching and the cost of a draw call Measuring before optimising, then instancing what's left.
-
09 A frame graph you can debug Framebuffers, render passes, and RenderDoc on a Java process.
-
10 Garbage-free Java in a game loop Allocation in hot paths, off-heap buffers, and what the JIT forgives.
The plan past episode ten depends on what breaks first. Shadow maps and a scene format are next on the list; if the engine turns out to need something else, that gets recorded instead.