I always thought, that implementing virtual joysticks for iOS games is a mistake. They try to emulate the real thing (big console’s pad) and as such, they will always be worse. There must be something better to use the full potential of a touchscreen. And indeed in most iPhone games I tried, I didn’t like them. They were not precise enough and, even worse obscured large portions of screen, which was pretty infuriating, especially when something interesting (like a new enemy) appeared just there. I always preferred a touch & slide approach. Touch the map where you want your character to go and slide to move the map.

This was the case until I happened to spend some time with this tiny little game called Solomon’s Keep. Way too much time actually. My iPhone was getting hot from playing it. I had to recharge 3 times a day sometimes. My son played it. Even my wife tried. This is simply a great action RPG game. Little Diablo in your pocket. Various character development paths (fire mage, lighting, cone of cold, magic missile), very well thought out, randomly generated levels, some interesting bosses and more.

But most importantly (for this article at least) it has virtual joysticks implemented right. The left one for walking, the right one for shooting (err… sorry… casting spells). Most of spells are directional, so aiming does matter. These joysticks are precise enough to make complex maneuvering among enemies (which is a must at later stages of the game) and shooting at them at the same time a purely joyful experience. And I know what I’m talking about, I’ve spent like more than 30 hours in this damn game…

On the other hand, recently I tried Emissary of War, another action RPG created by some Bioware employees as a side project. It uses the touch & slide control scheme and was praised in reviews just for that (among other things of course). But you know what? It felt incredibly clumsy to me, compared to Solomon’s Keep. Maybe it’s just because I used so much to these joysticks? I don’t know. But now I have a little dilemma designing my own game…

So what do you think is the best controlling scheme for an iOS action RPG? Virtual joysticks or touch & slide? Or maybe something else entirely?

Ok, it’s been a rough month for me. Many things keeping me from spending time on my little game project. But listing them here would be pretty boring, right? What’s important I didn’t give up on my project yet, far from that actually. So now I’m officially back to working on Infinity Dungeon and also back to documenting my progress here. It’s actually pretty motivating, when people make comments…

First thing to get things back on track will be designing and creating a city themed level using these excellent free tilesets from Lost Garden. Then it’s time to add and test some gameplay at last. So stay tuned!

Update: as pointed out by jandujar, these tracks are not completely free for commercial use after all. They are royalty free (which means you don’t have to pay a royalty to the author for every sold copy of your game), but you do have to pay once for the license. And there are not exactly cheap, especially for an iOS indie developer. Check out the comments below for more details. Or click the “jamendo pro” link on jamendo website. As I should do before writing nonsense here. The album is great anyway. But not free to use in a game, sadly. Sorry for confusion.

And here goes the original post:

Recently I started to consider the topic of music and sounds in my game. What is an RPG without climatic music? Nothing. Abomination. Good music in an RPG is a must. But I have no skills to create music myself. Virtually none. And I also really don’t want to pay for creating professional, orchestral music for my iPhone game. The risk of spending more, than my profit from sells would be is just too great. I already commit lots of my time for this project, right? That should be enough, at least for the first title.

So what should I do now? Search the internet for free, quality music, right? Right. I did just that. It’s not easy. Most of things you can download for free is crap. There is some free music, but free to download does not necessarily mean free to use in your paid game. You must pay close attention, even CC (Creative Commons) license is not enough. There are various kinds of CC license and the one you are probably looking for is called “CC BY”. Which means, the only thing you are obliged to do to use the music royalty-free in your commercial project is to mention it’s author in your project. For example in the credits of your game.

Anyway let me tell you this… it’s not easy to find good fantasy themed music published under such a license. But I managed it. And there is more out there, I’m pretty sure. You just have to look for it.

Without further hesitation I proudly present an album called “Chronicles III” by Mattias Westlund. Completely free to use in a commercial project. And the quality of this music is just… astonishing.

I’m going to use the first track “Breaking the Chains” for the exploration screen and the sixth one “Legends of the North”for the fight screen.

This music is really great, so be sure to check it out!

Another matter is, you can safely assume, that a percentage of people playing your game using headphones is close to zero. Even I, being a kind of audiophile (most people I know pay much less attention to quality of sound in various situations, than me), play mobile games using headphones only occasionally. Which means, your music has to sound good through these tiny external speakers of an iPhone. There is no way around it.

Luckily and to my huge surprise it really does sound pretty decent. Good job, Apple!

I researched the whole freemium vs lite/paid matter a bit more (basically looking for experiences of developers, who already released games with IAP) and now I have even more doubts if selling level/adventure packs as IAP really makes sense in case of my game.

Free to play gamers will pay for power-ups and self-expression, but not for new content.

…and more:

When building your micro-transaction game, you should put equal weighting on creating virtual goods that make players more powerful and on those that offer them the chance for self-expression. But if you were thinking about selling extra levels (a standard model for puzzle/casual games), forget it. The market just isn’t there.

This is not the only evidence supporting this statement. Just the most clearly and logically written one, so I quote it here.

Back to my game. There is no way I can make it an online game as a one man team with pretty tight budget. So offline it will be. The plan is simply to create a game, which I, as a gamer would enjoy most. Which means classical offline RPG / dungeon crawler. There is no place for IAP in such game, except additional content (levels/adventures). I don’t think power-ups, like potions or more powerful weapons or armor would work. Items used only to improve looks of your avatar – without any actual meaning for gameplay – obviously won’t.ble

So, tell me what you think.

Does it make sense to publish a free RPG offline game with extra levels sold in app? Or is the lite/paid model a better option?

What about paid in app items to make game easier and faster (more powerful weapons, consumables etc.)?

There is no place for growing frogs/crops or anything like that in an RPG game after all. And IAP seems to be best suited for speeding up such kind of activity, right? ;)

I was actually going to sell the game in a traditional way until now. Like this:

make a free Lite version with about 10-20% of the content (2-3 maps) to give potential customers a chance to try it out,

then sell the full version.

There is one problem with this approach. I’d like to “stay” with this particular game for a bit longer. Or even very long, if it proves successful enough. That means adding additional content (maps, adventures, items, monsters etc.), listening to what community has to say and tweaking things here and there from time to time and so on. This takes time and there is no way to get any revenue from such things in the traditional way (one sell). New content won’t result in any new purchases. Or in very little. It will only please existing players, who already bought the game. And give me something very pleasurable to do in my free time. But I cannot live from that, right?

So what are the options?

Either just make a new game each 4-6 months and sell it. Which means there is no time for polishing of existing titles, listening to the community, slowly making your game more and more perfect.

Or… freemium. I know, this sounds like a curse for some of you. Even I don’t like this term. Usually it means, you get something half baked for free and discover quickly, that it’s impossible to have an enjoyable gaming experience without paying for a horse armor or some potions regularly. This is unacceptable. This is why I don’t like DLC and and don’t like games with InApp purchases.

But recently started to change my mind. Especially when it comes to iOS games (or generally gaming on mobile devices). If done right, freemium games can be a winner for both sides – gamers and game producers. I think the key to success is, that a freemium game has to have enough potential to be enjoyable without making a single InApp purchase. You can buy this horse armor if you wish to have a shining horse, but you can fight perfectly well without it. You can never spend anything and still enjoy the game.

Can it work from a game producer point of view? I mean can I earn money comparable to the standard model (one purchase) this way? Well… this article suggest, that yes, it’s possible. Even more, if done right it can be much more profitable.

What would this mean for Infinity Dungeon (if I’m going to follow this route)? Probably a free to download game with the content I was going to pack into the Lite version. And InApp purchases of additional content (chapters, dungeons, maps etc.).

And what about in game items, potions and whatnot purchased for real money? I don’t know if this is such a good idea. If you can play perfectly well without them… well… maybe. But I’m also a gamer and as a gamer I don’t like this thought. What an inner fight… :)

Here is another map I was doing recently with Tiled editor, this time in rock/forest setting. It was a bit harder to work with such irregular shapes (the Dungeon map was more rectangular, hence easier), but when you figure out which tiles are outer and inner corners, it’s going much smoother. Look here if you don’t know, what I’m talking about. What I still have to figure out is how to use shadows from this free tiles from Lost Garden. On my TODO list.

So… here is the map. It just another prototype, but looks very nice on an iPhone screen nevertheless.

Lately I was trying to find out which version control system suits best my need as an iOS developer. It’s a new environment for me (Mac, XCode, iOS and all), so my old habits most probably would need to be replaced.

In very old days as I developed software for Windows, using Microsoft Visual Studio the choice was simple. Microsoft Source Safe. It’s not free, but the company I worked for paid for it anyway. And it was fairly solid for these old days.

Then I had to switch to Java and we (a small team) had a choice. First we worked in CVS and then, after few years replaced it with SVN. Both are free, open source and pretty good, SVN being better in my opinion.

So, for a while I went the SVN route, trying to find out how to integrate it best with my new XCode IDE. It is possible, yes, but in the process I found out about git, which is the preferred source control system for XCode. It is much more tightly integrated with XCode. You can perform many operations directly from XCode, including comparing of 2 versions of a file in XCode 2-pane editor. This is very helpful.

git has one more advantage over SVN, which is especially important, when you work in a team using the same codebase. Old school way (SVN) you have one central repository. Typically it resides on some server, which all team members have access to. If you don’t have access to the server (eg. working on laptop, no internet connection), you cannot use SVN.

Using git, each team member has it’s own local repository. Files con be commited, rolled back, versions can be compared, etc. locally. Then there can be installed (but it’s optional) a central master repository (on a server), which can be synchronized with local repositories of team members whenever they happen to have internet access. It adds a bit complexity to the workflow, but the benefits are worth it in my opinion.

So basically, I chose git for my project.

Here are some links and tutorials I used for my research and then installing and configuring git both client- and serverside: