Thursday, January 1, 2015

Beginner Android developer interview: Gianluca from Frank Games

A month ago I got a mysterious email from a novice Android developer trying to promote his game - WHIZZY. I quite liked his first creation and I decided to ask him some questions about his programming experience, going back to my somewhat neglected tradition of publishing interviews. I was thinking that it could give you some inspiration for 2015. What struck me the most in Gianluca's answers was how little it requires to create a fairly decent game. I hope it'll give you some food for thought as well.

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

Gianluca: My name is Gianluca. I'm 23. I live in Sardinia (Italy). At the moment, excluding programming, I'm not doing anything special.

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

Gianluca: My adventure as an Android programmer began by accident a short time ago. My goal was to create programs for Windows, but, talking with friends, I realized that at the present time the future of applications concerns the world of smartphones. Although, in my opinion, the applications for smartphones are no longer the future but the present. If we want to look even more forward in time, I believe that in the future programs for robots and modern devices like Google Glass will become very important . In any case I started Android programming for fun.

Bartek: How did you learn how to create apps? What resources were you using?

Gianluca: As the first point, I learnt to program in C++ thanks to the book by Stroustrup, various programming tutorials online and websites. When it comes to video game programming, I usually do not study all functions. I try to understand how the framework works and learn only the functions I need.

Bartek: Did you study something computer-related?

Gianluca: Depends what you mean. I never did a computer science school. I'm self-taught, but I believe that the Internet offers enough content on the subject. Without doubt my training is not comparable to that of a computer engineer, especially when it comes to knowledge of programming languages such as C/C++. I do have a small base on low-level network programming using sockets though. It was very nice to start with these programming languages because they make you understand how a computer works, which does not happen with higher level languages. As a next educational goal I wanted to learn a high-level programming language. I was undecided between Java and Python.
Bartek: What libraries/frameworks do you use if any?

Gianluca: I use the win32 api for Wwindows and Cocos2d-x framework for Android.

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

Gianluca: I usually try to invent something different. Even if my ideas are always influenced by the ideas of others. It's normal and it works well for everyone. Up to now I've made just one game. It's not anything special. I created it while learning Cocos2d-x. I saw that there are other games similar to mine, perhaps because it is a type of game easy to make for a beginner. During the creation of my game I have not copied from anyone. In fact, I think it is similar to others but not equal.

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

Gianluca: Unfortunately, as you can notice, I'm not much of a designer. I work alone. I learnt the basics of Photoshop. Regarding the sound I try to take resources not protected by copyright, so from YouTube or specialized sites.

Bartek: Could you give some examples of sites that you take your graphic resources from? Also, what did you mean by writing that you were taking them from YouTube? How can you do that?

Gianluca: From YouTube I take only the audio resources. I download a music video or a sound that I like and I convert it to mp3 or ogg. As for the graphic resources, at the moment I create them with Photoshop. I'm not very experienced with it. I only know how to create basic shapes - spheres or cubes with light and shadow.

Bartek: Do you use any other programming tools?

Gianluca: In general, I use Code::Blocks, Notepad, and Visual Studio. When I program for Windows and with Cocos2d-x, I use Visual Studio. When I use Ubuntu, I program with Code::Blocks as well.

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

Gianluca: It took me two months to create my first app, but that's because I was good at programming with the console. Included in these two months are also all the days I was learning Cocos2d-x. If I had to recreate a similar game with the present knowledge, it would take a few days.

Bartek: How many hours a week (on average) were you working on the game?

Gianluca: Sometimes I stayed at the PC all day, sometimes for only three hours. If I'm inspired to create something, time limits don't exist for me. In general, I'm at the computer for a long time even though I'm not planning to.

Bartek: How do you test your apps? What devices/tools do you use for it?

Gianluca: I test my apps in BlueStacks emulator and on Android devices.

Bartek: How much are you making on your apps?

Gianluca: A few pennies. I've just started. Before I can earn some money, I should at least make people understand that I exist, I should also create a more diverse portfolio of video games.

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

Gianluca: I've been monetizing my game through ads, but I have not yet found a decent ad network.

Bartek: What ad networks have you been using? Why do you think that you haven't found a decent one yet?

Gianluca: For a short period I was using RevMob. Its banners were beautiful and full-screen, but their size was too big. They were slowing down the execution of the game and they were appearing too late - often in a wrong moment. Currently, I'm using Millennial Media. The loading speed is fine, but the banner quality is bad and it's not full-screen. I don't know if it's my fault or theirs. I'll try other networks in the future, but I am in no hurry at the moment, because I don't generate many ad requests anyway.

Bartek: What do you think has been the most/least successful aspect of your game?

Gianluca: It's too early to talk about these things.  With the first and only application that I created, my expectations weren't very high. It was made for the purpose of learning. With time I'm hoping to improve my skills. Meanwhile, I'm working on another game that should be more innovative and have lower hardware requirements.

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

Gianluca: Not for now. Just a bit of promotion among friends and on forums.

Bartek: What are your favourite Android games/apps?

Gianluca: I really enjoyed Geometry Dash.

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

Gianluca: None. I read a bit everywhere, but can't remember the name of a particular site.

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

Gianluca: I am creating a new game. It seems to me there are no similar ones on Google Play yet, so it should be quite innovative. I hope not to be wrong, although sometimes, because there are so many games on the Play Store, you realize only later that your idea was not so unique. But one thing is sure. I'm not creating the game trying to emulate someone else's. I'm modeling my way, with my way of thinking. It's important to me that my work is not a copy of another game.

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

Gianluca: I can recommend to follow this profession only if you have passion. If you believe in getting rich, you'll probably lose time. Few developers earn money with applications when compared to the number of them publishing on Google Play. I think that things need to be done only if you enjoy doing them.

Bartek: Where can people find you on the Internet?

Gianluca: Now only via email: Twitter and Facebook will come with time.

No comments:

Post a Comment