Alright, times are crazy right now. As of yesterday, there are over a million confirmed cases of SARS-CoV-2/COVID-19 and that number is still rising quickly. After watching things develop around the world, hearing of friends getting sick, and having lots of discussions with my family about how we’re going to deal with it, we decided that continuing to work my current full-time job as an airline pilot was more risk than we wanted.
I asked for an unpaid leave of absence and got the thumbs up to stay home. I decided it’d be a great time to expand our kiddo’s homeschool curriculum a bit by adding some extra fun & learning about game development. The kids played several game prototypes I had laying around. When they got to an Asteroids knock-off prototype called “Kill Cubes,” they started yelling in excitement at the game and even developed a 2-person strategy to play the single player game together (on a laptop). So, Kill Cubes was declared our project.
At that point, Kill Cubes was just a quick prototype I made in a few hours and certainly nothing worthy of an App Store release. Here’s what it looked like when the kids tried it out…
The kids and I brainstormed what the game needed: a better theme, new name, cool explosions, high score boards, etc. When we were talking about ideas for themes, my wife threw out something like “you really should be killing viruses.” The kids raved about that idea, so I made a couple mods and we were now flying a space ship around killing viruses (viruses in space, I guess – close enough). The kids loved it.
Our kids have already done some Scratch programming, so I decided to show them some other parts of game development. I modified a virus 3d model to use 3 different graphics shaders and set my daughter, Sophia, loose on designing the color scheme of the bad-guy virus for our game. After only about a minute of teaching her, she was adjusting base colors, spectral highlight colors, glow colors, and adjustments for the weight variations of all of those.
After lots of iterations and in-game testing, she came up with this color scheme for our baddie. (Seriously, this was all her. Nice, huh!?)
Who am I to argue with an 8 year old? (Well, except her dad, of course.) So, in the game it went.
After some brainstorming and sketches from the kids, I set our son (Sophia’s twin brother Cameron) loose on the new player ship coloring. Cameron went to town on it just like Sophia did on the virus model. He came up with a great color scheme for the player and in it went.
Once the kids’ color schemes were done, I did a bunch of back end work and taught the kids about playtesting. My particular style of playtesting comes mostly from my test pilot background. It’s direct, but it gets stuff done. Before long, the test pilot kids were gathering data, generating new game/UI/visual ideas of their own, and taking notes to pass to the dev team (that’s me).
Their ideas quickly outgrew the time I thought we should spend on the game before shipping version 1.0, so we did some learning on feature creep, development time, and contrasted “better is the enemy of good enough” with things like “this is how it should be for me to be happy with it.” Tons of learning in progress. (Awesome!)
We made a list of things that we should do before releasing it. Each day, when there was time around homeschool and our other activities, I wrenched on the game some more and the kids finished their afternoon with gameplay sessions & real time feedback.
We iterated quickly. The test team (kids) and the dev team (me) worked hand-in-hand to throw in the maximum awesomesauce in the minimum amount of time. Test team feedback was direct & brutal. The dev team never said “we can’t,” but we definitely had discussions of the impacts of certain feature implementations.
We were testing with friends on Android along the way, but decided to drop Android on day 1 for a few reasons. First was we thought was a chance the game wouldn’t get approved by Apple (because of the no-coronavirus rule). Granted that doesn’t have much to do with Android, but thinning down our efforts seemed smart with the big chance of the game getting a big-fat no from one of the gatekeepers. Aside from that, the Google Play developer page also had a big flag that said review times were at least 7 days (way longer than the iOS approval times).
We also decided to ditch iPad support because of the added work getting the on-screen controls perfected. We made a list of “maybe later” items that definitely includes iPad, Android and a big pile of other features. Some of those “maybe later” items made it to the table because, well, feature creep.
For example, the 4-camera setup with spinning skybox and smoothly transitioning rotation rates between in-game and main menu was my daughter’s idea. I initially scoffed it, but she insisted and I think it gives a super cool polished effect (go check it out!). We love it, so you get it.
Pricing. Yeah, about that. Lots of learning here. Despite the kids’ “make it $20 so that we can make lots of money” ideas, I thought it was more appropriate to get it out there for anyone who might want to try it out. After all, we kinda made this game just to vent about the current world situation – seems like the players should get to play it in that same mindset. The game certainly doesn’t have big meta-game or grind/collection mechanics coupled with IAP in version 1.0. That kind of monetization doesn’t fit what we have here. We also had a few great talks with the kids about how it might be perceived that we’re trying to make money off of a global tragedy and what the right thing to do about that was. Anyway, we decided we should make Viroids free to download.
To give the kids a chance to earn a few bucks for their efforts, I threw in some widely-spaced ads. At the suggesting of several game dev friends, I went with Unity ads for the quickest solution. I don’t expect a giant return from Viroids, but it’d blow the kids’ minds if they could earn some money from it.
For the name, I turned to some indie game dev friends. The game-naming extraordinaire, radtastic game developer, and namer of at least one of my previous games, Paul Pridham of Madgarden, came up with “Viroids” in about 3 seconds (because he’s radtastic, of course). After a quick approval meeting with the entire dev team (the kids and me), we declared Viroids to be the game’s name.
We decided to do this project together on March 18th. In just 10 days of part-time dev time, we hit submit on March 30th (with 3 days in there spent with me on my last airline work trip). It went live on the App Store on April 1st.
Cameron & Sophia (you know, the 8 year olds) are pretty ecstatic that something they worked on can be downloaded and played anywhere in the world. I am too. Viroids has been a great family adventure for us and it was a ton of fun to make. We’d love it if others enjoy it too.
So, go shoot viruses. We’d love it if somehow there were none left. Enjoy and let us know what you think!
UPDATE (2020-05-30): We released a version 1.1 on iOS late last month. First, it adds iPad compatibility to Viroids. Also, we got some great feedback from players and decided to completely revamp the player control logic. The new controls make it easier to aim and move exactly how you want to. Check out the update notes on the App Store for more info.
Download: FREE