Monday, 28 January 2013

Indie Dev Insight: MagnetiCat

There are many things I like about being an indie (hobbyist) developer. The community is so incredibly supportive; there is lots of material at your finger tips; great forums and on the whole a lot of like minded people.

I can't put my finger on when I first came across MagnetiCat but we have certainly built up a rapport over the months. This was even more cemented by their first incredibly addictive launch game called Tiny Crosswords which is a prime example of how to do a simple concept well. While of course I would strongly recommend you download immediately please spare some time to have a read of their thorough and incredibly in depth account.

What got you into writing games?
It is one of those 2 or 3 things I always wanted to do. I grew up playing on NES and GameBoy, but before that I "inherited" a Commodore 16 from my cousin and played and experimented with it until it died and I was not able to find repair parts.

When my family could buy a PC, I discovered adventure games, and I think those - the first two Monkey Island games, in particular - are the games that made me think: I would really like to be able to create something like that, one day. Ron Gilbert has been my hero since when I was a kid.

But I was a curious kid and was distracted by many other interests. I was serious about being an astronomer, then I decided to be a punk, then I wanted to be a cinema director, then I wanted to be a painter. And so on.

What's good and bad about what you do?
So far, I love almost everything about making games - from the idea phase to the end of development it is something very demanding, but also extremely rewarding. Like all creative jobs, you are building something that will live on its own, in the hands and minds of the player. Being a person with diverse interests, game development is also something that lets me put everything I love in it. I wish I could do it more.

It is very different from what I normally do, working as a freelancer for others. Even if you have a chance to work with nice people, there the job becomes routine and just a grind for making more money and paying the next rent. You are not building anything for yourself, and in the end your clients rightfully think only about their own interests, not yours. You have no benefits and you are not building a solid future for yourself. While I would never change it for a 9 to 5 job – I need to be as free as possible - it is a stressful life.

How many people are involved in writing games at MagnetiCat. What roles do they take on?
We are two people. I work mostly as game designer, programmer, and on sounds; Rossella does game design and graphic design. But in general, we try to switch roles whenever possible. We work close to each other, so there is a constant exchange. It is something that comes from life as a freelancing team: each of us must be extremely self reliant, if necessary. If there is a problem with the graphics, the person working on them just fixes the issues; the same thing happens for most other things during the development of whatever we are working on.

What would you do differently now given what you know from projects completed and experience from the gaming and app market?
Tiny Crosswords is a small game (but there are similarly small games that are very popular in the Word category), developed and released under unusual circumstances. It is not enough to have a meaningful experience of the market, and many of the things we learnt we knew before releasing the game by following the stories of other developers.

Thinking about it, the only thing I would do differently is to avoid wasting as much time as I did on Twitter. In hindsight it was pretty obvious, but you must not count on Twitter for promotion, unless you know that people are following you out of genuine interest for what you are creating. In our case, Twitter followers were mostly other game developers coming from mutual follow exchange or using automated tools. They could not be interested in what we were doing, since we had no game in the store yet. Some of these followers I know outside of Twitter and I have helped in some web-related projects, but not a single one commented on the game or even congratulated us for our first release. Only a couple of people did.

Of course, if your game is particularly amazing, people will retweet it no matter what. So building something awesome – or better, building something that at least looks or sounds awesome - is still one of the first rules of marketing in the App Store.

Tiny Crosswords is not something that most would consider cool enough for their Twitter followers, I suppose. I would, but I made it, after all. It is a simple app, it's cute, it's elegant, and it is really loved by the few players that play it.

What tools do you use. By this I mean software development kits/engines (Cocos2d, Corona, Unity3D etc), audio packages, art packages.
Photoshop and Illustrator are what we use for the art of our games. Rossella uses most of the CS suite in her freelancing jobs. Tiny Crosswords is a very simple game, and it was designed in Illustrator. We then rasterize the images in Photoshop and use Texture Packer to create the spritesheets. We use Blender as well, but not within games or prototypes, yet.

We work with Cocos2D, Corona SDK, and recently with Haxe. We have been playing with Unity3D as well recently.

What made you choose these tools over others?
Adobe products are just the standard for professional graphic design. Not perfect, by any means - switching from one product to the other in the Adobe suite is often source of nightmares - but they are products that deserve the reputation they have. The new subscription system makes the CS suite relatively affordable, as well, if you can deduct monthly expenses.

The programming side of things is much more complicated. I think I tried a bit of everything over the years. When I started coding on iOS, I first learnt Objective-C and then moved to Cocos2D. I really like Cocos2D, and while I did not release any game made with it, I used it for most of our prototypes, including the early version of Tiny Crosswords.

Then I started looking into multi-platform frameworks; I picked up CoronaSDK for 2D games, and the version of Tiny Crossword in the store is made with it. I did not pick CoronaSDK for ease of development: with all the resources you have, I think it is difficult to beat the friendliness of Cocos2D and even better, Kobold2D (now KoboldTouch). Lack of proper debug and profiling for Corona SDK apps (same issue I have with Unity Basic) is also unnerving. But the good, awesome thing about Corona SDK is that it works on multiple devices and platforms very well. It is very reliable, and there are not that many commercially supported frameworks focusing exclusively on 2D. The build size is very small, and performance is great.

And yes, I have been toying with Unity for a while, even though I started studying it more in the past 3 months. It is a great engine, but for simple 2D games, it is overkill. Unity Basic lacks proper debugging tools and build optimization, features that are necessary to develop more complex games – and 3D games tend to be more complex than 2D ones.

While Corona and Unity are targeted to different needs, they actually have very similar advantages and shortcomings. Both are closed source; both come with only their community as a free form of support. Combination of closed source and paid support is something that I will never like. Both offer a more expensive license that unlocks the full potential of the framework – prices are not crazy, but completely out of the pockets of most indie game developers.

A language and framework I am really enjoying recently is Haxe with NME. It is plagued by sparse documentation, but working with it just feels right. Performance is terrific, since apps are translated into native code, and you can target most modern platforms with it. FlashDevelop fully supports it, so if you are on Windows or you have Parallels on a Mac you can have one of the best IDEs in existence for your game development. I am interested in releasing smaller web games, and Haxe is perfect for that, even though it is regularly used to build huge apps.

I had considered also Unity's Flash target, but it is expensive and generates very heavy code as it basically includes all the code for the Unity engine in addition to your game code: it makes no sense to develop Flash games with Unity unless you need to develop 3D titles.

What marketing tactics do you employ? Forums, twitter, paid PR etc
We did not do any marketing for Tiny Crosswords, as version 1.0.0 was a soft release. Anyhow, we plan on sending out press releases, a trailer, and send out e-mails to review websites for version 1.1.0.

The best marketing strategy, right now, is obviously to start advertising your game many months before its release, but only if the game is particularly unique, big, or memorable: otherwise people will forget about it.

The best long term marketing strategy is to keep on building good games and create followers among your players. Do not target only a platform, especially if your games do not require extensive optimization to run on different devices. You won't become rich, but you could be making a decent salary doing something you love.

What effect do you think free to play has had upon your game design?
From the beginning, before IAPs were introduces in iOS, I had many ideas that I knew would have worked well with a free to play setup, while being perfectly enjoyable to non paying users. I could never make them, because I just did not have the time and money to work on the development.

This said, I have a big moral problem in building apps that make money by encouraging a compulsive behavior in gamers; it is something I would be unable to do. I like some free to play titles, though – NimbleBit's games, for example, are fun to play even if you do not pay a cent. Same for Imangi's Temple Run. Purchase of in-app items like in RocketCat Games' Mage Gauntlet is great as well. But I suppose that all these developers might be making even more money if they wanted to and tried to build a more vicious cycle within their games that forced players to buy, sooner or later.

What resources do you swear by for learning new techniques, getting more from the packages you mentioned above, news etc. e.g Books (specific titles would be appreciated), forums / websites, social media
If you want to learn something, I think the best way is to find some learning material that has some sort of internal organization. Random tutorials are cool to solve specific problems, but if you want to be self reliant, you need to have a bit of order in your mind. Not too much, just a little bit.

For Objective-C, I would recommend:

  • Stephen G. Kochan – Programming in Objective C: the best introduction to the language and all you need to understand Cocos2D books. It's being constantly updated, so grab the latest edition if possible.
  • Steffen Itterheim – Learn Cocos 2D: Steffen makes you build many small games instead of a big one, which is something I prefer while learning.
  • Raywenderlich.com, which offers also some introductory stuff for Unity3D.

For Corona SDK, the documentation (even though a bit messy), examples, and experimenting were all I needed. But even if you are familiar with other programming languages, I recommend you skim through http://www.lua.org/pil/ to learn the basics of the language. Lua is fun, but it has some quirks compared to other languages you have been exposed to.

But once you have studied a little bit, the only thing that works is to make games on your own. Small prototypes, built from scratch, just for you and your friends. Remake classic games like Space Invaders, if you are short on ideas or if your ideas are too ambitious. Just learn to make things, like an artisan. And after a few experiments, even though you think you are not good enough yet, try to complete a small game and release it. Leave that awesome adventure game for later.

There has been a lot in the press recently that app development is going through a gold rush and that the bubble will burst soon. Do you see it like this?
Absolutely. I think the gold rush stopped in 2011. After that, huge successes from unknown developers are more and more rare. We have seen many in 2012 and in 2013 from Indie developers – Temple Run, Hundreds, the Blockheads, just to name a few – and while it is amazing these great games were built by tiny teams or solo developers, these are guys and gals that have been releasing solid titles from the beginning of the iOS app store. They have built a reputation for themselves over the years, even risking a lot in the process – Imangi's Max Adventure nearly killed them, and Temple Run was not successful, at first – and thus they have loyal gamers, followers, and they are well known and respected by Apple and the press in general.

These are things you cannot build with a single game – it can happen, but it is like winning a lottery where you can control just one or two of the numbers.

This said, I believe there are many niches were you can still be successful. Some swear by the educational game app market, for example, but then again I think it is unacceptable to force yourself to develop something you are not interested into; unless you approach game development only as a businessman, of course.

Do you think app games will eventually kill off AAA titles as we know them?
No, I think the opposite is already happening. Most of the names you see on top grossing lists are either the usual big companies that existed before the App Store – EA, Warner, Activision, Disney, and so on – or ex-indie developers that have made enough money to support their games with decent marketing campaigns.

Many developers accept to sell their games through game publishers. This is dangerous ground and you risk on losing your freedom and sanity going in that direction. I would not do it. Sponsorships like it happens for Flash games are fine, as long as you keep full IR on your work.

What does 2013 have in store for MagnetiCat?
We will release Tiny Crosswords in the Amazon store soon.

It is difficult to make precise plans when you do not have funds or cache money. We will work on more prototypes, and thus collect more ideas, so that when we have some moment of respite from our freelancing work, we can jump on one of these ideas and develop it.

I would like to focus on releasing some games on the web, and release those I think would fit touch devices also on iOS. I would love to do a Ludum Dare or two, but I doubt I will have the time to.

Any additional advice you would give for up and coming indie developers?
Just start doing stuff. Do not obsess over platforms, programming languages, softwares you are using to make your games. Programming skills transfer without problems from one language to the other. Pick the tools that let you complete the game in the shortest amount of time; do not fill your mind with useless keywords and syntax, autocompletion is there to help you in most IDEs, and chances are that any specific library you learn today will change completely in a couple of years. Pick the tools you can afford: there is plenty of free stuff you can use to build great games.

Build small things for yourself; when you feel you have something good in your hands, it is time to look for a bigger room to display it. Polish that thing, then unleash it to the wild and let it be played. Treasure feedback. Do not be an asshole to your fellow developers and gamers.

Once again, build small things that you love making and playing. If you can afford this luxury, do not obsess over money. The best things we make are those we make out passion, because they are the purest.

If money is a problem for you as it is for us, try to optimize your time. I feel your pain, I understand it is difficult to do, sometimes almost impossible. But you can do it. Say goodbye to that TV show. Play less games. Maybe take a shorter bath. Forget about Twitter. Forget about Facebook.

Risk a little. You won't be around forever, and the best thing to start doing something you love is doing it today.

Tiny Crosswords is available to download on App Store for free. Also keep up to date with MagnetiCat's progress on their website.

0 comments:

Post a comment

 
;