Benji Flaming

Architectural Friction and Testing

(Click or tap to enlarge)

I’ve continued enhancing the rendering infrastructure this week. The details of the work would be unlikely to make for interesting reading, but the results are an improved rendering pipeline which (when completed) will offer two important benefits.

Firstly, this system will allow much faster and simpler automated testing. In a fraction of a second, a well-crafted automated test suite can perform a degree of in-depth testing which would take hours if done by hand. As a “solo indie” game developer, it is critical that I minimize the amount of time that I have to spend trying to reproduce and isolate bugs, and automated testing is one of my core strategies for mitigating that particular time-sink.

Secondly, the new rendering system offers major improvements in what might be called architectural friction. By this, I mean that it makes certain types of bad or lazy software design difficult or impossible, while helping to facilitate good software design more effortlessly. In my experience, optimizing for architectural friction is one of the most important aspects of maintaining a growing codebase over time, and I think the days spent on this now will pay huge dividends in the months (and years) ahead.

(Archived gamedev post from 2026-04-17)

Where to next?

View the previous gamedev post
Browse all gamedev posts
View a random gamedev post
Try my video game demo
Follow and support my work
Visit the homepage

Copyright © 1998-2026 Benjamin Flaming
All rights reserved.
This website does not use cookies.
Some 3rd-party music or video players
used here may set their own cookies.