When Shane McCafferty burst onto the Game Boy Homebrew scene last year, I knew we were in for some crazy cool games. When I saw Starseed, a really vibrant Shoot ‘Em Up, I thought there was no way this was made with GB Studio. Turns out I was partially right. McCafferty has been vocal about how they use the more advanced options of GB Studio to create custom engine code, allowing them to achieve effects and features that aren’t available in the base GB Studio engine. Having released many games in different genres since then, we got an opportunity to chat with them via email.
Tell us a bit about yourself. GB Studio tends to draw a variety of people from different ages, regions and backgrounds and I’d love to know about your history.
I’m a 48-year-old Irish man living in Canada. I’ve made video games since I was a child. I made my first game on a ZXSpectrum when I was 11, and I’ve been making games ever since. I live with my wife, three daughters, and two dogs. Bandit, a German Shepard, is my QA department. She sits next to me every night and watches as I code.
I also enjoy speaking about, and teaching, game design. I lecture in some local universities and colleges.
Can you tell us about some of your previous game development work?
I have been at this for a long time. I’ve made games for most platforms over the years. During the heyday of mobile games, I created several number one iOS games and I’ve drifted in and out of making games as a full time job over the decades. Currently, I really enjoy making Game Boy games as a hobby in the evening once my family all head off to sleep for the night.
Some of the most fun have been Word Forward, Starseed 1 and 2, Hoonigans, and Block Droppin’.
I’ve also made a lot of games for clients. Some fun clients I’ve worked with are Capcom, Dirk Hayhurst (Baseball player + Author), Susan Sarandon (the mobile heyday was a crazy time! – I made a ping pong game for her ping pong nightclub ¯\_(ツ)_/¯ ) and many more. It’s been fun!
What drew you to GB Studio?
A few years back I finally had that “burnout” you hear about. I shipped a game on all platforms and it drained the creativity out of me. For a long time I couldn’t bring myself to do anything creative at all. A great friend bought me an Analogue Pocket and said he knew I’d make games for it eventually when I was ready. He was right. I started to recover via Pico8 (which is also wonderful by the way), and eventually found GB Studio. Little by little I rediscovered who I was. When you spend your life being “that guy who makes video games” to suddenly not wanting to ever make a game again, or even pick up a guitar, is quite the thing. It may sound overly dramatic, but GB Studio saved me.
You’ve made a crazy amount of technically impressive games in a short amount of time. What’s your secret? Can you tell us about your workflow?
If you could see my code you’d balk! I’ve never read a book about code or design in my life. How I learn is I need to dig in and break/tweak things. My introduction to code was breaking into Football Manager on the ZXSpectrum as an 11-year-old. I need to understand how things work. I guess I’m quite old school in that respect. I come from a dimly lit bedroom hacking away on my ZXSpectrum using the family TV. The great joy in coding for me comes from making things happen that, a week ago, you figured was maybe impossible for you.
What makes GB Studio so great to me is the “Eject Engine” button. Once I discovered that, I was off! The engine code in GB Studio is top-tier and beautifully readable and friendly – trust me, I’ve seen a lot of engine code over the decades. GB Studio makes it so easy to do your own little tweaks and still have all the comforts of the standard stuff like Scene Management/Audio/Music etc.
As far as workflow goes, I make games in a very iterative way. With a Game Boy game, the scope is so small this becomes possible for a single person. For all my games I’d say more than half of the things I add end up getting thrown away. I iterate, iterate, and iterate until I find the fun.
I see you talking about GBDK as part of your work, how do you incorporate it into your GB Studio Workflow?
Once you start to edit the engine more regularly you learn more and more about GBDK. When I need to use GBDK for tasks I use native calls via a GB Studio GBVM event. These are very powerful. Generally if I find that doing the task in GB Studio is too slow I’ll take that task, work out how to do it in GBDK, and do it there instead. That’s how a lot of my games end up doing some things quite fast. That’s some native GBDK code helping out.
What features or improvements would you like to see made with GB Studio (if any)?
Oh that’s a tough one. You guys have made such huge progress over the last year I’m finding it hard to see what else I’d ask for. What I would like to say is I’ve been hugely impressed with your focus on not getting carried away. At the end of the day GB Studio doesn’t feel like it’s for making the hot new 3D Game Boy thing. It’s most at home, I feel, continuing to be approachable, stable, and friendly, to folk thinking maybe that – just maybe – they could make a Game Boy game.
What’s next for you?
Once Nitro is complete I’m going to make a number-based version of Word Forward for Christmas (editor’s note: this is now available) and then I want to explore a raycasting game for Game Boy Color. I want to see if I can make something like that on Game Boy.
Anything else you’d like to add?
If anyone from the GB Studio community is reading this I’d like to say ‘thanks’ for all of the encouragement/tweets/retweets/likes/comments/posts over the last year. It’s a really wonderful community that I’m proud to be part of.
Thanks again to Shane for taking the time to answer our questions. You can follow them on both Twitter/X and Bluesky and check out their published games at https://thalamusdigital.itch.io/
Audio Engineer, Mac Technologist and Video Game Developer. Managing Editor of GBStudio Central. (he/him)