If you were to ask “What are the most difficult aspects of testing a game engine,” an answer you’d hear a lot is “rendering.” What things look like when they’re drawn to screen–how do you test that? Well, to know that things drawn to screen look right you need to compare the rendered image to an image you can expect to be static, unchanging. The first approach is to create an image test fixture of the expected render image and compare that against the render image itself. However, this approach is extremely limited. As unfortunate as is is, we must leave the domain of simple static tests, and enter into the wacky world of dynamically testing.
Recently my laptop started falling apart, and I needed a new device to continue my development work on Sappho, previously Hypatia Engine, as well as other development endeavours. I was looking into a replacement laptop, when I had a thought – what if I could develop everything I needed to from an iPad? After some careful thinking about the feasibility of it, I decided that I could probably do everything on one, and so I set about acquiring one. Thanks to Blake (a very generous HSO staff member), I got my hands on one.
Lillian here, hoping to shed some light on my plans for Hypatia Engine! This post is a follow up to the earlier blog post I made about short term goals for Hypatia Engine.
In summary: I want to standardize an amazing API for easy interaction with perfect implementations of essential game components/objects. There are generic game concepts which persist through almost any 2D game genre: platformers, sidescrollers, top-down, etc. The core features/components we need to focus on perfecting to have a kickass 2D game engine are:
Last Halloween I made a special Halloween Release (0.3.0) of Hypatia Engine. Along with it, I released this tutorial video on creating basic scenes with Hypatia Engine:
I’m trying to make a habit of releasing Hypatia Engine on its birthday: Halloween! This year it was a smashing success; Hypatia Engine was successfully released on Halloween.
Here’s the Leadpages landing page I used to promote the Hypatia Engine Halloween release (I work at Leadpages; thanks Leadpages!)
I have a sort of mental roadmap of where I want to take Hypatia Engine. It’s nothing formal, but I thought it’d be good to put out there.
I feel like a lot of focus went into bigger picture stuff, but what I really want to focus on are the CORE graphical utilities before getting into game state, or any of that stuff. These utilities should be usable independent from the core game logic. I want a solid foundation before going forward, and I really want to avoid accruing technical debt.
My current employer, LeadPages, hosted a hackday party. I believe they do them once a month (I’m new here). For one of the challenges, I submitted a solution to reproducing a given image with CSS and HTML, but that only took a short while.
LeadPages paid me to work on Hypatia Engine all day! In that time I managed to get caught up on PRs, cleaning up the project, updating the docs, and some miscellanea. I finally released Hypatia Engine 0.3.4 after the aforementioned changes– I had been sitting on unreleased features for a while (see: changelog).