Mobile Game Review: Quantum Cheeks [iOS/Android]

I came across Quantum Cheeks on a fellow developer’s blog on WordPress, and decided to review it. It’s the first game from a small team of developers who are learning Unity, and the tone of my review takes that into account. The game is out for Android, iPad, and iPhone. I only played it on iPhone 6.

The concept of the game is simple – guide a hamster through a series of radioactive barrels. The controls are very simple: click anywhere on the screen to make the little thing jump out of his (her?) current barrel and hopefully into another one. Many of the barrels are in constant movement, rotation or translation along some path, and the core gameplay element of this title involves getting the timing right with respect to the barrels on screen. Each stage ends when you reach the ladder at the end of it. There are also some seeds you can collect along the way to get extra lives, similar to coins in Mario Brother.

The graphics are fairly simple but sufficient to support the gameplay. There are some little visual touches that caught my eye, like the fireflies on the first world. There was clearly a bit of effort put into this effect since their paths seem dynamic and there are different sizes of fireflies, plus a fading effect in and out. There is also a nice parallax effect with multiple layers of background, but I had to really pay attention to notice it. One minor nitpick is that the resolution of the barrels on the first world is too low and could use some refinement. The barrels on the second look pretty nice, though those on the third stage have a weird design, maybe a space ship?

Because of some issue I wasn’t able to hear sounds or music, although I think it is supposed to be there. Will update this post if I get that figured out.

My favorite thing about this game is element of shooting a hamster back and forth between barrels. It’s challenging, a little addicting, and adding the “hamster” idea gives life to what would otherwise be a dry physics simulation. I am not sure if the team plans to keep working on this game, but I think it would be interesting to expand on the concept, with more barrel types (maybe ones that explode after a single use) and more interaction with the world, for example bouncing off walls and such. Since they already have a physics engine I think some of these additions wouldn’t take that much additional development time.  I also like how you can just randomly shoot in one direction and have a chance at hitting a barrel in the distance, and I think if they can foster this sort of experimental play the game could be even better.

My biggest issue with this game is the bugs or inconsistencies I saw, which I notice even more being a software developer. I’ll give a detailed list here because I think they can probably fix these in a follow up release if they like.

1) Sometimes clicking on a barrel doesn’t seem to do anything. I noticed this mostly on barrels that are rotating back and forth 180 degrees, since it requires nearly perfect timing to eject the hamster at either endpoint. I would allow ejection at any point, and if the designers really want to limit this, queue up a click and eject when a valid point is reached.

2) Sometimes a rotating barrel will start ‘twitching’ back and forth for several seconds, after which it eventually stabilizes again. Seems like something has gone awry with the physics engine here. 

3) Once or twice it seems like a barrel ejected me before I touched the screen, though this is hard to reproduce.

4) There was at least one barrel (pointed up and to the right 45 degrees) which seemed to have less power than the others, so the distance the hamster was projected was unexpected.

5) At least once, I saw the game end before my character was completely off screen (on the right side). It would have gone off screen eventually, but the timing caught me off guard. This one is very minor, though.

6) I usually played the game in landscape mode, but there seems to be several issues with portrait mode which automatically triggers upon device rotation. Rather than go into all of them here, I recommend just disabling portrait altogether since it’s probably not worth the effort of supporting it.

In spite of these issues, the game is still fun to play, and I recommend you check it out. If you do, please consider giving their team feedback, since as a developer I can tell you this is one of the most important things for them (:

Link to the game’s release blog post with download links: https://rhyskucharski.wordpress.com/2015/07/04/quantum-cheeks-has-launched/comment-page-1/#comment-7

Mobile Game Development: learn your weaknesses and strive for consistent quality in all areas

Having taking a few iOS projects from conception to release on the Apple Apple Store, I’m starting to discover patterns in how I go through the development process. I plan to use this information to tune how I handle future projects, resulting in efficiency improvements as well as a higher quality result, hopefully leading to a larger user count.

I recently became more aware of the stages I go through in a typical project. I start development in what I would call a “creative” stage, where I am thinking of new ideas and enjoying the implementation process, as well as the iterative design that goes along with that. At some point when the project far along enough, I start to feel the need to just release something – what I’ll call the “get it done” stage.  I think this stems from my fear that other things will come up in my life and not have time to finish the project, or that I’ll just get bored of it and quit partway through, similar to why I would be hesitant to start reading a long novel.

The “get it done” stage is dangerous because the remaining tasks are done quickly, with lower quality than things done in the “creative” stage. For example, I usually create my app’s icons near the end of the project, and rush to just get something that looks reasonable enough. This is a bad idea since an icon is an extremely important part of the overall marketing presence of an app, and some people have even claimed changing only a game’s icon resulted in a major change in the download rate. Another example of this is creating a tutorial, as well as general visual polish.

For my next project, I’m going to try to get myself to think more long-term, and not jump into the “get it done” stage until the product is nearly ready to be released with high all-around high quality. It may be appropriate to rush to the finish line if there is a hard release date you are aiming for, for example to coincide with the release with a new OS version. But in cases where no such deadline exists, there isn’t much value in pushing things.

I am not sure if it is an appropriate comparison, but this reminds me of when I used to train in running to shave time off my mile. I measured how long it took for each 1/10th of a mile, and I found I got the best result when I had a good balance between these times. As opposed to having one or two areas where I sprinted and exhausted all my energy, a consistent good speed gave the best result. I feel that app development is similar, in that a consistent push through all areas is the best way to get a well-rounded product.

If I feel like I am too busy to make proper progress on a hobby project, rather than rushing it to release I’m going to try to just take a break. Odds are that I can just continue where I left off, whether it is a week or a month later.

The exception to this discussion is if you are working on your first mobile app or game. In that case I think it’s OK to just get something on the store, since you’ll gain valuable knowledge going through the entire process for the first time. For your second project, you can slow down and properly plan things out using your newfound knowledge. If you are worried about a low-quality app giving you a bad reputation, you can always pull it off the store at any time.

Mobile Game Advertising: don’t be afraid to get creative

There are hundreds, if not thousands, of sites out there that can be used to advertise your mobile game, in the form of directory listings, reviews, or forum posts. If you have enough time on your hands, you can try to submit your game to as many as you can find, but in many cases you’ll be required to pay some sort of fee to be listed or to accelerate the process, which can take weeks or longer.

If you are getting into mobile game development gradually, you will likely start out by releasing your game as free. But this means that if you start reaching into your pocketbook you’ll quickly be in the red, which isn’t a great way to get motivated to continue game development as a hobby.

Besides sticking with just the free sites, you can try to get creative to avoid paying some of these fees.

To give an example, I recently received an email from one of the sites I did a free submission for my latest game, which had a long advertisement about the paid service, talking about the benefits of a premium listing plus the fact it was on sale.

The text, however, had several English grammatical mistakes or awkward parts, and while reading it I had a mini Eureka moment.

I replied back to the email, saying that I would like to help clean up the marketing text which would surely bring in more paid users. In exchange, if I could get a premium listing as compensation, that would be great.

In less than a day the admin replied back and said we have a deal. I rewrote much of the advertising text, and though I am not a specialist in this area, the end result was much better than the original one. The admin said I will get a premium listing in the next week or so. (If this doesn’t pan out I’ll be sure to let you know in a later post)

These sort of opportunities come by only once in a while, but if you keep an eye open and think creatively, you might be able to find some unique ways to further your game’s marketing efforts.

In my case, I only saved around $15, but the satisfaction from a well-handled negotiation was worth many times this. Creating a win-win situation for both parties is one of the key parts of business-minded thinking.

Mobile Game Review: Does Not Commute

Does not commute, by Mediocre AB, is a game for the iPhone/iPad which was originally released on April 15, 2015. It recently won an Apple Design award and was listed in a special category in the app store, which is where I discovered it. I only played the iPhone version so this review is limited to that.

The game has a pretty unique concept: your objective is to drive a series of vehicles through a city, each from a starting point to a destination point. The interesting part is that as you begin controlling the second vehicle, the first vehicle starts taking the path you choose at the same time, and each successive car’s path gets layered onto the map until it becomes difficult to navigate and reach your destination in time.

If you are able to help all vehicles reach their destinations before time runs out, you get to go to a new area of the city which is effectively a new stage. On the way you can grab items to increase your remaining time, and use the rewind mechanic to retry the path of a car, though you loose some time in the process. Each vehicle has a little different steering, and there are upgrades to can get to improve things like traction. Hitting other objects damages your vehicle, which makes it start smoking and slow down.

The strongest point of this game by far is the graphics, which are done with an extremely visually pleasing top-view rendered with 3D and heavy use of lighting effects, such as headlights for each vehicle. The models are pretty simple but generally good enough, except for some of the lakes which look badly designed. The visual effect during the rewind function is pretty cool looking, and the intro pages are also very nicely designed. Above all, the entire game has a very distinctive visual atmosphere.

I enjoyed this game for around an hour but eventually started to get bored with it. One of the reasons is that the control of vehicles is pretty limited, such that you can only turn left or right, with no braking or acceleration. Also, I found the top-view much more disorienting to drive than a typical first-person view, though I understand why they chose the former to fit with the concept of each car commuting simultaneously.

Does not commute tries to give a personality to each character by giving a short textual description of what is going on in their life and why they are in a hurry, but I found that underdone and insufficient to make me care about any of their lives.

Having said that, with stunning visuals and a very creative concept, this is one of the better games I’ve played on mobile in the last few months, especially considering it’s a free game (with some In-App purchases).

Game Review Web Sites: it’s a dog-eat-dog world

For my latest mobile game I’ve been advertising on many different web sites whose primary purpose is to review and showcase games or apps. It has only been a few days since I did this so I don’t have much data yet, but I hope to eventually post about whether it was worth it to spend my time like this on advertising.

While I was searching for sites to post to, I discovered a few interesting things about this area of the net. Among these was the level of competitiveness between the various sites, and how these harsh conditions make for a pretty high closure rate of such websites. I realized this because roughly one-fourth to one-third of the sites I tried on a list from a few years ago (see this post) were completely gone. Others had changed their name, or began charging for even a basic listing.

I find it intriguing how an over-crowded and hyper-competitive mobile app market ends up creating a hyper-competitive market for websites advertising these same apps. Ironically, these sites have to market themselves using many of the same techniques, via things like SEO and using forums to advertise. Ultimately, all of these web sites must earn enough money to support their hosting and development costs via some form of paid advertising, such as charging for reviews or expedited listing.

The smaller a review site is, the easier it will be to get your app on there, but the less useful it will be because of the smaller amount of traffic to that site. Everyone wants to submit their apps to the sites with all the hits, and submitting them to the minor sites is less important. You can see some of this in my brief look at some page view hits when I advertised my previous game, where there was over a 10x difference between the site with most hits and least hits.

The funny thing about all these sites is that I think the average user doesn’t even know about them. I’ve been getting apps for iOS for years now, and until recently I’d say 90% of the apps I got were found directly on the Apple App Store, or because I heard about it from a magazine, news site, or word of mouth. Of these, discovery from the App Store leads to a very biased selection (with many games that make me want to scream “why is this popular?!?!”), but as a user it’s just so easy to do, instead of fishing through hundreds of review sites.

I think the fact that iOS apps can only be sold directly through the App Store is one reason that people are less apt to try out other stores, since you’re not going to find any good deals there. Compare this with how you can find various PC or console games in online retailers at varying prices, including used copies.

I’m starting to get the feeling that these app review sites may not really be worth my time (except possibly the most popular ones), though I don’t have enough data to make that judgement yet. But I’m quite confident that a really great app or game doesn’t need to be advertised on 1,000 different sites to become popular.

Mobile game poll

It’s been about a week since my latest game for the iPhone, Dokusen: The Art of Domination, has been released. I am planning on writing more details about how the game is doing in the App Store, but for now I’ll just say it is doing much better than my previous game based on the data from first few days.

In order to get some feedback on the game to help me improve it and future games I create, I’ve created a simple poll.

If you have a iPhone device, you can check out the iTunes page here and download it if interested. Or if you are not looking at this page on your mobile device, you can just search for “Dokusen” in the app store on your iPhone.

If you can’t or download want to download it that is fine too, but please consider taking the poll to explain why that is so.

You can also check out the game’s app preview video here.

Apple Connect App provides incorrect download statistics

I check my app’s download statistics on Apple’s Connect app pretty frequently, and was surprised when a weekly total for my latest app was significantly less than the daily count from a few days ago. I tried restarting Apple’s app, but got the same figures.

Starting to get concerned that the figure reported a few days ago was mistakenly inflated, I checked the download statistics on the iTunes Connect site (under the Sales and Trends area), and was relieved to find the aggregate numbers there were close to what I had seen in the app for the daily numbers. The numbers in the App Analytics page are all still zero, probably because the app has only been out a week.

I have no way to verify for sure which number is correct, but the odds are that the aggregate numbers being displayed in the Connect app. In my case, the numbers were over 10x smaller than they should be, which is a pretty serious bug.

If this doesn’t correct itself, I may send Apple a note since it’s pretty bad a bug this basic could escape unfound by testing. But maybe it only happens in a rare situation that doesn’t effect most users. Though the numbers are slightly different for my apps that have been out for several months, the difference is no more than 10 downloads.

If a company like Apple can’t provide accurate download statistics, it might be wise to consider using some 3rd-party SDK like Flurry which should give a more accurate count, plus much more information on how your app was used. I haven’t tried this myself, but am considering it eventually.

If anyone has noticed this bug please let me know.

Mobile game development: putting finishing touches on visuals and sound

For my latest mobile game project, I decided to spent more effort on the overall player experience, in particular the visuals and sound. After I worked out the basic gameplay rules and level design, before releasing the game I went back to put some of these finishing touches on.

For the experienced mobile game developer, these types of things are second nature, but for the hobby game developer who is still learning the ropes it can take some time to shift one’s thinking to be player-centric. These refinements also contribute to the game’s overall appearance and can result in more downloads if they are showcased in screenshots and app preview videos. Ultimately, one of the best types of marketing is a game that markets itself with appealing graphics.

In this post I’ll highlight some of the visual improvements I did, followed by some audio and sound ones.

Visual

  1. I used a star field animation rather than a plain background on the screen behind the game board. This took some tweaking to get right, and I ended up using different layers of stars to add depth, with colors and speeds set accordingly. For example, stars that are closer move faster and are brighter looking. The stars also fit well with the ‘meteor’ element which is introduced into the later levels.
  2. I added an animation at the beginning at each level where the tiles fall into place from the left and right sides of the screen.
  3. When a game ends, the tiles fall away off the screen.
  4. Touching and holding the screen causes the tiles in the same column and row to be highlighted up. This has to be done since the actual square being clicked on is usually not visible because the user’s finger covers it. The color of the highlighting is white for valid spaces, and red for invalid ones.
  5. I spent a great deal of time tweaking the animation for when tiles expand or ‘grow’ outwards. I ended up with using a random timing for when tiles appear, and this gives the game a certain chaotic feel I thought was fitting. Also, rather than a tile suddenly appearing, the color grows quickly from the center of the tile.
  6. I added a white square showing the last tile placed by each player, since it’s easy to forget.

Sound/Audio

  1. I added background music which had a retro feel to match with the visuals, and a high-energy feel to make the game more exciting.
  2. I added sounds corresponding to winning or loosing a game.
  3. I added a sound signifying that the user tried to place a tile at an illegal location.
  4. I added a sound for when the tiles fall into place at the beginning of each level.
  5. For each tile appearing as part of the expansion process, I play a chime-like sound that gradually increases pitch.

For the app preview video, I found another high-energy song which I really liked so I used that instead of the game’s actual music. I also shut off the sound effects since I thought they would be distracting. But the visuals are all intact, so if you are interested you can check out the app preview video here.

You don’t use Unity 3D, it uses you

After seeing how so many people are picking up game engines like Unity 3D and Unreal Engine for their smaller scale game projects, I decide to do a little more research on what would be required to use one for an upcoming game idea of mine.

I chose Unity 3D to start with and downloaded the free version, and was able to run the editor tool and start playing with it pretty quickly. The interface was closer to something like 3DSMax or Blender in that content creation seemed to be top priority, with behavior and the programming parts secondary. On top of this, I was surprised that Objective-C wasn’t supported natively, though there was some sort of way to bridge this language and use it together with Unity.

Wondering how I could develop a platform specific (iOS in my case) game with the engine, I found there is a separate set of APIs which mirror those on the platform, and you actually generate a XCode project with the relevant files, and use that when you submit to the App Store.

This entire process was completely the reverse of what I am used to, making a project in XCode and just importing libraries as needed.

After some consideration, I decided to put Unity 3D on hold since it would require such a major shift in development style. Clearly, if I want to make a high quality 3D game an engine like this is necessarily, and there is also the extra advantage that I can easily port it to other platforms. However, the game I have in mind can probably be done pretty well in basic 2D, so I tentatively decided to prototype it first in the simplest possible way.

One of the reasons I made this decision is because my time budget is pretty tight. Had I been back in college when I had much more free time, it might have made more sense to just spend a few solid weeks learning Unity 3D. But for my current situation, I am not sure if that is worth my time. Also, I generally like to focus on writing gameplay and AI, with less of an emphasis on visuals, so I try to plan things so I can spend the most of my time on these elements.

While it’s true that many games these days decide to use a 3D engine just to look cool or extra realistic even when the gameplay doesn’t require it (ex: Smash Brothers), in my case I am not sure if the extra time to use 3D is worth it.

Six nice things about advertising your game online

Though I’ve never been a huge fan of advertising (as a consumer or producer), after spending a few hours trying to push my latest game on various online spots, I’ve started to get used to it, even enjoy it a bit.

The main purpose of advertising is to get more people to learn about your app and actually download it, but there are some other perks that come along with the ride. I’ll mention a few which I’ve noticed.  Most of my efforts have been put into posting on forums and these items reflect that.

1) It’s a great form of market research – you can see what types of games are out there being marketed, as well as how they are marketing them (videos, contests etc). You can also get a feel for which games are getting more attention from the views on their posts. One might argue that looking at the various app store’s ‘popular games’ categories gives similar information, but often the apps that get that far have a large marketing budget, and those techniques don’t necessarily apply to the average indie gamer.

2) You can advertise your game using very small chunks of time, unlike development which may take you just 15-30 minutes to get ‘in the mode’ and actually start writing code. Once you prepare your screenshots, videos, and text for your posts, the actual process of posting is pretty quick and can be done in a few minutes. Often the most time is just spent registering for an account.

3) You can get much more feedback about your game, whether from hits on your various forum posts or comments. Much of this feedback comes quickly, sometimes in only a few hours. Though not nearly as nice as actual downloads, these can translate to some type of satisfaction or motivation to continue marketing your game.

4) After you have found the first few top forums and posted to them (i.e. Touch Arcade), you have to start spending a bit more effort to find those which are less popular, but have a chance to help bring in more users. Finding such forums can be rewarding, as can be the judgement process in deciding which are worthwhile.

5) Rather than using the same text for all posts, you can customize each one based not the form theme, user base of the forum, and what games seem to be popular on that forum. Through this process you can improve your writing, creativity, and ability to perceive trends. For example, if you find out a certain post on that forum seems to be getting a lot of hits, you can see if you can relate your game to it somehow.

6) Knowledge of how to advertise software online is a very valuable asset, since it can be applied to any of your future or past projects, irregardless of genre or platform.