Automated Testing For Visual Novel Games (Proof of Concept)
11/23/2020
If you're making a visual novel, you know that it's important to make sure that all paths through the game work as intended. You don't want players to go through your game and end up with a crash or some other unintended result. So, wouldn't it be cool if we could build a system that automatically goes through every single combination of choices in your game (in a short amount of time) and tells you which parts of your game you need to fix?
This was one of the motivations for me to develop my own game engine, which hopefully within the next year or two I can release for other people to use. But for now, in this video I'll demonstrate what I've achieved so far: a working proof of concept.
I don't think any other visual novel engine has anything like this (or what I have planned) so let me know if you are interested or know about what other engines have done. The closest thing Ren'Py has is the warp command but even the documentation explains it doesn't actually initialize any variables, which is the whole point of what I'm demonstrating in the video.
Overall, I'm almost finished porting Detective Butler to the new game engine, and it's been going so well that I'm really optimistic about getting builds on other platforms before the end of the year. I have a small to-do list of missing features, mainly just the user interfaces, that should be all implemented by the end of November. Then December will be dedicated to testing the game and getting it to run on Mac and Linux.
Also, I only recently realized that because I've ported it to my own engine, I might eventually be able to also target mobile platforms (Android and iOS). Although that won't happen for a while, it'll be nice to finally have the game playable on your phone, too. I always thought it would be a great fit for phones, but the old engine was never capable of building for it.
So anyway, look forward to next month, because we've got a lot of stuff happening! And don't forget to watch the video above -- I've been wanting to do more video posts where I can actually show what I'm doing instead of just talking about it. Enjoy!