Developer Interview: 7shades on “Cubecat”

SHIRO! SHOW Recap

Every community has its high profile members… You know, the ones who become something of a “household name”, for projects that push homebrew development forward? These are the folks who practically live on the forums, engaging with other developers and average-joe-gamers, generating loads of anticipation and interest in their latest projects.

Then there are those folks who work practically in secret… under the radar.., submitting their work quietly, without promotion or ceremony… Just putting it out there and letting it speak for itself… As if coming from out of ‘nowhere’, these games take the community by surprise and often end up something of a crowd favorite for their clever design/execution and their unassuming nature.

That’s at least half the story here… I mean, Cubecat is (not even done, and it’s already) a great game, showing loads of promise and potential, but perhaps the best part about it is how it completely caught many of us off guard… Like that last Christmas present hiding behind the tree.., nobody was expecting it, but almost everyone was delighted by its charm and won over by its solid and thoughtful game design.

Imagine my excitement, then, when 7shades got back to me, agreeing to this SHIRO! developer interview..! There’s a LOT that I (you, we…) would like to know about this game and the individual who made it, and a HUGE THANKS goes out to Mr. ‘shades’, for his time and consideration in giving us this glimpse into his thought process and the story, thus far, behind… CUBECAT.

SHIRO!: Let’s start with the name, shall we? How did you come up with “7shades“?

7shades: Hmmm… I think I first came up with it back in high school for an old Deviant Art account or something… I’ve never really had much of an online presence… Social media has never appealed to me, nor did I ever get into commenting on forums. Once I got big into Saturn development though, I wanted to be able to reach out to people in the community more. So when I finally made a profile on discord to join the SegaXtreme community, I just reused the only tag I’d ever had before…


SHIRO!: When and how did you become interested in game development?

7shades: I’ve been fascinated with games ever since I can remember. As a kid I never had any game consoles of my own, but all of my friends did, and I would jump at the chance to play or even just watch my friend play whenever I was over at their house. Games seemed limitless to me back then, and I dreamed of making my own adventures. I would sometimes draw up a crude design document for a game I wanted to make on scratch paper, then fold it up and tape it to a piece of cardboard and pretend that was it a game cartridge that I could play!

When I was a teenager I finally got my first console: A discount N64 (GameCube was already out by then). I was completely hooked. Gaming became my one and only hobby outside school. Game development always lingered as a prospect in the back of my mind.


SHIRO!: Why Saturn? What led you to develop for this console specifically?

7shades: There’s just something about Saturn! I was a big Nintendo fan when I was younger, as it was what all my friends had and what I started with. By the time I really got into gaming Sega was out of the console business, and I was too late! After high school, I started collecting for Sega consoles as a way to sort of relive a piece of childhood that I had missed out on. I started with Dreamcast, but pretty quickly moved on to Saturn, and I fell in love with it. For whatever reason the games just really resonated with me, and it became my favorite console!

For a while my hobby was just collecting games. Then in 2016 I saw John Linneman’s first Digital Foundry Retro video on the Saturn version of Quake, and it really raised my interest in the technical side of games for the platform. I had to know more. I looked up all the information I could on the specs of Saturn. Suddenly I was seeing these games in a whole new light, playing through and noticing all the creative decisions and compromises the developers had made to produce them. It really made me want to make something of my own with the same constraints to see what was possible. Looking around online some more I discovered Jo Engine, and realized that maybe I could do just that.

“There’s just something about Saturn!”

-7shades


SHIRO!: Can you tell us a bit about Cubecat? How did that come together, and what was your inspiration for it?

7shades: For a couple years Jo Engine just sat on my laptop. I tinkered here and there with Saturn development in my free time, but I never really got anywhere. The problem was over-ambition. I had all of these grand ideas in my head but no clue where to start. I was blown away with what XL2 was achieving at the time with Sonic Z-Treme. I really wanted to make a game in a genre that the Saturn had been lacking back in its day. I love 3D exploration platformers of the 32-bit era.., stuff like Mario 64 and Spyro.

Saturn never really got a game like that, so that became my goal. Of course, this wound up being way too ambitious for an amateur solo project. Eventually I decided to shrink the scope. I adopted a strategy of only implementing what I was fairly confident that I was capable of at the time, and slowly building up from there. This is when I finally started making real progress, and the result is Cubecat. Cubecat is a cube because I didn’t have any experience with 3D modeling, so building a character out of cube primitives was the quickest and easiest thing I could make (plus cats are cute…).

26th Anniversary Game Competition Stream


It has detached floating limbs because hierarchical animation was all I understood how to do at the time. Most of my design decisions were made by taking the path that let me get as far as I could with what I had, then learning a bit more, going a little further, and repeating.

The yarn ball mechanic was the latest addition and is very much a work in progress. I’m not super satisfied with it yet since I feel like having to escort it all the way through the level is kind of tedious. I envision them being more like shells or items in a Mario game, where they could be used to perform a variety of interactions in the world to reach new areas or solve puzzles, but wouldn’t be the end goal themselves. I guess we’ll see how they turn out as development progresses!


Cubecat: Title Screen

SHIRO!: What is your primary focus in terms of game design & development? What design philosophies are most important to you?

7shades: Development-wise, my strategy is to maintain a scope that is achievable in the short term. Early on I wasted so much time fretting over the best way to implement rendering, entity systems, collision detection and so on. It’s really sometimes best to just start with what you can, and not worry about if its perfect. Get something concrete in place and build from there.

As for game design, I like just about every genre out there, but I guess I’d say I gravitate to more action heavy & skill focused games. I am also a big proponent of the idea that every aspect of a game should serve some purpose for the gameplay experience, at least within the context of the game’s genre. One of my biggest pet peeves is when the set dressing in a game contradicts the gameplay design. If a game is based on exploration, don’t have doors that cant be opened and don’t lead anywhere.

If it’s a platformer, I’d better be able to jump on and traverse all the accessible level geometry. And for goodness’ sake don’t fill a game with invisible walls! Maybe this is why I’m such a big fan of games from the 32-Bit era. The 3D technology was primitive enough that most games couldn’t afford too much unnecessary clutter in their design.

“Maybe this is why I’m such a big fan of games from the 32-Bit era. The 3D technology was primitive enough that most games couldn’t afford too much unnecessary clutter in their design.”

-7shades


SHIRO!: Have you worked on any other games or game-related projects?

7shades: Nope. Working on Saturn has been my first real introduction to making games. It might seem like a weird place to start. It probably wasn’t the easiest, but I’ve gotta say for me, the hook of working with Saturn hardware is what has held my interest long enough to actually create a playable project. I have messed around with various game making software and engines before: RPG Maker, game maker studios, even Unreal. As a hobbyist, they never managed to intrigue me enough spend the time to learn them and get a project off the ground, and tutorials for them were never very helpful to me.

To get a real grasp on something, I’ve always needed to learn it from the ground up. I didn’t want to learn how to use the features of some specific game engine, I wanted to learn what it took to make my own engine. It really was the added passion I have for learning about the Saturn in particular that helped keep me going.


SHIRO!: From your personal perspective, what can you tell us about development on Saturn in general?

7shades: It’s not too hard to get something simple up and running on Saturn these days. As long as you have some familiarity with C programming, Jo Engine makes it pretty easy. That said, once you start wanting to do more complicated stuff with VDP1 and VDP2 it gets tricky, as you’ll need to reference multiple 200+ page manuals that are poorly translated from Japanese.

I can see why working with Saturn could have be a fun challenge for some programmers, as there is always some additional feature or piece of the hardware to toy around with. But at the same time this could be a nightmare back in the day for studios working on deadlines or multi platform games.


Cube… Rat

SHIRO!: What have been your greatest challenges developing on this hardware?

7shades: I’ve been mostly using the Sega Graphics Library (SGL), and with that, the biggest challenge has just been trying to parse and understand the wording of the Sega Manuals. Beyond that most of the challenge has just been working out how to build all the basic systems that a game needs to operate from scratch. Animation, entity management, loading, player input, collision detection, particles. None of that is Saturn specific, but its not trivial either when you’re building it from scratch!

I think the big technical challenge I want tackle next is to rely less on the SGL for rendering, since it has a lot of limitations. To be honest I’m not really even sure where to start with that. But there are developers out there like XL2 and Ponut who have managed to get really impressive result already, so I’m sure they could help point me in the right direction once I get there!


SHIRO!: If you could change anything about the Saturn’s hardware, what would you change?

7shades: Hmm, that’s difficult to say, as part of the charm, to me, is just how much of a mess it is..! The fact that you can still get unique and impressive looking effects out of it despite its limitations is one of the coolest things about it. That said, I would love it if VDP2 were able to easily take data from VDP1 into multiple layers that it could manipulate just like the other background scrolls. Then you could more easily do cool full screen line scrolling and distortion effects on sprites as well as the background, not to mention better transparency.

The way its set up, copying data over to a VDP2 layer is slow and indirect. Burning Rangers pulled it off, and XL2 is doing wonders with HellSlave, but it would be nice if there was a faster way. From a consumer perspective, I really wish Sega had supported backwards compatibility with Genesis games. Given the M68000 and the cartridge port it seems like it could have been in the cards at some point but for whatever reason it didn’t make it into the final product. I don’t know how much difference it would have made in the long run, but it would have given the system a huge back catalog of games early in its life.


Water Texture & Transparency

SHIRO!: What are your thoughts regarding the current Saturn home brew scene and the future of home brew development on Saturn?

7shades: I think the future of Saturn homebrew is looking really bright! The community is full of tons of passionate and knowledgeable people, and only seems to be growing. Thanks to Jo Engine and higher profile projects like HellSlave, more people seem to be showing interest. There is a great atmosphere of sharing knowledge and techniques in the community, and everyone seems happy to help a newcomer who wants to learn.

The biggest hurdle to getting more widespread attention is the lack of any good way to release a game commercially. When you look at the homebrew scenes for systems like NES, Genesis, or even Dreamcast, I think part of the draw for developers is knowing that it is possible to actually release projects that play on unmodified hardware. Unfortunately thanks to the Saturn’s disc security, That’s not something that we can easily do.

You’d have to convince a company to take a gamble on getting the rights from Sega and investing R&D time to reproduce the security ring on a professional CD press, all for a project that probably wouldn’t make money. I wouldn’t hold my breath for anything like that happening for homebrew. For now the best you could do is probably release a Steam version that would include a download key for an .iso so users could run it using whatever mod or ODE they have.

I think some NES projects have done that in the past to supplement limited cartridge runs. I hope that more ways of distribution become available, because some of the games people in the community are making really deserve full releases! HellSlave by XL2 looks better than just about any commercially released game on the system. Noah and the Poohloudies from Misscelan is being developed for both Saturn and Ps1, and seems super impressive. And there are a lot of other exciting up and coming projects.

As it stands though getting into Saturn homebrew means putting in a lot of effort and work mostly just for the fun learning and creating something. Personally that works for me. With Cubecat I’m still not sure where it will end up, but for now I’m happy with keeping it as a hobby project to work on in my spare time.

About the author

SaturnDave

A massive Saturn fan since Christmas '96, Dave is enthusiastic about growing the community and spreading Saturn love and knowledge to fans old and new. Co-founding the SEGA SATURN, SHIRO! podcast back in 2017 and creating the SHIRO! SHOW in 2020, he seeks to create interesting and engaging Saturn-related content for the community. Dave's interests circle around game preservation, and he is a huge fan of game magazines and developer interviews.

Leave a comment

Your email address will not be published.


*