Warning: The magic method OCDI\OneClickDemoImport::__wakeup() must have public visibility in /home/httpd/vhosts/wayoff.tv/httpdocs/wp-content/plugins/one-click-demo-import/inc/OneClickDemoImport.php on line 128
Warning: Cannot modify header information - headers already sent by (output started at /home/httpd/vhosts/wayoff.tv/httpdocs/wp-content/plugins/one-click-demo-import/inc/OneClickDemoImport.php:128) in /home/httpd/vhosts/wayoff.tv/httpdocs/wp-includes/feed-rss2.php on line 8
Back in February, I was presenting what felt like a good chunk of a game. At the time with my lack of experience, I thought a month or two of polish should be enough. Little did I know, it was only the beginning. The tasks ahead of me was essentially turning a proof of concept into a real game.
Going though this experience taught me that there is a lot more to making a game than what meets the eye. In this article I want to share some my biggest surprises.
upigo is not a very complicated game. You’re a bouncing ball that can go left or right by pressing either side of the screen. The goal is to go as far as possible. Seems pretty straight forward, and I’m sure if anyone spend a little time on it, they will figure it out on their own.
But since this is also a free mobile game, the competition on the Play store and App Store is huge. If the game is a little too complicated, it’s only a few seconds away from quick and simple uninstall at no cost to them other than the 30 seconds it took to install.
While ideally the game would make sense to everyone from the start, after watching a few of my friends and family play, I very quickly realized the auto-bounce can be disorienting, and unlocking new level are an advance feature for some. So i figured, since i’m in so deep, the game is going to need some guidance.
In upigo, the guidance takes 4 forms:
These features stood out to me because unlike most of the others they are a sort of overlays, affecting most other part of the game. That means they are triggered at different times by different source, they clash with each other and can become a very big mess, very quickly. To be honest, I feel I still have a lot of work to do in this area because there will always be someone who finds a way to get confused, and I’m a firm believer in the client is right. (As hard as it may be sometimes)
While good level design goes a long way in making game fun. Giving the player a clear progression to a goal and and multiple ways to achieve it will help you keep some of the more distracted players.
In February the game was just a bunch of levels. A little like an infinity runner where the goal is to go as far as possible. While in my head it sounded fun, it got repetitive very quickly and being a free game I had to extend the games life with some progression.
Upgrades was the first mechanic that was added. Affecting the gameplay directly, it allow the player the bounce higher, go faster and even touch enemy objects and recover from it. It gives the player a tangible progress by allowing player to reach further in the harder levels.
What is progressing without some good old XP’s. For a long time I was fighting the idea of adding levels/ranks in favor of a more creative approach. But the known won over creativity in this area. I felt the game needed a clear gauge of the players overall progress, and XP’s were the way to go. It turns out the experience system is also a great currency and rewards dispenser.
Talking about currency, that was implemented to give the player a bit of freedom on his strategy to the top rank. Known as Tokens in upigo, they allow two main style of gameplay. It allows completionist to finish every level with the second chance feature, or just breeze through all of them not being too worried about 100% them. They are not mutually exclusive as there are plenty of ways to gain tokens. Either pick them up, complete challenges, or just level up.
Challenges and daily challenges are in place as a short term goal rewarding players with tokens when completed. Similarly you have milestones which are cumulative goals that reward the player with experience.
The social aspect is a big one when talking about extending a games life. If I was crazy I would have implemented live multiplayer, but I don’t hate myself that much yet. For now you’ll have to settle with a simple online leaderboards for your online competitive fix.
Adding mechanics to game is a known slippery slope. There is a clear trade off between number of mechanics and complexity. The danger lays in the implementation. If not done right, this extra complexity is past right on to the player. So here’s to hoping I did it right. Only time will tell.
With all these features working with each, there comes a balancing challenge. For the game to be fun, the progression needs to be just right. The players can’t get stuck on early levels, or breeze through all of them because that’s just no fun.
I play tested upigo to death. It has allowed me to balance my game to a certain point. But due to circumstances, I’m probably the best upigo player to date, and therefore not a good test subject. People playing this game for the first time won’t have 100 of hours under their belt and definitely won’t know all the little quirks of the physics engine.
This is where analytics comes in. Touchy subject in this day and age where privacy is a hot topic. But know that most, if not all apps on your phone track you to a certain extent, but not necessarily with a bad intent. (upigo is one of them)
In my case I use firebase analytics to understand how people are playing my game. I have added event tracker logging players in-game behavior. This information will help me make decision on difficulty, balancing the economy and also level specific difficulty and general trend on the flow of player.
All very important information to make a game fun and balanced. But, of course, to get that valuable information, I need people to play my game.
So this is where you come in.
If you in search of a fun little game to play on your free time, why don’t you try upigo.
It is currently still in beta so if you have IOS you’ll need to get Testflight.