[Indie Interview] uZombie made in GameMaker!
November 28, 2017
Today I sit down with Indie Developer: Jonathon Colibaba to talk about his new android game: uZombie, a unique mobile RPG where you are not just a zombie but a Zombie Leader with intelligence. There is a myriad of features and things to do: Turn civilians, police and military into your own undead army, level up your character to gain better armor and abilities and watch as the city attempts to fight back. Jon developed uZombie in GameMaker Studio and took some time to discuss the actual development and decisions that were made throughout the journey.
Getting right into it, what inspired you to make a zombie game where you play as the zombie? Seems like an odd choice when the current trend is heroically fighting the hordes, not leading them?
“Well I wanted to create a game that I would enjoy playing. A lot of my inspiration comes from an older game called Stubbs the Zombie on the original Xbox. After that I fell in love with the idea of playing as the zombie and haven’t seen it done much since. I thought it would be a blast to put that kind of game on a mobile device.”
Excellent, I never played Stubbs the Zombie but it sounds pretty cool. Speaking of cool, you developed uZombie using GameMaker Studio; was it in GMS 1 or GMS 2?
“I used Game Maker Studio 1.4”
GMS 1.4 still has a very large and faithful following, are you planning to make the switch to GMS 2?
“I haven’t considered it yet mostly because of the cost factor, I already invested a lot of money in the GMS 1.4 modules. But I definitely will in the future.”
Fair enough. I was reading your dev blogs (DevBlog_1,DevBlog_2) and read that your girlfriend was also getting involved by helping out with some of the art assets?
“My girlfriend actually created most of the building sprites herself using a program on her Mac which I am very thankful for!”
That is great, it is always helpful for an Indie Dev to get support but even better when you can work with those close to you as it provides additional morale support.
One technical aspect I wanted to bring up is the virtual controller you used, I think it works really well on the mobile platform. Did you code that yourself or use any GameMaker MarketPlace assets?
“I knew a joystick type control would be the way to go and easiest for the player. Now I never programmed one myself and wasn’t about to try, so I had to rely on finding one in the Game Maker marketplace which I been using ever since!”
See, this is what I like about the GameMaker community and GMS in general; you can take the time to program anything you want but sometimes it’s better to see if someone else did the work already. And as a bonus, if you get something from the Marketplace, you can examine the code and figure out how they implemented it. By the way, which asset was it?
“The asset is Virtual Joy by rm2kdev you can find it here: Virtual Joy”
OK, so you released this successfully on Google Play but since GameMaker has the ability to add other platforms do you have any additional launch plans? Steam, HTML5 or iOS? Was there a specific reason for launching on Google Play first/only?
“Google Play was my first release only because it’s cheaper, my Apple Developer account expired and I didn’t want to fork over $100 to renew just yet. In the future, uZombie will be available on iOS and possibly a Windows version with much bigger cities & more action going on.”
Sound reasoning and I completely understand, while it is has become a much more accessible market for Indie Devs there are still costs involved for releasing games not to mention the actual development costs. I did want to ask about releasing on Google Play, was it hard or did you run into any obstacles/pitfalls?
“It was actually very easy to upload the apk and get approved for the store. The harder part is actually setting up your game to run Android and making sure you have all your SDK&NDK files but YoYo Games has a good tutorial on that.”
YoYo Games does do a good job on documentation and tutorials, which if anyone needs to know; here is the Android one: Android SDK and NDK setup. Circling back to costs, can I ask how sales are looking? It is extremely tough for an Indie Dev to get noticed with all the bigger companies popping up and pumping out Indie style games to try and cash in on that market.
“When I first released the game I posted it on reddit, which gave me a big spike of installs and resulted in a bunch of buys. That only lasted about 2 days and then really slowed down to about 1-2 buys a day. Ad revenue isn’t much, maybe 10-20 cents a day depending on how many people are playing that day.”
Hey, I call that an upward trending success. This is very encouraging to hear as I am sure other small and new dev teams will agree.
Now I should have asked earlier but did you program everything else yourself or were there other frameworks involved besides the Virtual Joy asset?
“The only code I used from Game Maker’s marketplace was the virtual joystick because I had no idea how to program one myself. Other than that, everything else is coded from scratch.”
You must have learned a great deal then. Did any function or feature trip you up or keep you up at night in frustration?
“Everything was relatively easy. The only thing I didn’t know how to do was the virtual joystick, luckily Game Maker has a helpful marketplace which I used to find a pre made virtual joystick.”
Wow, once again the Community and Market Place saves both time and removes potential roadblocks. On the topic of features, you know I really liked the medic behavior where they follow you around healing. Nothing like having some healbots around when you charge your enemies. Any plans for additional special zombie followers?
“For the next update I was thinking of adding a tank-like zombie and maybe a pet/bodyguard that stays closer to you just like the medics. I have a lot more planned for this game there will be a currency in the future which you can use to purchase more eggs, health potions, xp boosts, and new player upgrades.”
That sounds like it is going to be seriously fun. Also, player collision is sometimes a tough thing to get right but it works very nicely in Uzombie. Any special way you implemented player and enemy collision?
“For the player’s collision I used xprevious & yprevious. The A.I. already knows to move around solid objects because of their path finding.”
Umm, Yeah I’m gonna need you to go ahead and explain a little more about that A.I. pathing, so if you can go ahead and say a few more words that would be great.
“For the path finding I simply used mp_potential_step as it does what I need it to do. Maybe I’ll improve on the ai but zombies are pretty dumb anyway lol.”
Elegant and simple, that is probably the cleanest way to do it. If anyone wants to check that out, you can view the official documentation here: mp_potential_step.
I have to know, given how great uZombie works and looks; how much time did it take to bring this to production release?
“uZombie probably took me about 2 months to complete, mostly because I don’t have a lot of free time. Otherwise I could have got it down to a month.”
WOW, that is amazing. Seriously, GameMaker allows such ease of use in bringing an idea to life; this is the main reason I choose GMS over other engines. Excellent work, I am sure we will be seeing much more from you in the future.
It’s about time to wrap this up, any parting words for fellow Indie Developers out there?
“Stay motivated and make sure to complete your projects and not give up!”
I couldn’t agree more, great job on uZombie and I hope to hear from you again.
“Thank you for the interview!”
You can check out uZombie at the following spots:
Play the HTML5 Demo in The Game Room:
Leave any questions or comments below.
Good Luck in all things,