📜 ⬆️ ⬇️

About my development experience for Android or training on Tic-Tac-Toe




Hello, my name is %% username and I also write mobile games


It all started with Unigine Open Air 2012, I went there with friends who wrote games, hoping to just have a good time (spent), but when people who are passionate about writing games are around alcoholics, whiskey, barbecues , it's hard to resist and not try. The second reason was that I have two friends who have successfully written something of their own and are now slowly working for themselves. Then I decided that “everyone jumped and I would jump, something to me”. And away we go.

Superplan


The plan was developed almost immediately:

  1. We write the simplest game, lay it out in the market, have fun (code, draw, translate, optimize, add socialization).
  2. We take the experience (and some code) from the previous paragraph, rewrite the gameplay - and voila, we have another game.
  3. ...
  4. With the point after the three points, everything is clear.

')
At the moment I am somewhere at the end of the first paragraph. But I can not let go, and always want something a little more here to finish, to finish, to change.

As a fallback to the plan, I decided that this experience would not be superfluous in any case.

Zen and motivation


Motivation is a strange thing, all of them have their own. But it seems to me the general essence of motivation is that if you can deceive yourself (it is not good to deceive others, but it is the most!) And explain why you need to spend this sunny day on coding instead of riding a bicycle - deceive! Even if the explanation is far from logic - it does not matter.

About where to take time


See, if you allow yourself to cut your application on Saturdays, every Saturday there are 8 hours to sit down and do it purposefully! It turns out that in a year you have 52 working days on the run. And this is already 2.5 working months! Let's suppose that we still think about the application and architecture a little bit in the evenings, and increase this time to 3.5 months a year. Already not bad, and now feint with ears and think about how productive we are when we write our application and when we work for an uncle? Ooook, what is your coefficient turned out? one? 1.5? maybe all 2?

About the pipe (or where to spend time)


Imagine that your users are water that flows through a pipe. And your goal is to make sure that as much water flows through the pipe. And, let's say, every improvement that you make gives you an increase in this flow of 10% (which is quite real, let's say one improvement - one working day). So, we have at the beginning 1 user per day, and we want 1000, it is asked how many improvements you need to do everything? 1.1 ^ x = 1000, total x - 72 improvements in 72 working days. (Here are our 3.5 months and come in handy).

And any failures - it seemed to have improved the project, but did not win 10%, it can be explained by the fact that the pipe has pieces of different diameters, and perhaps you have improved not the narrowest point. Or why there are no users at all - so you didn’t finish the pipe, what are your users? In all respects, a nice model for self-deception.

About communication


It is very important to find someone who will cheer you on and who is also passionate about the same topic (mobile development). I have a comrade sitting at my side who successfully saws his games, and with which we often discuss a variety of strange things that we learn about the platform, the psychology of users, and so on. This greatly helps not to abandon this hobby.

About the error of the survivor


Remember about her. Read not only the success story, but also just reports like mine, and even more so - reports of comrades who have failed. And only then draw conclusions.

About applications for a couple of evenings


I often hear about the “application on the knee for a couple of evenings” and this is very demotivating. I do not know such people personally, but I know others who have spent many months before the application began to bring in normal money. It motivates me. (considering that I have spent about 4 months).

About the purchase of icons


I’m hoping to spend money (especially since I don’t really expect anything from a test project). This is a strange thing, when you spent dofig time, which costs a lot of money (okay, the experience still got in return), but you can not buy an icon or a translation or order a design. If you have such a garbage - you need to deal with it, or at least somehow take it into account. This is not the case when you draw a wretched icon, spending more time on it (and money in its equivalent) than if you ordered the icon from a designer. In general, application development is similar to the game. In the game, it is important to make the player make a small purchase as early as possible, because once the user makes at least one purchase, he will spend money much easier. So here - buy an icon, and then it will be easier.

All people are different, again, someone throws in the dofig of his time, someone money.

PS Many thoughts like these came to my mind as a kind of enlightenment - that's why I called this part of the article “Zen and Motivation”.

About design


As I said before, I’m screaming, so I’ll tell you how I did at least some design myself.



Here's what happened:


The background texture was also drawn in google docs, and then multiplied and turned into Paint.NET.
The result was something like this:

Both options on my inexperienced view turned out to be quite acceptable. What and you want.

A note about the button is still like that - I learned a little later that after all, android allows you to draw some vector objects natively - they are called Shape and allow you to draw just such a button with rounded edges, a border and even a gradient. Create such a Shape in the drawable folder, and then use buttons or other objects as a background.

Animation


To make it a little more interesting - for each move I made an animation (also a native thing in android).

The effects are as follows:


Let's look at the example of the rotation around the X axis.

Add the overx.xml file to the res / anim project folder with the following content:

<set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/linear_interpolator"> <scale android:fromXScale="1.0" android:toXScale="0.0" android:fromYScale="1.0" android:toYScale="1.0" android:pivotX="50%" android:pivotY="50%" android:duration="125" android:repeatCount="1" android:repeatMode="reverse" ></scale> </set> 



I hope the remaining parameters will not cause questions at all.

The call directly to this animation is as follows:
 Button button = (Button)findViewById(R.id.button); Animation anim = AnimationUtils.loadAnimation(this, R.anim.overx); button.startAnimation(anim); 

I created a pool of animations for crosses and for zeros separately and used them in random order. So it turned out that you should not use the same Animation object to animate different images. For me it somehow turned out to be unobvious. And I had some confusing problems.

Icon


The icon is very important (but I didn’t notice the change in the number of races from changing the icons).
Evolution Icons:
Drawn in any editor :)

Any editor + is such a button generator (there are limitations there, but it’s quite useful).

These comrades have a trial 3d editor. It was possible of course 3ds Max, but it seemed to me that I will understand longer.

There was a thought that I would stand out with a black background and my icon would be noticed ... but no.

There have been dramatic changes in the application. Achivki were removed and instead of them appeared a system of counting the rating (which symbolizes the cup) based on the speed of the player’s reaction and the table of records. I found another icon editor , in which there are more opportunities to do all sorts of puffy icons and stuff, but in the end the icon is the same for convexity as it was in the second picture.

Still flat design.


About localization


It seems there were times when it was enough to make the translation of the application into Korean, so that it began to be rocked furiously (at least for daggers and crosses). I think this is because earlier there was a chance almost immediately upon request to be one of the first - now it is no longer.

All one useful thought about localization is this: we go to the xda developers forum, monitor the branch where the developers post their applications and write to them, say, let me translate your application into Russian, and you mine into my native language. But of course, you need to estimate first that there is no need to translate someone else's application for a day, and you only have a couple of lines to translate. I wrote the 6th, responded to the 2nd, the translation so far we have done so with only one comrade, the experience is quite pleasant, even despite the fact that I had to translate three times more than a comrade. But on the other hand - one good application is more in the Russian market.

About SEO


Anything below will not apply to the tops, but to search for the keyword “tic tac toe”.

So how to rise higher?


And a couple of comments on SEO


I tried to add localized names to the application itself in the hope that this would somehow change position in the search, but alas not. (I suggested this because Google Play gives hints that they should translate the application itself into such a language, which means that it is possible that the application localization files are parsed).

New applications (less than a month in the market) are at risk of getting to the top of new ones, so if you are sure that the application can shoot straight, it’s better to wait a bit with laying out and shooting. I, of course, did not think about anything like that, and I think that in most cases, leisurely development (indie) is much more important than feedback, so as not to abandon this whole thing completely. Therefore, my first version looked very poor.

And finally


When I was only going to write an article - I thought it would be something comprehensive, completely revealing everything that happened to me in the last year, but it seems to me that I already tired my readers with my letters, and I already got tired of it. Therefore, I decided that I would only describe some things related to the development of the application, and I would leave the programming for the possible second part.

The announcement of the sequel will be something like this:

Add the rest to taste.
If there are wishes for a sequel or questions or better suggestions for what and how best to do - I am ready to discuss with pleasure.

UPD: Active and new users for the last month.



UPD2:
Analytics showing that adding translations gives a plus
Here is an analyst that compares two months - a month before adding translations to descriptions on Google Play and a month after.
You can see that the upper circle on the right has become more colorful (there were users with languages ​​that previously did not exist).
It can also be seen that the shares of Russians and Americans have decreased (as a percentage). And the proportion of the British, on the contrary - has increased. (probably due to the fact that in English tic-tac-toe are called "Noughts and Crosses")
You can also see in tsiferki - that in Greece, Bulgaria and Italy there were no users at all, and then they appeared.

Source: https://habr.com/ru/post/200776/


All Articles