Open source devices for the disabled

In one of my mobile games I had used music from Eric Skiff, and I heard he is starting a new company which makes open source devices for the disabled. So I thought I would give a link for everyone to check out if you are interested.

Here is the video which talks about their aims. Pretty cool stuff!

They have a Kickstarter campaign as well in case you are interested in helping out.

 

Japanese podcast about games: “Game chomp chomp”(ゲームモゴモゴ)

Recently I discovered an awesome podcast that discusses a variety of games, and one of the hosts actually works the business of developing them.

While you’ll need to know at least some Japanese to appreciate this, if you do it’s a great way to study up on Japanese as well as the art of game making.

You can more details about this podcast in my post here (on my blog about Japanese study).

Game development: reducing scope (traffic simulation)

One of the tricks of game development, especially that done by small teams, is reducing scope of each feature or element to a minimum necessary level. It is critical to make efficient use of developers’ time since there is only so many cycles available, and the longer a project goes on the more likely it is to get cancelled or postponed. The more games you get under your belt the more you start to care more about this kind of stuff.

To give an example of this – one of the core elements of my latest game in development is a series of connected roads with cars running through them, a little like what you would see in a modern version of a SimCity-type game. Starting several weeks ago, I experimented with several different ways to implement this “traffic simulation” element in my game.

Initially, I started with the idea that I would use Unity 3D, since that would allow me to show a very realistic simulation of cars moving through a network of roads. I was inspired by the mobile game Does Not Commute, which uses a 3D engine to good effect.

However, after learning a little more about the Unity 3D workflow, I realized I would be spending a big chunk of my time on the graphics and other 3D elements, which would make the core gameplay elements (behavior, logic, rules) take that much longer to do. Though the end result might look quite attractive, I had doubts that I could finish the game on my own if I took this route.

So for the time being I decided to make the game 2D. My next decision was whether I should use a physics engine or not. I’ve been interested in physics engines myself for some time, having made very simple ones years ago, so I decided to download and experiment with a few different frameworks, including Box 2D. In only a few hours, I was able to get some test programs running and there was a surprisingly rich set of functionality for the free frameworks I tested.

But again, I posed the question to myself – do I really need detailed physics simulation? Is having cars collide, spin out of control, and follow a physically accurate path really critical to my game’s core gameplay? While this would be a cool feature, I eventually decided this was overkill, and again reduced the scope of my traffic simulation efforts.

At this point I entered into prototype development, spending my evening hours making a bear-bones traffic simulation where each car was resented with only a handful of properties such as color, location, and speed. I got this working and am now experimenting with different game objectives, and creating stages to see what is actually fun (and challenging) – the most important aspect of any game.

If things go well and I feel I’ve made an entertaining prototype, I can continue to polish the visuals, or even consider going back to 3D. With a proven game idea, the risk for failure would be greatly reduced.

If I had determined that simulating cars as individual entities was not a critical element of my game, I could reduce scope yet again and simulate at a coarser granularity. For example, in the original SimCity game (which happened to be the first game I purchased with my own money), traffic was handled by road-piece granularity, where a stock animation was selected based on the traffic density of that area at the given time. You couldn’t follow a single car around since they would appear and disappear if you looked closely. While a system of roads was important in building an efficient city, tracking an individual car from point A to B wasn’t necessary, and players had more to concern themselves with. Also, I believe the original SimCity was only made by two or three developers. In more recent versions of that series it seems that cars are modeled as individual entities.

I’ll post some more about this project as things progress.

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.

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.

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.

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.

Dokusen: The Art of Domination [Gameplay basics]

Recently I was skimming the forums where I advertised my new puzzle game, Dokusen, and realized someone had made a comment about how they had no idea how the rules worked. I was planning on writing a post about the game’s rules anyway, but this made me decide to do it sooner rather than later.

Each stage has a different board size and shape, along with a different set of players. The types of players are as follows:

1) User player: the person playing the game, present on all board levels.

2) Inactive player: a player who begins the stage owning one or more squares. This player type does not place any more tiles with intent, but the existing tiles will spread automatically.

3) Active player: Same as an inactive player except it gets to play a new tile once each turn like the user player.

Basic game flow

1) User player plays a tile of their color in any legal square. Legal squares are defined as any square except one already owned, in other words either a black square (not owned) or one of a different color which is owned by an enemy (active or inactive player).

2) If present, one or more active players each play their color tile on any legal square. The level of skill of the active players depends on the stage.

3) All tiles that are currently on the board are then expanded or “grown” to legal spaces, if any.

4) Special effects will then take place (such on meteors on stages where they appear)

5) Back to step 1, where the user player goes again. The game ends when all the squares are taken. If the user player owns over half (50%) of the available squares, that stage is won and player proceeds to the next stage. Otherwise, it is a loss and the stage must be replayed.

The only other thing that needs to be explained is the rules for “growing”. They are actually pretty simple – a square will change ownership to whatever color is surrounding it on more sides (up, down, left, right) than any other color, excluding black. To see this in action, let’s look at the first few moves for level 5, which contains a inactive player owning four squares at the start of the level.

tutor

The user player decides to play on the topmost square, and you can see this represented by a white dot. After that, the tiles around squares of both the user player and the inactive grow and expand outwards.

tutor_2

Let’s talk about two squares and why they changed colors during the growing process.

1) Top left blue square above: this one was bordered by black on left and bottom, nothing above, and blue on the right (the one the user player just put down). Since black doesn’t count, the square was ‘dominated’ by blue and so it became blue.

2) Square in the middle of the board: this one was bordered on all sides by orange, so it became orange.

For the next turn, the user player (blue) decides to play on the bottom center of the board. During the growing stage, this new blue square expands to the left and right, but does not grow up. This is because there is an orange square two above it, such that the square about the newly placed square is bordered by black on the left and right, orange on the top, and blue on the bottom. Since there is a tie, the color doesn’t change.

tutor_3

I hope this explanation made the rules a little clearer, but if you have any questions feel free to comment on this post.

I recorded a short video of the above game which can see below. I ended up loosing, but the purpose of this post wasn’t to teach strategy. I may do another post on that later.

A dozen tips for marketing your mobile game on internet forums

In the last day or so I’ve advertised my new mobile game on a few internet forums to try and pull in a few more downloads. I started with those which gave the highest hit count for my last game, and tried some new ones as an experiment.

Here are some tips for doing this for your own games (or apps), based on my experiences.

1) Make a list of sites you want to advertise on first before you actually make any posts. This will not only allow you to streamline the process, but also will let you focus more on which forums you want to post on.

2) Make sure you read the rules on each site before doing any posting. Getting your post removed, or worst, your account banned will only hurt your chances of getting many people to download your app. There are some basic rules which apply to most forums: no deceptive titles, don’t re-post the same content several times, post in the right sub-forum, etc.

3) Write the title and text in advance for your posts. For boards that are similar (i.e. game development boards) you can reuse these items, but feel free to write custom posts for the boards that have something unique about them. For example, one of the boards I posted on recommend giving details about how the game was developed, so I added a section giving that information. If you are not sure, err on the side of making customized posts for each site, since it will make your posts look less spammy.

4) Many forums don’t allow you to upload images and other attachments directly, so you must provide a URL linking to the image. There are many sites to host your images, and I ended up using http://postimage.org. It was free and easy to use, however it shrunk down the resolution to a pretty small size that wasn’t ideal. Some sites that do allow direct attachments will not allow you to scale them down manually, so consider re-scaling your screenshots and other images to a proper size before uploading.

5) Think creatively about what forums you can (safely) advertise to. For example, my latest game was related to board games such as Othello, so I advertised in a board-game related forum. To be safe, when you do this I recommend posting in the ‘Off-Topic’ areas, since often there is no to little moderation in them.

6) Before writing your posts, consider checking out some of the posts which have a large number of hits, and see what type of verbiage and style they use.

7) Don’t overlook the importance of the post title, often it is the only thing that decides whether users will start reading your post or ignore it.

8) For some forums, there are special ways to write posts advertising games. For example, on forums.toucharcade.com, there is a special meta tag of the form [appinfo=all]put iTunes URL here[/appinfo] which is supposed to (among other things) automatically get the app’s icon and show it next to the title on the post summary screen. I had mixed results with this, so make sure you check that any such meta tags are working either at preview time, or immediately after submission.

9) Many sites will allow you to embed videos from YouTube or other video sites in your post. Consider uploading your app preview (if you have one) to a video site and adding it to your post this way. You can use the same one you uploaded to the app store (if applicable), though you have the option of making a new one just for the purposes of advertising, the advantage being that you have less restrictions on time and content.

10) If you are maintaining a blog about your game, I would recommend to NOT include it in your post. Advertising your blog is fine, but do that separately. The reason is that if you imagine people only have the patience to click on one link, you want them going to your iTunes page rather than a page about development of your game. I wouldn’t consider your advertisement a success if you get a bunch of hits to your blog, but very few downloads to your app. For this same reason, (to go against what I just suggested in #10) you may want to even avoid embedding videos or if you do, include a easy-to-see link in your video’s description.

11) Make sure you test any links you include in the post, such as your game’s iTunes link. Particularly on iOS, I found out that even though my game was supposed to be on the app store, there was a delay of about an hour or two where the iTunes link I got wasn’t properly working and my game wasn’t actually in the store yet. If you want to be safe you wait until the day after your game goes live before advertising.

12) As the popular saying goes, “Hope for the best but prepare for the worst”. It’s a dog-eat-dog world out there with several hundreds of apps submitted to the iOS app store each day, and forums where mobile game marketing is done are often equally flooded. Keep your expectations low, but experiment as much as possible and learn as you go.