Sunday 24 April 2016

How to get started with App Development

Getting Started with App Development

Let us begin with a question a lot of people ask and a question I asked myself, what is the difference between an app and a game? Aren't games apps anyway? Yes and no but they are two different things so let's get this out of the way first.

What is an App?

An app is a tool and should solve a problem, answer a question or help the user accomplish something. They should be easy to use right out of the box with no experience or learning required. Examples of apps are QR and Bar Code readers, Internet Speed testers, Maps, Flight radars, Calculators and so on.
A game on the other hand has a goal and requires problem solving and usually has a learning curve. A game should be challenging and entertaining with catchy music and visually appealing graphics.

Apps are created differently to games, apps are generally lightweight whereas games are large because they are made using game engines and are generally heavy on the graphics side. Before you even start coding a game, adding graphics and sound the size of the game could be as large as 10MB. Apps on the other hand tend to use features that are already built into the operating system thus keeping the file size quite small, depending on how many graphics and sound assets they incorporate of course.

For the sake of brevity we will talk about games as apps for the rest of this article now we have explained the difference.

A concern many new developers have is the amount of apps already on the market and is it possible to get your shiny new app found, like finding a needle in a haystack you might think. This can be true if you are only looking through the main categories, the good news is that most people use the search box in the stores to find an app that more closely meets their requirements. As long as your app has decent reviews and customer retention among other factors your app can still get found by carefully choosing the right keywords.

 

How many apps are there in the app store?

Google launched their Google Apps Market Place in March 2010 followed 2 years later, again in March, with the Android Market now called the Google Play Store or Google Play for short. The growth has been exponential and shows no signs of slowing down as more and more people jump onto the band wagon on a daily basis. At the time of writing this article Google has a staggering 2 million apps in it's store with Apple not far behind. This is being exacerbated by more and more app development tools making it increasingly easy for just about anyone with little or no knowledge of programming to be able to make an application in a relatively short amount of time.

With over 700 new apps being released every day you would be right in thinking that the market is saturated but I can tell you now that there will always be money to be made with the right product if it's special, unique, creative or beautiful to look at. Apart from the odd exception you simply can't get away with mediocre like you could a few years ago. Having a unique and beautifully made app doesn't automatically guarantee success though and I'll talk more about this later on.

What is the best operating system, Android or iOS?

That's a no brainer, Android commands an impressive 80% of the mobile market share compared to just 15% for Apple's iphones. It's also a lot easier to get an app accepted into Google's Play Store, publishing an app to the Play Store is almost instantaneous whereas Apple reviews all new apps which can take weeks, if there is a problem with your app you have to fix it then submit it again and wait. Apple is a lot more stringent and has more rules and regulations, although you are more likely to get people willing to part with their money with Apple than you are with Google's users. App development is generally easier with Android so if you're new to this that might be something you should think about.

Anyhow, you might not have a choice of operating systems. The two are not compatible so if you have an Apple computer you can't export to Android on it and the same is true the other way around. My advice would be to go with what you've got to start with and if your app is successful then it would be worth buying the other operating system to increase your reach.

Your first App

It always starts with an idea, an invention or a eureka moment. You get all exited that you've thought of the next million dollar app and you're positive it's going to be a success! You can't stop thinking about it and you want to tell everyone but you're scared someone might steal your idea.
Sorry to burst your bubble but the chances are it's already been done and probably been done many times over. Not only that, it might not be the fantastic idea you think it is. If it hasn't been done before then you need to ask yourself, why? Could it be impracticable or extremely difficult to implement on a mobile device? Is it going to cost a fortune and involve employing an office full of people? Will it take years to make and will the market still be there in years to come or will somebody else already be working on it right now and beat you to it, the chances are there will be someone somewhere with the same idea, it's almost inevitable. I'm sorry about the doom and gloom but you have to be realistic, but hey, don't let me put you off.

So you've got a great idea for an app but know nothing about app development. The good news is I'm going to help you but there are still a lot of things I should point out to you before you jump right in.

First of all I'm going to split this topic into bite sized pieces because this subject is huge. If you've read this far then you must dying to learn more, why not have a little breather then continue to the next article app advice.

If you have any questions please feel free to leave a comment at the bottom, we answer all comments daily.
If you have a Google+ account then add us to be notified when our next article has been published, which won't be long!

About the author 

Martin is the chief programmer for Magical Games who have only released one Android Trivia Game so far. But this game took 2 years to make with virtually no help from anyone. We want to share our experience and the knowledge we have gained during the past 2 years with people looking to make their first app but don't know where to start. We believe the world is one big family, and we need to help each other.

Saturday 23 April 2016

App Advice

 

 Foreword

 If you're here because you want to make great games because you are passionate about them and want to make games purely for the love of it then read on. If you're here because you want to make money from making games then you won't like what I have to say so you'd better leave now.

I tell things the way they are, no rosy pictures, no glossing over the truth. You can find plenty of articles on this subject but most of them have one thing in common, they don't tell you how incredibly difficult it is to make it in this business. I'm not here to put you off following your dream, I honestly wish you all the best, I'm here to open your eyes to the fact that you've got a similar chance of making millions from an app as you've got winning the lottery. What I'm here to do is tell it the way it is and in doing so save you a lot of time and heartache.

App Advice and Tips for App Development

Before we even start to think about how to make successful apps there are still a lot of questions that need answering. Because I've already made a game and published it I know how much work it entails which I didn't know at the beginning, and I wish I did, what I'm about to tell you may come as a bit of an eye opener.

How much does it cost to make an app?

As much as you're willing to spend!

 You don't actually need much money at all and there are plenty of software applications that you can use for free and you don't even have to pay them any royalties. In fact the only expense if you're flat broke is the $25 you have to pay to sign up for the Google Developers Console. You can get your graphics and sound effects free too but they won't be the best, I will give you some links to those resources in the next article if you don't have the expertise to create your own.

Successful apps like Candy Crush don't happen over night, in fact it took a huge team and a heck of a lot of money and heartache along the way. You might be interested to read the story behind the makers of Candy Crush Saga to see what's involved in making a fortune with a game.

Software Applications

First things first. You need to know what you're getting yourself into and just because teenagers have made games in their bedrooms doesn't mean it's easy and doesn't mean those games are any good or have made any money.


The difficulty of creating an app depends on what kind of app you want to create.


If it's a simple game like "Flappy Bird" or an app that calculates the cooking time of a chicken based on it's weight then you don't need to learn any programming language at all. There are online app maker tools that you can use that work by using drag and drop techniques or using templates. You are going to be limited greatly by what you can make with these tools but you can at least try them out for free to start with. Manage your time wisely though, you don't want to spend weeks creating something to then find out the limitations of the software mean you can't create exactly what you wanted. Another bit of app advice and a word of warning. Most, if not all of them, say they're free but when it comes to publishing your creation you have to pay and it can get quite expensive if your app needs a full set of features. Some will say it costs as little as $7 a month when in actual fact that cost is more like $12 because of taxes and you normally have to pay that monthly fee a year in advance, expect to end up paying hundreds of dollars to use these services.

If your app is going to be unique then you are going to have to learn a new language, unlike learning a foreign language a computer language has a lot less words in it, so it will only take months to learn a basic computer language and not years like a foreign language. This subject is beyond the scope of this article but I will be writing an article on this subject later, if you want to learn about this then you'll have to follow us by adding us to your circles so you get notified when we've made it.

App Development Tips

Above all else you are going to need a lot of time and patience, a lot! If you want to make money from your app then it must be either unique or much better than the 10 best apps you are going to improve upon. I'm not a fan of people that clone successful apps and that is something I would never do.

However, if your idea is for a golf game and all the other golf games similar to your idea are boring or badly made then go for it. But if there are already a good number of really good golf games then think of something else because they have already earned a great deal of reviews and downloads and the only way your game would get ranked in the top ten would be to throw a lot of money into advertising.

My game, Game Show Adventure is in the trivia section of the Play Store, one of my favorite hobbies is taking part in quizzes and I found most of the trivia apps in the store to be very poorly made and just plain boring, that's why I made this quiz app with a TV game show theme. Let me put two screen shots side by side so you can see the comparison. My game is the first picture.
         
 You can't make a game like mine using an online app maker tool but the second app definitely looks like it was made this way and so do nearly all of the trivia apps in the store. Most of them have an app feel and not a game feel because they are lacking in high quality graphics or any graphics apart from the ones they've scraped from a search on Google images which could come back to bite them for copyright theft. I have to give credit to the app above though because it has acquired more than 10 million downloads with no graphics and no sound.
This brings us onto the next bit of app advice, getting your new app noticed.

App Advice

Unless you have thousands of dollars to spend on advertising or you have made an incredibly amazing app that gets featured by one of the staff at Google Play or the App Store then you are going to have to spend a great deal of time on social websites trying to get yourself noticed and that is no mean feat, you are in for a rough ride unless you already have thousands of dedicated followers that have enabled all the right options.

Getting your app noticed

If you are serious about making an app then the first thing you must do before even putting your app idea on paper is set up a Twitter and Facebook account because getting a good following is going to take a great deal of time and effort. To make matters worse Facebook deliberately hold back businesses and do everything in their power to limit your exposure to the public. Why? Because they want you to pay them for the privilege of using their platform. Even if you get tens of thousands of followers the day you launch your app and post the good news on your apps Facebook page only 4% of your followers will know about it, you will have to pay hundreds of dollars to Facebook to reach fans that you worked hard to acquire.

A similar problem faces you with Twitter. It's not hard to get followers but what is hard is getting people to see your tweets and engage with them. Unless you happen to post a tweet at the exact moment your followers log in to their account your tweet is going to be buried underneath hundreds of other tweets. There are ways around this like using a tool to automatically post tweets at certain times of the day but you are going to have to become a social networking guru if you are going to make any impact with the two giants I've mentioned above. Google won't admit this but how popular you are on social websites has an influence in both your Play Store position and your apps website position which brings us onto your next job.

 People will tell you that your app is going to need a website and not just any old website, take a look at mine which is about puzzle games for Android, it took me 3 weeks to create and I'm still not happy with it. Now I've made the website for my game I'm not going to delete it but I wish I had never bothered to tell the truth.

 Your website is not going to be found, just like your app, unless you get a good following from the two giants and you must fill your website with relevant and quality content, so good luck to you if you've made an app that tells you the cooking time of a chicken based on it's weight, what the heck are you going to write about? Your beautifully created website will languish in obscurity if no one links to it, Google in all it's wisdom has made it all but impossible to get links now. Basically if you go around asking everyone to put a link on their blog or website to yours it is considered spam unless they put a "no follow" tag in the link which means you do not get a page rank boost to help you climb the ladder. So what do you do? Guest posting on other blogs and forums is the only solution I've found, how much longer that's going to be allowed is anybody's guess. So, be prepared to sign up to a great deal of them and start writing meaningful comments on these blogs with a link back to yours, after a year or two and thousands of comments you might start to see some pay back.

Is it worth building a website or blog for my game? 


NO, forget it, don't waste your time. Your time will be better spent on making your game the best it can be.

 If you are definitely going to be in this business for a long time then think of a catchy company name, preferably containing keywords, and build a website for it and start adding your games to that. This is the only way it makes sense to me, over the years your website is going to rise in the rankings naturally as long as you keep adding quality and interesting content on a regular basis. Over the years you will build a fan base which can reap huge rewards. If you think you can be dedicated to maintaining a website for the next few years then go for it, otherwise forget it.

If you've only just started developing your app then you do have a good opportunity to make great content for your business website by writing about the weekly progress of your game. When you've made a new character for your game post pictures of it and explain how you came up with the idea, what the character does, what it's abilities are and so on, people love this kind of material. Don't forget to give your readers the chance to sign up and become members of your website and encourage them to post comments and offer suggestions. You can use this list of subscribers to test your game before release and to give your app an instant boost when you release it to the stores. Link everything together, Facebook, Twitter, Blogger, Instagram, Pinterest and so on.

A word of warning about that last piece of advice, I didn't follow that advice myself because I've been ripped off before. The world is full of people with no imagination who wouldn't think twice about copying your idea. If your game is unique and hasn't been done before then watch out, you never know who's watching your creation grow. Imagine how you'd feel if someone else released your app before you did?

There is a lot more you need to know about making a good website which is beyond the scope of this article, you will have to do some research on this subject yourself, if you have the money employ someone or hire professionals to do it for you.

As you can see from what I've written there is a lot of work involved and if you're an indie developer like me then you've got to think to yourself if it's worth all the work, well it is if you do it right. Anyway you might just want to create an app for the love of it and have fun doing it at the same time, if that's you then you can ignore everything I've mentioned in this article and jump right in, you'll have a heck of great time. If you want to make a living out of app development then you might want to get a partner, a good P.R. and an investor first, I don't have any of those luxuries and I wish I had because the work involved can be overwhelming.

This video I watched not so long ago adds nicely to everything I've touched upon so far, if you haven't heard of Indie Game Girl then check out her fantastic Indie Game website.


My next article will be about how to create an app and which software I use with some very helpful tutorials to get you started and some common pitfalls to avoid.

About the Author

 Martin is the chief programmer at Magical Games and although we have only released one game so far it has taken 10,000 hours to create. We want to share with the world the knowledge and expertise we have acquired along the way. If you enjoy a mental challenge you can download our free Android Game here TV Shows
Our motto, "It's better to give than to receive."

Friday 22 April 2016

How to create a game app

 This series of articles are written exclusively for people who have never done any Android game programming before but would like to learn how to create your own game app. I will explain how you can create an app for free, which tools to use and how to use them. Where to get your graphics and sound assets and how to create them yourself, if that's what you want, for free or on a small budget.

Welcome to the first of many articles that will take you by the hand and teach you how to get started with app development and the art of Android game programming and app development, I can't include Apple's iOS in these articles as it would become overly complicated, if Apple is your preferred platform then you'll have to look elsewhere, sorry.

I will answer a lot of questions you might have about mobile game development, where to start and how to proceed on the right footing. The app advice I'm about to offer is taken from years of experience, trial and error and many sleepless nights, you are going to owe me big time for this!

You will not need any previous programming experience but what you will need is a lot of patience. Programming an Android game is a long and often tedious process involving a lot of trial and error, the emphasis is on error as you will come to see. If you're the type of person that has a very low attention span and must get everything done quickly or you get bored easily then this is not a job you should be taking on. Ergo, mobile game development is suited to people with artistic tendencies, inventors, entrepreneurs and people with good problem solving skills.

A decent understanding of basic mathematics is preferable but not essential as this can be learned on the fly, however, if you find basic maths confusing then you are really going to struggle and I would recommend you use an app builder tool. If mathematics fills you with dread then reading the rest of my articles would be a waste of your precious time, clicking on this link will help you to find what you need List of App Makers. Thanks for visiting and good luck with creating your app, I honestly wish you all the best and I know you will have fun doing it.

Learning a programming language is not a trivial task but in my honest opinion it is the only way you are going to make any type of game you can possibly imagine. Once you know the language and you've got the experience the skies the limit to what you can create, you can't say that with App maker tools so read on.

Creating an App


 First thing first. Let me tell you my background and how I started. Back in the eighties I bought myself a Commodore 64 home computer, the 64 stood for 64 Kilobytes, that was it's memory. To put things in perspective this article is already bigger than that. In those days home computers came with a manual that showed you how to program them in BASIC (Beginner's All-Purpose Symbolic Instruction Code) and I would sit at my TV until the early hours creating simple games at first then progressing on to creating more complex ones, the first noteworthy game I remember making was Asteroids. Not my invention by the way.


 I didn't know how to write machine code, that was something you had to go to university to learn and I was far too busy earning a living doing a 9-5 job to pay the rent at that time. But with the simplicity of BASIC I was hooked immediately and bought other home computers, read their manuals, learnt their BASIC language and made games on those, it was very easy to do!

Here's a sample of what BASIC looked like in those days.

10 a$="hello world! "
20 PRINT a$;
30 GOTO 20

You don't have to be a genius to figure out that hello world would be displayed on the screen over and over to infinity, until you hit the break button on the keyboard that is.

Android Game Programming


As computers became more and more powerful and they were able to do more complex things BASIC was just too simplified to accomplish what you see in modern day games. A new breed of programming language was needed that could handle the many thousands of lines of code in a more modular way and compile and run them at far greater speeds. This is where Object Orientated Programming came into play, the way Java works and ultimately the backbone of the Android operating system. Don't panic! You are not going to have to learn any of those very complex languages which would take many years to master, frankly your every day Joe like me is not going to be able to achieve this level of expertise. Thankfully for us some very clever people have taken all of them and packaged them into a relatively easy to learn basic style of programming language. We can now accomplish what would have taken years to learn, and even more years to code, and do it in a matter of weeks or months depending on the complexity of the game we want to make.

Here's a video montage of what is achievable when you learn the language I am going to teach you.

 

I would not be doing you any justice if we just dive into programming at this point. It's important to do the preparation and  research first, after all if you have no idea where to start then how can we start to program it?

Mobile Game Development


I trust you have read this far because you have an idea for an Android game that you would like to make. Even if you don't it's important that we progress in an orderly fashion starting with an idea, putting it to paper to get the layout right and do some research first.

Create your own Game App


Let's start with an idea.
Has this Android game already been made? Go to Google Play and search for it now.
How many variants of this game exist? None I hope. If not then why are you trying to make yet another one? I hope it's not because you think you can make some money from it because somebody else is doing so. Or do you think you can do better? If this is what you think then I strongly suggest you download the game and play it first. Have a pen and paper in front of you and take notes on what fundamental flaws you find in the game and what ideas you have to improve upon it. If you can't write down anything then don't do it, you are only going to waste months of your life creating a game app to see it fail, I'm not going to list all of the reasons just take my word for it.

If there are many variants of this game and you are adamant that you can do better then you must play the other games too and take notes. You never know, one of the less popular similar games might have done just what you have been thinking but haven't gained popularity yet, but they will have by the time you've made your version. Are you willing to work for hundreds of hours on a hunch?

Listen to me. If you can't think of an original game idea don't worry about it for now, first of all let's learn how to make a simple Android game. Once you start the learning process and start making things happen on the screen your brain is going to become more active and those creative juices will start flowing.

If you have an original idea for a game then congratulations you're half way there but first we have to start with the basics of Android game design which we are going to cover in the next article.

 About the Author


Martin is the chief programmer for Magical Games the creator of the general knowledge quiz game - Game Show Adventure a game designed for Android tablets and mobile phones. If you're following these articles then please leave comments below, this will give us the incentive to keep on writing and more frequently. These articles take many hours to write and feedback makes it all worthwhile.

Thursday 21 April 2016

Android Game Design

As I stated previously, this series of articles are solely for the benefit of people who have no previous experience and would like to learn the process of creating your own game app from beginning to end.

How to make a simple Android Game

In the previous article, how to create a game app, we discussed choosing an idea for your new Android game and if you've not read it then you might want to read that article quickly first. The link above will open in a new window so you can come back and read this after.

It's important to do everything in the correct order to save time and to speed up the entire process. What we are going to discuss in this post is getting the preparation and layout on paper first. Planning is absolutely vital because there are a lot of things to consider and missing a detail at the offset can cause a huge amount of work later on. For example, when I created my Android game I decided that it was going to be a paid app without doing the proper research. When my game was complete I then found out to my horror that the best way to market my game was to make it freemium, offering the first part of it for free so people can try it before they decide to buy it. The conversion rate from free to paid is terrible with only about 2% of people that install your game forking out real cash to buy it, hence having ads in your game is vital if you want to make any money from the freeloaders that make up the vast majority. Making space at the top or bottom of the screen for banner ads was now impossible in my app because I would have had to redraw the entire GUI (Graphical User Interface) and re position all the other graphics too, it would have taken months. I was left with only one option and that was to use interstitial ads, these are full screen ads that you display in between scene's within your game's flow.

Should your app be free of paid?


This is something you need to decide right now because of what I mentioned above. If your app is going to be free or freemium then you will need to make space for ads. This decision is not an easy one and should not be taken lightly and there are a lot of conflicting articles out there. In my honest opinion I think the choice largely depends on your game model, for my pub quiz game the freemium model fits beautifully because I have 3 worlds and giving users the first world free makes sense to me. I have great confidence that once players experience the first world they will be hungry to unlock the rest of the game and I'm hoping that the conversion rate from free to paid will be a lot higher than 2%, right now it's standing at 2.7% but it's still early days.

There is a good argument for going paid, especially if your an indie developer with a small budget. Having a price attached to your app gives it value and this begs the question, how much do you charge for your app? This also depends on the app, if it's a sprawling game with tons of content then I think $3 to $4 is a fair price, if it's a simple game like Space Invaders then $0.99 makes more sense. Bear in mind that the app stores are going to take a third of that and you also have to take tax or vat off that too.Starting with a higher price tag gives you the option of having a sale in future and I strongly suggest you take this route.

If you are struggling to make up your mind then this article might help, Paid, Paymium or Freemium, and Your free app will make you broke is also worth reading.

If you want to go the free route then you will need to think about in app purchases, is your game going to use it's own currency, coins, jewels and so on? The best Android games carefully balance the difficulty so that players can still play the whole game without having to pay for in app purchases but the game is a lot easier or a lot more fun if they spend some real money. Planning this early on is a good idea as you are going to have to base your game mechanics around a carefully orchestrated rewards system.

Android Game Design


At this stage you should have a unique game idea and you should have decided whether or not you are going to have ads in your game. Your next job is to get your idea on paper, if you don't have a large A4 pad of paper then I recommend you go out and buy one now. When making a new game you are going to take a lot of notes and it's also good to have a pen and paper handy to write down game ideas as and when you get inspiration. I've got hundreds of pages of notes I wrote down when making my game and I also did a lot of to do lists that I would tick off when I'd done each job on the list.
First of all decide if your game is going to be in portrait (upright) or in landscape then draw 3 or 4 empty boxes to represent the screen on each A4 page, the number of screens your game will have will vary obviously. This is the hardest part of game design but is the most important as this is the foundation that you will be working from when it comes to actually programming it. Take your time and be prepared to spend many hours on this part.

Think of the menu first, are you going to have high scores, world high scores, trophies, collectables, unlockable levels, side games, a shop and so on. How are you going to have the different parts of the menu come on screen? Slide in left, right, up or down at the tap of a button or scroll into view using finger swipes? What is the theme, what are the colours you would like, what do you want the buttons to look like?

When drawing your main game screen think about the score system, is it points based or coins or gems or something else and think of the best place to put them. Will you need lives or a health bar instead? Not all games do. Are you going to need buttons that control your ship, car, character or is it just a simple tap anywhere sort of game? Are you going to have a pause button or a quick restart button or a quit button? These things all need to be incorporated around the edge of the screen into what we call the GUI (graphical user interface) and is an integral part of the game and should be carefully designed and given a lot of thought. Don't forget to draw a banner top or bottom if you want to incorporate ads so you don't forget to make space for them when designing your GUI.

You are probably going to make a lot of mistakes to start with or you will think of something new to add or forget to put something in so be prepared to redraw your screens over and over. Don't rush this part, if it takes days so be it, you have to think of everything you possibly can as this will save you a lot of time in the long run.

I'm going to finish this article here as you've got a lot of work to do and a lot to think about. The next article in the series is going to be about making or sourcing the graphics you are going to need. It's no good programming without the game's assets, the graphics need to be made first. I strongly suggest you get everything done that I've mentioned in this article before reading further.

Please leave a comment if you have any more questions or even just to say hello!

About the Author

Martin is the chief programmer at Magical Games and although we have only released one game so far it has taken 10,000 hours to create. We want to share with the world the knowledge and expertise we have acquired along the way. If you enjoy a mental challenge you can download our free Android Game here Pub Quiz
Our motto, "It's better to give than to receive."