C.T. Matthews Newsletter

Subscribe
Archives
August 14, 2025

How to play my new game, widescreen support and open source code

Hello! I’m back from vacation and I spent most of the last two weeks digging around in my engine’s codebase, improving its widescreen support and releasing its random number generator code as open source. After that, I finally got around to giving my game a tutorial.

How To Play

My new game requires less up-front knowledge than my previous games Chessplosion and Ducky’s Delivery Service, with no complicated bomb patterns to learn or strange movement physics to get to grips with.

So instead of going with a long playable tutorial, I made a brisk arcade-style How To Play demonstration. Here it is:

Hopefully that’s all anyone will need to get started with the game. There are still plenty of other skills you need to master along the way, especially on the higher difficulty levels. But as long as you know how to bump into enemies and send them flying into other enemies you can start playing.

Widescreen support

The pink scrolling background in the How To Play video extends all the way to the edges of the screen when you’re playing the game in widescreen. That same pink background acts as a widescreen border during gameplay (like what you see on a modern rerelease of a 4:3 retro game), and it doubles as a background for menus.

It even works on ultrawide screens:

The game's options menu in an ultrawide aspect ratio, with a pink patterned background extending to the edges of the screen.

There’s still the option to play the game in 4:3 with black bars on the side of your widescreen monitor, if that’s your sort of thing. For everyone else, hopefully the game will feel a bit more like it’s at home on your screen even though its gameplay area is at a fixed 4:3 aspect ratio.

My engine’s random number generator is open source!

I released my game engine’s random number generation code as an open source single-header C library! The random number generator algorithm itself (PCG-XSH-RR by Melissa O'Neill) is available under the open source Apache license, and everything else in there (i.e. my own code) is public domain.

So if you want to take a look at how my engine's random number generation code works and what functionality it has (e.g. the option of making sure you never roll the same number two or three times in a row, or making sure you don't roll the same number as any of the past 5 rolls etc), check it out! And of course, feel free to use or adapt any of my code in that file to your own games.

Anything else?

I love the Bishi Bashi series of three-button arcade minigame compilations but I'd somehow never seen its twin-stick spinoff Gachaga Champ before. Its minigames are included in the PAL PlayStation 1 port of Bishi Bashi Special, which I own, but I wasn't prepared for how much better the original arcade game feels than the console port. Forcing the players to mash to race each other to the next minigame is inspired! I hope I can make a game that has this much energy one day...

I was shocked to learn from a YouTube comment that the old SNES emulator ZSNES had rollback netcode all the way back in November 7, 2000, six years before the original public release of GGPO. ZSNES called it "back buffer" netcode at the time, but the developer's description of it in that YouTube comment is identical to how rollback netplay works. It's fascinating to know that the system I use for my own games' online multiplayer has been around for 25 years!

After hanging out with my friend lilybat while she played the Namco arcade game Splatterhouse on her stream, I decided to give the game a try myself. The next day I cleared it with no continues and uploaded a commentary video! The first half of the game is very static and straightforward, then later on it suddenly introduces a dynamic footsies-based boss fight and a huge corridor full of randomly moving bubbles, which is by far my favourite part of the game to play. I highly recommend giving the game a try yourself if the bubble corridor looks fun to you too. The arcade release even has a stage select that you can enable via a DIP Switch, so you can even jump straight to the bubble stage without playing through the rest of the game first.

As far as new games go, I’m looking forward to trying M2’s brand new horizontal shmup Salamander III (released as part of the Gradius Origins collection) and NamaTakahashi’s charming new puzzle platformer Öoo. I’ve heard great things about both of them!

That’s all I’ve been up to recently. Now that I’ve finished digging around in my engine’s code and making a tutorial, I’m going to get back to working on my game’s demo. I hope you have a wonderful couple of weeks and I’ll see you next time!

Don't miss what's next. Subscribe to C.T. Matthews Newsletter:
Powered by Buttondown, the easiest way to start and grow your newsletter.