Skip to main content

AI Assistance in Game Development

· 2 min read

I use GitHub Copilot mainly for Code Reviews. I think it's tremendously helpful when working on a solo project with a large codebase as it hints at typos and logic issues that easily slip under the radar when writing only coarse-grained tests for the sake of it. I also tried Claude and Gemini. All those tools are sometimes helpful, sometimes annoying.

What's been on my mind: when I accept code I haven't thought through myself - do I still understand what I'm actually building?

Onwards to the rendering model

· 2 min read

The first abstractions for the rendering model have found their way into helios, and the first example application has already rendered its first primitives onto the screen (aka the Hello World! of 3D Computer Graphics).

de Vries' book on OpenGL is proving (once again) to be very useful, as it provides some common, coarse-grained abstractions that serve as a great starting point for further refinement. Think of separating concerns like Meshes, Materials, and Shaders.

Event Queue and Application Controllers

· 2 min read

The endless tale of yet-another-framework

I feel that I've spent most of my recent time with refactoring, restructuring, and developing throwaway prototypes that get discarded every weekend - and that's a good thing. The time between development cycles is currently filled with the intense evaluation of algorithms in digital image processing and reading through Game Engine Architecture by Jason Gregory, which repeatedly provides me with new perspectives.

Updates to main()

· 2 min read

In the spirit of yesterday's refactoring efforts...

main() serves as a great example of yesterday's restructuring in practice: The OpenGLDevice is created, then passed to a GLFWApplication which manages window creation and the main loop. The ultimate goal is for the application to own and provide the input system, further simplifying the program's entry point and properly encapsulating platform-specific details within the appropriate module.