Thursday, October 31, 2013

Android indie developer interview: Jeremiah McLeod

Here's yet another interview from the series. I hope you enjoy them as much as I do. Without further ado, let's get to it.



Bartek: Tell us something about yourself. Who are you? Where do you live? What do you do in life?

Jeremiah: We’re a two man game development team who loves making games. I (Jeremiah McLeod) do the coding and Chris Binder does the art, sounds and videos. We both have regular jobs and work on our indie game development in our spare time.

Bartek: When did your Android adventure start and how? Why did you decide to do it?

Jeremiah: I’ve been programming since I was young. In college I learned Java and started making applet games for my website. Then I got into making mobile games with J2ME back in like 2005. Around 2010 I got my first Android phone and loved it. Immediately I started making apps for it. Only thing I was missing for making real games was the art work. I have no art skills, so I posted in some forums that I was looking for someone to partner with to do the art for android games. That’s when I found Chris, and we’ve been working together since then.

Bartek: How did you learn how to create apps?

Jeremiah: I pretty much taught myself the basics when I was around 12 years old, from books I could find. I made some copies of games like Tetris and Breakout on my old 286 computer I had when I was a kid. In college I took a class on Java and was enamored with it. I spent a lot of time learning Java mobile before there was an iPhone or Android. It didn’t take me long to learn Android, mostly from online resources.

Bartek: What libraries/frameworks do you use and why did you choose them?

Jeremiah: For our first apps, all we used was the plain Android API writing all the game code ourselves. I didn’t even use Eclipse, just a text editor and batch files to run the Ant builder. Now we're using libGDX, Spine, and Unity. I chose libGDX because it’s cross platform and also because while it handles a lot of the low level stuff for you; you aren’t limited by what it can do. With some frameworks you are out of luck if the framework doesn’t do it for you or there is no plugin. libGDX gives you a lot of freedom to do just about anything. Chris is working on our first 3D game in Unity and he’s also doing the coding on this one. Spine is a great tool for animation, we backed their kickstarter when I heard about it from some of the libGDX contributors I follow. We haven’t finished a game with it yet, but were working on one currently using Spine.

Bartek: Have you tried any other frameworks before? Which ones? What are your experiences with them?

Jeremiah: No, we haven’t tried any other frameworks. I looked at AndEngine but decide to go with libGDX instead. AndEngine looked good, but libGDX looked like it was less restrictive.

Bartek: Where do you take app/game ideas from? How do you know if they have a chance to be successful?

Jeremiah: We both played lots of games growing up, on everything from Nintendo to a computer. A lot of the games I like to do are the 2D retro style games. Chris has been doing 3D animation and games for years now and likes to do more modern games. It’s hard to say if a game will be successful, there’s a lot more to it than just making a good game. You have to market well and ASO plays a big part of it now.

Bartek: Where do you get resources from (graphics, sounds, music)?

Jeremiah: Chris makes all of our graphics, sounds and music. He uses tools like Photoshop, BlenderSpine and even an iPad app called Figure for making music loops.

Bartek: What other programming tools do you use?

Jeremiah: I use git, mostly just for keeping backups of each version of our apps. We share Google Docs for collaborating.

Bartek: How long does is take you to make a single app?

Jeremiah: It can take a few months to over 6 months for us. We work on our games in our spare time. It’s more like a hobby for me. I enjoy doing it, so I put a lot of my time into it, but it still probably takes us longer than most development teams.

Bartek: How much are you making on your apps?

Jeremiah: We don’t make enough to quit our day jobs yet. But our earnings have been going up for the last year. We put a lot of our earnings back into advertising when we release a new app. Most of our income comes from free apps with advertising.

Bartek: How do you monetize your apps? What ad networks do you use if any? Do you have any advice on it for others?

Jeremiah: We use AdMob exclusively, and without any mediation. This may sound ridiculous to some but we make great eCPM’s with AdMob alone. We are trying to build our brand so we never used push or aggressive advertising. We only use banners and interstitials. We also have paid versions of some of our apps, that don’t have any advertising in them. And one of our games has IAP where you can buy additional levels to play.

Bartek: Why do you use AdMob exclusively? Have you tried other networks before? What eCPM’s do you get?

Jeremiah: For the first two years or so of developing we weren’t focused as much on the monetizing and AdMob was the simplest ad network to add and not worry about fillrate. I tried Millenial Media at the end of 2012 for a couple months, but by that time AdMob was beating their eCPM for us. I don’t know if AdMob rewards loyal developers or something, because I hear that a lot of people get very low eCPM with them. For the first two years or so our ECPM was around $0.40 to $0.60 But for the last year it has been around a $1.00 ecpm and last month it averaged $1.47 eCPM for banners! Our users are in good countries too, but not just the US and UK. When we buy installs from AppBrain I go back over my AdMob geo stats for the last 6 months and pick the top 15 or so countries that have given us the highest eCPM’s. Then we buy installs from those countries. You would be surprised by some of the countries that give us good eCPM’s. We just started using AdMob interstitials, so most of our revenue has come from banners.

Bartek: Could you specify the revenue percentage for ads, paid aps and IAP?

Jeremiah: Ads is about 90% of our revenue and paid apps together with IAP is about 10%. I grouped paid apps and IAP together because I don’t have separate stats for them. I believe there is a lot of potential in IAP but I personally don’t like games where you have an advantage because you spend money for upgrades or extras. We may try some of those types of IAP in the future, but initially I was really against them, since it’s not the type of game I would want to play. The IAP’s we have in our game now give the users extra level packs, which I believe is actually worth spending money on, but these are not the type of IAP’s that make the big bucks for most developers.

Bartek: Which ones of your apps were the biggest success and which ones were below expectations? Why?

Jeremiah: Party Light Free is our biggest earner. And it has been earning steadily for 3 years without slowing down. I think it’s our biggest success because it was our first app and was in the Google market when it was still young. I kick myself for not making apps for Android earlier, like 2008 when it first came out. There are apps in the market that have been on the top of the charts for 3-4 years just because they got early momentum and snowballed. Our breakout clone, DagazEhwas is our lowest earner for the amount of time we put into it. It probably didn’t do well because the name is never searched for in the market.

Bartek: Do you use any marketing techniques or ASO to promote your apps?

Jeremiah: We try to promote heavily in the first 30 days of app launch as this is when you will get the most bang for your buck. If you can get an app high in the Top New sections you can expect more organic installs. We sometimes buy installs from AppBrain to give our apps a start and then we see up to 10 times organic installs than what we paid for.

Bartek: What are your favourite Android games/apps?

Jeremiah: Sketchbook Squad by Orange Pixel, Final Fantasy 3, Pew Pew.

Bartek: What Android devices do you own?

Jeremiah: Currently I have a Galaxy S3 and Nexus 7. I’ve owned an HTC Hero, multiple Motorola Android phones and a Dell Streak.

Bartek: What Android blogs/sites do you read regularly?

Jeremiah: http://www.makingmoneywithandroid.com

Bartek: What are your plans for the future? What do you want to create/achieve?

Jeremiah: We’re going to be making our games for more platforms, like IOS, and working on some 3D games.

Bartek: What advice would you give to other developers (something that you wish you had known before yourself)?

Jeremiah: Choose your app names with ASO in mind. Choose a good framework that can build for multiple platforms.

Bartek: Where can people find you on the Internet? Give some links to your blogs, apps, Google+, Twitter, Facebook, etc.

Jeremiah: http://www.xdebugxgames.com/devblog
https://play.google.com/store/apps/developer?id=XdebugX
https://twitter.com/XdebugX_Games
http://www.facebook.com/XdebugXGames


Come back for another interview next week and if you're interested in how I'm doing with the game... just wait until the weekend (or perhaps Monday). I'm going to the mountains tomorrow morning, so I might not implement so much, but still, I like the progress so far.


Sunday, October 27, 2013

Blobby Volley for Android - Progress Report 1


It's been a week since I started working on a Blobby Volley clone for Android. Here's what happened during that time.

I managed to work for around 17h (give or take 2h). I used Toggl to track my work time, but I sometimes forgot to turn it off or turn it on, and thus the slight inaccuracy. I'll try to be more diligent in the future. I chose the tool almost at random, taking the first one suggested by Google. It could be more user friendly, but it does the job, so I guess I'll stick with it for now. If you have a better suggestion, I'll be grateful to hear it.

So, I learned the basics of AndEngine and managed to code a playable (although not too enjoyable yet) version of the game. You can donwload the apk and try it out yourself. I'll be publishing the current version of the app every week, so you can keep track of what's been improved.
Right now you control both players at once (no AI yet), by using the buttons in the bottom (the one on the left for movement and the one on the right for jumping). The player who won the last point gets to serve. I actually count the points, but I don't display them yet. I don't like the way the physics works right now, but I'll be working on it this week.

As you can see, I borrowed the background and some of the resources from the original game. I found it on SourceForge. I'm not sure, if I'll be able to keep it in the future for legal reasons, but they'll have to serve for now. If anybody knows if I can use graphics from a game that uses the GPL license in my app without publishing it on the same license, please let me know.

The biggest problem that I had so far was creating complex bodies in the physics engine. I managed to do it eventually following a post on the official forum, but I'm still not sure how the positioning of composite bodies work. Also, what's been bothering me the whole time is the lack of an official documentation of any kind. The code examples are excellent, but browsing them every time you need to use some functionality is not convenient and you have to spend time fishing for the fragments that interest you in the sea of boilerplate code.

Another obstacle appeared when I wanted to export the apk file. I was getting "Conversion to Dalvik format failed with error 1". I think it's a quite common issue, since you get a lot of results when you type it in Google. Unfortunately, none of the suggestions worked for me. Finally, I managed to produce the apk... but I'm still not sure what helped. It must have been a combination of changing the project's properties, cleaning it, removing duplicate libraries, closing Eclipse, removing the gen and bin folders and some other actions. I hope I can do it more smoothly next week.

What helped me immensely was the AndEngine Debug Draw Extension which shows all the physics engine bodies in the scene (take a look at the screenshot on the right). Without it, it would be virtually impossible to track physics bugs. It should definitely become a standard feature. I wasted a ton of time trying to figure out why my blob was moving in a spiraling fashion and when I finally saw the body drawn, I came up with a solution immediately.
What was useful as well was the AndEngine Tutorials site. I haven't read it all, but quite surprisingly, whenever I got myself in trouble and used Google to find an answer, it always showed up as one of the top results. I might give it more attention this week and go through some, if not all, of the tutorials.

What's my plan for this week? I want to show the points, make the physics work better, improve the controls and perhaps implement some basic AI. I'm not sure if I can complete all this, but I'll try to do as much as I can. On Friday I'm going to the mountains for three days, so the next progress report might get published on Monday. I'll also not have as much time to work on the game, but I should be able to commit at least 10h.

I hope you like what I've made so far. Let me know what you think and come back next week for new updates.

P.S. A new interview is going to pop up this week as well.



Thursday, October 24, 2013

Android indie developer interview: Veaceslav Grec

Even though I've just started a new game project (see the previous post), I'm still planning to do interviews and publish them every week or two. Today, you'll have a chance to meet another developer and learn a couple of tricks from him. And if you're curious about my AndEngine experiment, just wait for the first report this weekend. Anyway, enjoy your time on the blog and take as much as you can for yourself.


Bartek: Tell us something about yourself. Who are you? Where do you live? What do you do in life?

Veaceslav: My name is Veaceslav, I am 26 and I live in Moldova. I have worked as a software tester for about 2 years, then I moved to development and now I'm working as an Android developer.

Bartek: When did your Android adventure start and how? Why did you decide to do it?

Veaceslav: It started about 2 years ago. I was working in software testing but with a strong interest toward programming. It was the middle of the spring 2011, when I attended an IT event. One of the topics on the agenda was called „Mobile and Game Development” (or something like this). I remember I was so inspired by the speaker, and mobile technology which I hadn’t even considered before. I left at the end of the talk, went home, downloaded the Android SDK, and started to make my way into Android world. I chose Android because I was already familiar with Java.

Bartek: How did you learn how to create apps?

Vaeceslav: I got started with the Marakana videos, official Android documentation, and The Busy Coder's Guide to Android Development book.

Bartek: What libraries/frameworks do you use?

Veaceslav: I use Sugar ORM for database related stuff, and ActionBarSherlock for backward ActionBar compatibility. For user interface related stuff I go to AndroidViews.net.

Bartek: Where do you take app/game ideas from? How do you know if they have a chance to be successful?

Veaceslav: All of the apps that I currently have are variations of what already exists. I don’t have high expectations from them, they are simple apps and mainly made to test in short time how Android works and how the whole process of monetization works.

Bartek: Where do you get resources from (graphics, sounds, music)?

Veaceslav: Some of the graphics were done by me, and some from devianART. The sounds were taken from SoundFX Now and http://www.partnersinrhyme.com.

Bartek: What other programming tools do you use?

Veaceslav: I started to use Genymotion emulator and I like it very much. Besides the fact that it has a higher speed compared to the emulator that comes bundled into ADT, it also supports Google Play Services. So, testing Google Maps API V2, or Google Cloud Notifications on the emulator, is not a problem. I also use SonarQube (formerly Sonar), a tool that gives you various indicators on the quality of the code.

Bartek: How long does is take you to make a single app?

Veaceslav: It depends. For example, the apps that I have now on Google Play took me from a few days to a few weeks, but they are simple apps. Currently I’m finishing 2 other apps, and one of them has been more than 1 year since I began to work on it, and another about half a year. Not because they are super complex, but because there’s little time to dedicate to them. As I have a full time job I tend not to take big projects, under these time constraints finishing a big project becomes a big challenge, and there’s a good chance that that a project could remain for a long time in the IDE never making its way to the finish.

Bartek: How much are you making on your apps?

Veaceslav: Well, I can’t say at this moment I'm making any decent earnings from the apps. What I can say is that I can raise the minimum amount to be withdrawn, in a few months. But when this happens, it gives me faith and proof that making money with Android apps is real.

Bartek: How do you monetize your apps? What ad networks do you use if any?

Veaceslav: I use AdMob and I'm looking to try LeadBolt in the next apps, as I have heard a lot of good feedback in regards to it.

Bartek: Which ones of your apps were the biggest success and which ones were below expectations? Why?

Veaceslav: I could mention Demotivators Creator which pleasantly surprises me to still bring downloads and gather positive reviews.

Bartek: Do you use any marketing techniques or ASO to promote your apps?

Veaceslav: Trying to follow the standards: good description including keywords, keywords in the title of the app, nice looking icon.

Bartek: What are your favourite Android games/apps?

Veaceslav: EnFile File Manager – a rich file manager with a clean user interface. Occasionally, I play chess, Marble Blast, and Angry Birds.

Bartek: What Android devices do you own?

Veaceslav: Samsung Galaxy Ace.

Bartek: What Android blogs/sites do you read regularly?

Veaceslav: I am subscribed to AndroidWeekly and Android Developers Blog.

Bartek: What are your plans for the future? What do you want to create/achieve?

Veaceslav: I want to finish the apps I’m working on now, and then update the existing apps (at least to modify them to use the new APIs). Till now I was experimenting only with apps, and 2D game development is the next thing I would like to try.

Bartek: What advice would you give to other developers (something that you wish you had known before yourself)?

Veaceslav: Don’t limit only to Google Play store, publish your applications on other stores as well. Perhaps they won’t bring as much downloads as Google Play store brings, but when putting them together they could drive your downloads. Here are several alternative stores: SlideMe, Amazon, Opera Store.

Bartek: Where can people find you on the Internet?

Veaceslav: My Android blog: http://androidresearch.wordpress.com/
Twitter: https://twitter.com/Veaceslav_Grec
Google Play Developer page: https://play.google.com/store/apps/developer?id=Veaceslav+GREC


Veaceslav is making great Android tutorials, so make sure to check out his blog. Another interview is coming next week, with plenty of new tips and tools. In the meantime, I'm going to keep working on my game and I'll post a report this weekend. I'm excited to share my progress with you, so don't miss it.

Saturday, October 19, 2013

I'm making a game with AndEngine

I'm very excited to announce a new project of mine that I've always wanted to do, but I've never had enough time or a good enough idea. Well, it so happens, that I only do some freelancing now and I have some time to spare. I also came up with an idea that seems pretty simple, but decent and fun. But let's start from the beginning.

For a long long time, I've been reading blogs of indie game developers, being jealous about their work and lifestyle. I wanted to make a game myself, but I never really knew where to start. To be quite honest, I made some attempts - I created a couple of board games ages ago and played around with OpenGL, but none of this ever saw the light, so I guess it doesn't count. Now, with more experience and the Google Play Store letting me publish my work, I'm finally ready to give it a try.

I decided to use AndEngine because of its good reviews on the Android Game Engines site, as well as the interviews that I made with other developers. Even though some people said, that libGDX might be more flexible, when I checked out the AndEndine Examples app, it seemed to me that it had everything that I needed. We'll see if I was wrong later on, but I'm pretty sure it's going to turn out positively. AndEngine is open source and free to use, so I won't have to spend a dime to create whatever I want. The only real worry I have is that its documentation is not that solid, but having the source code of all the examples at my disposal as well as a fully functional forum, I should be all right. Oh, I should probably mention that I've never used it before, but I'll be learning as I go.

The game that I want to create is a clone of Blobby Volley. You can get the free version from Google Play or just watch some YouTube videos, to get a grasp of what it's all about. In a nutshell, you play beach voleyball by controlling one of two blobs. Perhaps it doesn't sound that exciting, but play it for 10 minutes and I guarantee that you'll get addicted. You can play against AI or real people, which makes it even more fun. As a matter of fact, there are official leagues and tournaments organized by some crazy individuals. It happens that there is only one Android implementation of this game with between 1 and 5 million installs. I have to admit that it's pretty decent, but I can think of plenty of adjustments to make it even more fun and steal some of its users.

So here's what I'm going to do. The plan is to spend between 10h and 20h a week learning AndEngine and implementing the game, while sharing all the work details with you in a weekly post. I want to see how soon I can teach myself how to code games and finish my first full-fledged product. I want to document all my problems and struggles, so that next time I'll be aware of them. I also want you to be able to follow the whole process, learn from my mistakes and perhaps create something by yourself one day. I'm excited to see the first results, play the game and maybe make it my most popular app.

If you feel like helping me, let me know what enhancements in the original game you'd like to see. I've already come up with some ideas myself: I want to add more backgrounds and customization options (e.g. player colors), wind, perhaps 2 vs. 2 games, 2 balls, and other new game modes. I'll need beta testers as well, so if you want to play my game, write me an email at: bartas.wesolowski [at] google.com with the name of the device that you own. You'll be one of the chosen people on the planet who get to have fun with it before the official release date.

Did I choose the engine and game type well? Can I do it? How long will it take me? What will I have the most problems with? Make a guess and comment or just wait for my first report next weekend.

Tuesday, October 15, 2013

Android indie developer interview: Wolfgang Knecht

Here comes another story of an Android developer. But, before I bring it to you, I'd like to thank you for all the kind words from comments and emails. I really appreciate all of them. They motivate me to keep writing this blog and cheer me up when I feel down. You're great!
Oh! And one more thing. I got featured on Android Weekly once again! Check out the site if you haven't done it yet and if you're coming from there - welcome and enjoy your reading.


Bartek: Tell us something about yourself. Who are you? Where do you live? What do you do in life?

Wolfgang: I'm Wolfgang Knecht, 29 years old and currently live in Vienna, Austria (originally I'm from the western part of Austria). I studied visual computing and I'm now self-employed working on apps and games.

Bartek: When did your Android adventure start and how? Why did you decide to do it?

Wolfgang: In the past I created games (most of them unfinished) for Windows. But there was always the problem that there was no way to sell them except when you found a publisher who did this for you. Beside the fact that I never got to the point of really searching for a publisher in Android I saw a great chance to publish my apps/games on my own. I did my first attempt to create a game for Android in 2009 on the emulator (the game is still unfinished ;)).

Bartek: What kind of games did you create for Windows? Can you still see them somewhere?

Wolfgang: I created a game called Sopwith Camel 3D. It was about a plane which you saw from the side. You could fly up and down and throw some bombs. And I started some FPS games which I never finished.

Bartek: How did you learn how to create Android apps?

Wolfgang: I have done programming since I was a child. I did my first tries on the C64 and learned some programming languages during the time. So switching to Android was not that difficult for me. I used the Android docs and there was also a course at the university where I studied where I learned the differences between writing an application for desktop and developing for mobile devices (like the lifecycle, activities and so on).

Bartek: How difficult do you think it is for a programmer to switch from regular desktop programming to Android? How much time does it take? What do you think is the best way to do it?

Wolfgang: If you already program for desktop it may takes maybe 1-2 weeks till you can write an app for Android. In my opinion it's very important to understand the differences like lifecycle, localization and so on.
Reading the official Android Developer Manual carefully is the best way to learn it.

Bartek: What libraries/frameworks do you use?

Wolfgang: Currently I use libGDX to create games. LibGDX is great because it manages all resources for you. You don't have to care about a context loss. It's easy to use and flexible. By context loss, I mean the OpenGL context. You don't have to recreate textures for example. libGDX does this for you. Before I tried to create games on  Android just using OpenGL. But managing textures was a pain.

Bartek: Did you have a chance to use AndEngine or some other libraries?

Wolfgang: I didn't use AndEngine. I heard about it, but it seemed to be less flexible than libGDX.

Bartek: Where do you take app/game ideas from?

Wolfgang: Ph, good question. I don't really know :) I had the idea for my game Scribble Racer because there was this Samsung Smart App Challenge I wanted to participate in. The requirement for the challange was to make an app or game that uses their Galaxy Note S Pen. So I thought about what game I could create that makes use of the stylus. Ideas for other apps just pop up here an there :)

Bartek: But how do you judge if they have a chance to be successful? Or you just write them for the joy of writing and then see what happens?

Wolfgang: If it is a small project I just start coding and see what happens. For bigger projects I talk with friends. Ask about their opinion, what they think of the idea.

Bartek: Where do you get resources from (graphics, sounds, music)?

Wolfgang: Till now I did the graphics by myself. I take the sound from freesound.org and buy music from audionetwork.com. For our current game (I work together with a friend now), we hired a graphics artist.

Bartek: Can you tell me some more about the graphics creation process? What programs do you use for this? How did you learn how to do it, and if it was during your studies, how can other people learn it as well without going to university?

Wolfgang: I'm a very bad artist. And I didn't learn how to draw during my studies. That's why we hired an artist now. But I did the graphics for Scribble Racer with the Galaxy Note. It was much easier to get good results. It was just like drawing on paper. Some highlights here and some shadows there and it looked acceptable, but definitively not perfect :)

Bartek: What other programming tools do you use?

Wolfgang: I use git and svn as well as the common Android tools like 9-patch and DDMS. For analytics I also us Distimo and Google Analytics.

Bartek: How long does is take you to make a single app?

Wolfgang: That really depends on the app. One app is done on a weekend and the other takes a few months. But the time you put into it does not definitively correlate with the amount of money you make with an app. I make more money with a weekend app than with an app that took me 4 months to develop.

Bartek: How much are you making on your apps?

Wolfgang: I would say it's not too much but enough to pay the rent for a students' flat-sharing community :)

Bartek: So, you're still a student?

Wolfgang: No, I finished my studies. But all my flatmates are doing the PhD. And I still live somehow like a student :)

Bartek: At which point did you decide to make Android apps full time? Are you able to make ends meet this way or do you have some other job?

Wolfgang: I decided to do it after my studies. I did a halftime job to get in some money I can live off and the other half I worked on my apps. Then I was very lucky to win some money at the Samsung Smart App Challenge. I can live from that money now, at least for a few months.

Bartek: Congratulations! Was it Scribble Racer that won the award?

Wolfgang: Thanks! Yes it was Scribble Racer.

Bartek: How did you get to know about the Samsung Smart App Challenge?

Wolfgang: I participated at a local contest here in Austria. Because of this contest I got a newsletter. And they were writing about the Smart App Challenge. By the way: currently there is also a Smart App Challenge going on: http://developer.samsung.com/ssac2013/main.do

Bartek: So you already had a Samsung Galaxy Note to be able to take part in it?

Wolfgang: No, I bought a used one just for this contest. I wanted to sell it afterwards. But then I kept it.

Bartek: Are you taking part in the next edition as well?

Wolfgang: Yes, I plan to. Now I have a Note.

Bartek: Great story!

Wolfgang: Yeah, it was great :)

Bartek: How do you monetize your apps? What ad networks do you use if any? Do you have any advice on it for others?

Wolfgang: I use AdMob, In-App Purchases and I put some of my apps on the store as paid apps. Ads only make sense if you have a huge user base. Selling features and new content with In-App Purchases works better for me than selling coins for example. Selling apps directly on Google Play also works quite good for me. But having a free version of the paid app really helps to sell.

Bartek: Which ones of your apps were the biggest success and which ones were below expectations? Why?

Wolfgang: My biggest success was for sure Scribble Racer (because of the prize). But my best app in the market is GPS Widget. It's one of those spontaneous weekend projects I created because I wanted something like that for myself. It's easy to use, does what the user expects and I guess the naming is the key. The name is exactly what people type into the search field when they are looking for something like that. Also my Countdown Live Wallpaper is more successful than I expected. Below expectations was FriendFinder AR. It took me a few months to develop it. I think it's not stable enough and would need some rework. Also the naming is misleading.

Bartek: Do you use any marketing techniques or SEO to promote your apps?

Wolfgang: I try to use app names people are searching for and I try to optimize keywords in the app descriptions. I do a lot of cross promotion and I also try to build a fan community on Facebook.

Bartek: What do you mean by cross promotion?

Wolfgang: I have this 'More' button in most of my apps. It links to a list of all my other apps.

Bartek: What are your favourite Android games/apps?

Wolfgang: I like to play Auralux and Super Hexagon. And Jetpack Joyride is great.

Bartek: What Android devices do you own?

Wolfgang: I have an HTC Desire and the Samsung Galaxy Note.

Bartek: What Android blogs/sites do you read regularly?

Wolfgang: Some time ago I visited makingmoneywithandroid.com regularly. But at the moment there are no blogs/sites I read regularly.

Bartek: What are your plans for the future? What do you want to create/achieve?

Wolfgang: Currently I'm developing a new game together with a friend. We hope to sell the game to be able to work on further projects in the future.

Bartek: Can you reveal some details of the game? What's its genre? How did you come up with the idea?

Wolfgang: It will be a runner game called "Agent, Run!". The main difference from other runner games will be that you don't control the player, but the world around him.

Bartek: Nice! Where did you get the idea from?

Wolfgang: The main idea was by my friend. Then we just talked about it and came up with new ideas together.

Bartek: When are you planning to finish it?

Wolfgang: We plan to release it in the first half of the next year.

Bartek: What advice would you give to other developers (something that you wish you had known before yourself)?

Wolfgang: Don't expect too much. Making money with apps is not as easy and fast as it seems (at least for me). It takes a lot of time and it's hard work to earn a few bucks. Start with small projects you can finish and try to create apps/games you would really like to use by yourself.
Also, create apps/games because you like to do it and not just because of the money.
Bartek: Where can people find you on the Internet? Give some links to your blogs, apps, Google+, Twitter, Facebook, etc.

Wolfgang: http://www.wolfgang-knecht.com
http://www.facebook.com/ScribbleRacer
https://play.google.com/store/apps/developer?id=pixelclash
And our upcoming game:
http://www.agentrungame.com/
https://www.facebook.com/AgentRun
the agent run pages are very very WIP :)
https://twitter.com/WolfgangKnecht

Bartek: I like the game's style. Good luck with it.

Wolfgang: Thanks :)



More interviews along with a brand new secret project of mine coming soon. Stay tuned :)

Tuesday, October 8, 2013

Android developer interview: Jörg Winterstein

I'm happy to bring to you another interview from the series, this time with Jörg Winterstein - a successful indie developer with an interesting story. He's sharing great tips about game engines/frameworks, ad networks and tools that he uses. Without further ado, here it goes.



Bartek: Tell us something about yourself. Who are you? Where do you live? What do you do in life?

Jörg: Hi, my name is Jörg. I am 32 and live with my wife and my two year old son (more are on the way!) in a small village in south Germany. I have always been working in the video-gaming industry. Two years ago, I founded my own company and am working there on mobile games of all sorts.

Bartek: When did your Android adventure start and how? Why did you decide to do it?

Jörg: When the last company I was working for went bankrupt because our investor lost faith in us, I decided to try it all by myself. I started my company and did what I can do best: make games. I wanted to prove myself that I can do it if I am on my own, and if I am responsible for all the business decisions.

Bartek: How did you learn how to create apps?

Jörg: I have been programming since I was a kid, so I only had to "adopt" to a new syntax everytime I change the programming language.

Bartek: What libraries/frameworks do you use?

Jörg: I created my older apps with the Corona SDK. It's great to see fast results, since you only have to deal with "high-level" coding. All engine stuff is done by the framework, and you have your first app up and running in minutes. I then chose to abandon Corona and to try the quite unknown language - Monkey. It gives me more freedom on using 3rd party libs and implementing my own hardware specific code. The downside is that it takes more time to develop stuff with it. I will eventually switch to Unity once my current app is finished.

Bartek: I'd like to know more about your switch between CoronaMonkey and Unity - why did you choose them and why did you decide to abandon them? What do you think their advantages and disadvantages are?

Jörg: Corona was great for me in the first place because you are able to see results very fast. The engine provides a lot of stuff that is already very "high-level", like a GUI system with buttons and sliders, image loading and rendering with rotation, scaling, changing color, grouping objects together and stuff like that. That helped me create my first apps very fast. But the more I wanted to do, the more I was limited by Corona.  It helps you get a lot of stuff done, but once you need something that corona does NOT offer, like a different advertising network or using the Android hardware keyboard, you would need to get the quite expensive (from an indie-developer point of view) enterprise edition. Plus, Corona is limited to iOS and Android platforms at the moment. And in my opinion, it is very important to cover all possible platforms with your game.

With Monkey, you have full control over everything and can write your own 3rd party libraries for only a fractional amount of Corona's enterprise license cost. You can also build for many more platforms than with Corona. The downside is that you do NOT have e.g. a GUI-System. I had to implement one my own. You don't have different rendering layers, so grouping objects is not possible without extra code. Another downside is the fact that Monkey is more or less developed by one single person. There are frequent updates, but not always for the features that you are in need of right now.

Unity will be my next "big step". The great plus of Unity is that it is "established". It has been used over the years by hundreds (if not thousands) of people, and it has evolved into one of the most comprehensive engines available (for a reasonable price). It also covers ALL major and medium platforms you can think of, and you can be sure that it WILL support future gaming consoles and mobile devices faster than any other framework. Plus, it has a killer set of tools and an editor that even non-programming-people can use and get results with.

Bartek: Where do you take game ideas from?

Jörg: I have been playing videogames for all my life. You can find resemblances to other games in all of my work. Nowadays, living the life of a husband and father, I do not have that much time to play videogames anymore, but of course I still do... late at night, when everyone is sleeping (and I should sleep as well...). But that is the reason why most of my ideas come from older games from the homecomputer, 8-bit and 16-bit era of videogames. But I also get ideas from movies, books, comics and music. I love horror, mystery, sci-fi and fantasy stuff, no matter what mediaform, and they are always a neverending inspiration for me.

Bartek: Where do you get resources from (graphics, sounds, music)?

Jörg: I do all the stuff on my own at the moment. Once my company gets larger and I start making bigger games, I will need some more artists. Since there was no Internet when I started making games, I HAD to do everything on my own. So I started pixeling graphics and making chiptune sounds. That helps me today to be as independent as it gets.

Bartek: Do you really make EVERYTHING yourself or do you use some resources (free or paid) made by other people?

Jörg: At the moment, I really do. I started making games back in school. There was no internet, there were no other people interested in doing the same thing, so I HAD to do all stuff myself. That way, I learned to pixel graphics and make music. I did this by paying close attention to the work of other people (== playing a lot of games). I analyzed pixel art and animation in my favorite games. I had a look at what colors people used to create shadows and lighting effects in sprites, I count the number of frames a running animation has and so on. That way, I more or less learned by "copying" stuff from other games. Today, I still look up pixelart from 8-bit and 16-bit games I remember to get inspiration for the colors to use, the size of characters and tiles and so on.

With music, it was all the same. Back in the 90s, it was common to use "modules" for sampled PC-music. Think of it as sort of a digital sheet of music that uses small wave files that represent single instruments. A base drum, a snare drum, a bass note etc. The music was then played more or less "live". There were programs called "trackers" that were used to create those modules. So I was able to load songs from other musicians and have a look at how they composed the song. I could look up the notes and melodies, mute some channels and find out why it sounded how it sounded. It is all just about analyzing and understanding how things work.

Bartek: What other programming tools do you use?

Jörg: I use Dropbox :) I have used revision control tools like Subversion in the past, put since I currently work alone, Dropbox is absolutely sufficient. I use Renoise to create my music and GIMP to make my graphics.

Bartek: How long does is take you to make a single app?

Jörg: It depends. I created some of my kids apps in 4-6 weeks, but my current app Bloo Kid 2 is being developed for several months now.

Bartek: How much are you making on your apps?

Jörg: If I add all stuff together (money from sales, advertising, affiliate marketing) I end up with way more money than I had when I was employed. You can also check out my blog to see my monthly reports.

Bartek: Could you describe how you're making money on affiliate marketing?

Jörg: Affiliate linking, in short, works like this: I send my app users to the appstore. To another one of my apps, to my app portfolio or whatever. If that users then buy something in the appstore (apps, music, movies etc.) I get a provision for that. So basically, if I make someone buy something in the appstore, apple rewards me for that.
Now the problem is that there are affiliate programs for the appstore for many different countries, and I would have to lookup the geo-IP address of my users and then pick the corresponding program. This is where a service called GeoRiot comes into play. They do all the geo-IP-resolving for me (and therefore take 15% off the revenue I make). But I think it's a great deal, since it makes things a lot easier for me.

Bartek: How do you monetize your apps? Do you have any advice on it for others?

Jörg: My kids apps are downloadable for free, but not all content is available. You can then "unlock" the whole content with a single inapp purchase. I find it fair that people get the chance to try the product before buying it. My game Bloo Kid is making revenue with advertising. As long as you get enough downloads, this can work very well, too. My advice would be to try out different monetization techniques. Find what fits your app best.

Bartek: Could you briefly describe the ad networks that you use.

Jörg: At the moment, I mainly use Vungle, which is an ad network serving 15-second fullscreen videos ads that can be configured so that you MUST watch them (which I hate) or that you can skip them after 3 seconds. But I am currently thinking of switching back to Inneractive, which is an "ad mediation service", meaning that it bundles many different advertising networks together that can be used by implementing only one SDK. In my Corona apps, I also use RevMob, a service that shows fullscreen (== interstitial) ads asking you to download a free game. Once the users downloads and plays such a game, I earn money. The RevMob ad is shown if Vungle has no impression to show at the moment. Using both Vungle and RevMob required me to have extra code for both networks. With inneractive, I could make the "switch" without extra code.

Bartek: Which ones of your apps were the biggest success and which ones were below expectations? Why?

Jörg: My kids app Animal Puzzle for Toddlers is very successful. I think it comes from the name. Everyone who searches a "puzzle" with "animals" will type exactly those two words into the search field. That way, my app is very "visible" in the store. The opposite goes for Knight's Castle for Kids. While the "conversation" rate is as high as the one from the animal puzzle (meaning the percentage of the people unlocking the app after downloading it) is the same for both apps, Animal Puzzle got way more downloads. I think people search for "animal" and "puzzle" way more than for "knight" and "castle".

Bartek: Do you use any marketing techniques or SEO?

Jörg: I try to optimize my keywords and I started to add localized descriptions to my apps. As I said, it is very important that people searching for a specific app will find yours.

Bartek: What are your favourite Android games?

Jörg: I really love (most of) the games from OrangePixel. They have a retro look but still a modern overall feeling.

Bartek: What Android devices do you own?

Jörg: I have a Samsung Galaxy S1 and an Nexus 7 tablet.

Bartek: What Android blogs/sites do you read regularly?

Jörg: AndroidPIT and xda-developers, but I also read the indiegames.com weblog.

Bartek: What are your plans for the future? What do you want to create/achieve?

Jörg: I want to be able to make bigger games, with a greater team. Maybe release games on consoles in the future. I have also always wanted to "touch" people with my work. Like I was touched back in the days when playing games on my Commodore 64.

Bartek: What advice would you give to other developers (something that you wish you had known before yourself)?

Jörg: Don't set your goals too high. Start with something simple and try to complete it. I know so many people that start great things but get lost halfway through. A small but finished product is worth way more than an unfinished opus magnus. Like everything in life, you will grow with what you do.

Bartek: Where can people find you on the Internet?

Jörg:
http://www.indie-story.com/
https://twitter.com/Eiswuxe
http://www.eiswuxe.de/
https://www.facebook.com/pages/Bloo-Kid/123783531046269
https://www.facebook.com/pages/Eiswuxe/143467645725161
http://www.winterworks.de/


I really appreciate that Jörg commited his time to share his experience with us. Jörg, if you're reading this, good luck with your apps and let us know if you come up with something cool.

Tuesday, October 1, 2013

I got featured on Android Weekly!


Imagine my surprise when I saw a ton of traffic coming to my blog from a site I hadn't even heard of - Android Weekly. It launched in August, so that's probably why it's not that widely known yet, but it's definitely worth checking out. Every week, they collect an interesting bunch of links to articles and sites useful for Android developers and designers. Among other cool stuff, you can find there some amazing code samples, industry news, information about new tools and free icons and templates. Just make sure to check it out, especially issue #69, where they write about my series of interviews. Gosh, I still can't believe I got mentioned in the same spot with Roman Nurik and Smashing Magazine.