Intro
One ongoing area of side projects for me has been game development. It's an area which
I've often found interesting, and while the only games I've completed so far have
been small games for Ludum Dare with the deadline hanging over, I've often had a few
larger side projects running around.
In general for these side projects, I tend to write a lot of the lower level code myself,
mostly because it's something that I enjoy learning about. Part of this means that I can't
just rely on the framework or engine rendering my game correctly, and instead need some way
to test it. Unit tests clearly aren't enough here, while they can verify that I'm
calling the functions I expect, they really can't verify that this results in something
cohesive being rendered to the screen.
Inspired by tools that exist in my day job of web development like Percy,
I decided to take the approach of comparing screenshots taken to reference screenshots.
For some reason, I was under the impression that Factorio had
used a similar approach and detailed it in one of their FFF blogs, but when researching for this blog
post, I was unable to track this down. They certainly perform integration testing
but it appears screenshots are not involved.
Learn how to capture screenshots with Rust + OpenGL