Just released my first Android game

I am happy to announce that I’ve just published my first mobile game on the Android Market. I have experimented with creating games earlier, especially targeting the PC platform, however I never accomplished to release such one due to lack of resources, especially in the domain of artwork. Hence I turned to mobile platforms as there even a one-man-show game can bring loads of fun time to the players. So here we are now: after loads of abandoned PC projects, here I have my first published game called “Pocket Soccer”.

The game itself is a reinterpretation of a classic board game called button football that is very popular in my home country. The key difference is that the game does not contain the many rules like the original one to provide a smoother and more fast-paced game-play. Each player has three buttons that they control by grabbing and throwing them in the desired direction. If one manages to push the soccer ball into the opposite player’s goal then he or she gets one point. The first one to reach ten points wins the match.

The game is turn based so each player has five seconds to move with one of his/her buttons. While, in my opinion, the game is more fun in two-player mode when two buddies can play against each other on the same device, the game also features a pretty smart AI with three difficulty levels. But that’s enough talk, maybe some screenshots say more:

Starting lineup in a match between Spain and Portugal.

Besides the possibility to choose between more than sixty countries to play with, the game has also other changeable assets like different soccer fields and balls. These also come with different physical properties that slightly change the game-play. While some of these assets come out-of-the-box, some others are only accessible if you unlock them. You can do so by playing and/or winning a number of matches in the various game modes. The prerequisites of each asset can be checked in the appropriate menu and you can also check your current accomplishments by tapping the statistics button in the main menu.

Another match between Peru and Uruguay. The player with Uruguay is about to move.

The game should work well on most Android devices. It requires only API level 4 (Android 1.6). I’ve mainly tested it on my Samsung Galaxy S, which of course runs it smoothly, but I tested it also on other devices like the Motorola Droid, ZTE Blade (San Fransisco) and Samsung Galaxy Spica. The game worked well on the Droid and especially smooth on the Blade, which surprised me a little bit for such a cheap phone. In case of the Spica, it already felt that the phone was not made for gaming, however, at the end I managed to optimize the game enough so that it provides a good user experience on that phone as well.

The main menu. You can scroll left and right to access the additional menu items and you can check your statistics anytime by tapping its icon in the bottom-right corner.

I tried to make the game look like the least possible like “programmer art” and I home I managed to do so. In order to have a fast time-to-market with my first game, I’ve chosen to use a game engine framework first, rather than writing my own. Having a lack of native game engines for Android, I settled down with AndEngine as it looked to have a fast learning curve and actually it has (other option was libgdx). While I’m not a great fan of pre-cooked solutions, AndEngine worked out pretty well with its native Box2D accessible over JNI, however, I also had some bad experiences. I will write another post about my development experiences with Android and AndEngine.

Summary

To sum it up, I managed to publish my first game and I hope you’ll like it. The game is ad supported, so you can download it for FREE from the android market:

Oh, my mistake! Sorry for that.
I was in quite a hurry and excitement when I wrote the blog post and I just quickly thought of Greece when I’ve seen the blue stripes, as I’ve created the screenshots last week. I’ll correct it ASAP.

Hi Daniel, sweet game, did you come up with the turn based soccer idea? Plays very fast, I can only move one player per turn, it might be nice to be able to move two of them or perhaps save up turns and move two at once next turn? Air hockey for soccer, good work.

Hi! No, search for the game button football. It is a classic board game that is popular in Hungary. It is turn based, you move with one player in one round but based on whether you hit the ball with two players or not, you can have another turn and so on. There are a lot of rules in it, thus it is pretty slow to play such a game on a hand-held. Actually, what Pocket Soccer is, is a fast-paced variant with less rules so that it is action-full also on a phone.
Also, it is really similar in mind with air hockey. Someone actually said that the game is like “marbles and air hockey combined”.
I’m glad you like the game! Hope you’ll keep playing

justmart, sorry for answering just now. I thought I’ve already answered but it seems I didn’t.
Yes, I used Eclipse for development (actually I use it in general, not only for Java but for C++ development as well).
It is very difficult to give any specific advices without knowing what do you plan to make. One thing I could warn every newbie Android developer is that don’t try to struggle with the emulator as it is too slow to work with, you’ll definitely need a real device to achieve good progress. Also you might face very strange force close issues that happen only in certain situations that are very difficult to track down, especially because these usually come from some background task interfering with your app. Don’t get frustrated and don’t give up on solving these problems.

Currently I don’t have any plans to port the game for iOS.
One reason is that the game was not made with cross-platform support in mind, so it would be a pretty big effort (especially because I don’t have either an iPhone nor a Mac, the later being a requirement for developing for iOS).
The other reason is that there already exists a similar game for iOS (if you look around, you should find it).

My next game, which I’ll most probably start developing in the upcoming days, will be written completely in native C++ code, so later an iOS port will be much easier to make. For Pocket Soccer, well, it is unlikely that I’ll release an iOS port, sorry.

Hello Daniel, the game is really beautiful and very funny, it is in fact my favourite one for Android.
Please add a tournament mode (vs CPU), so it would be much more fun. Playing always one simple match is boring and not “stimulating”.
I think that for a good programmer like you it is very easy to add it. You don’t need to do nothing complicate. For example a round-robin would be perfect.
Or a modality like the UEFA Champions League, with a first phase with groups then a second phase with round-robin.
Also would be very nice if you add a time modality, when you can choose how long goes the match, for example to chose between 3 or 5 minutes. With same rules (5 second to shoot per turn). I think these simple thingd would improve very much the quality of the game.
Please contact me i would like very much to be your beta tester and give some suggestions for some ideas i have for this game. My email is: ppm5@hotmail.it

Hi Daniel!
Loved this game! Downloaded it last night and played for maybe 3 straight hours! There’s so much I love about it!

However, I’ll just leave some things that would make the game even better!
1) option to turn off the ref whistle? sometimes its really ear piercing..
2) a visual countdown of the 5 secs maybe? i know it will mess up the simple look, but sometimes the audio cue is not enough and i miss my turns

of course this is a great game, i feel there is so much you can add to it. great job! my fav android game now!

Thanks for all of you for the motivating feedbacks, it is good to know that I made something that really entertains people!

@AI: I was thinking a lot to put a visual countdown to the game, the only reason I didn’t put it yet is because I’m unsure where to put it in order to not disturb the gameplay. Maybe it would be nice to put it as an option so those who would like to have it can turn it on. I’ll investigate the possibilities.

I think the visual countdown of the 5 seconds is not so necessary. You easily understand when it’s your turn and for sure you don’t wait seconds before to shoot.
Very important is to add a tournament mode and the time of the match, for example 2-3-4 minutes. So it will be very more realistic.
By the way i edited your game, instead of the countries i put european clubs, i edited also the ball (with the Champions League one).
If you are interested i send you the apk.

I’m not sure whether I should be happy or not about the patch you’ve made.
On one hand it is quite offensive to reverse engineer one’s product, on the other hand it is community modding which is actually a compliment
Even if you made changes to the apk, please do not distribute it, though you can send it to me as I’m curious about it.

I made it for my own use.
Of course i dont distribute it without your permission.
Anyway i changed only the ball, the graphics of the teams and the names. I left everything else untouched.
Take it as a compliment as i like your game very much.
What is your email?

This is very good game but one thing really bother me. why is unlocking ball and fields so hard to reach ? I mean okay, in single player it’s not so hard to play 200-300 games but in 2-player mode it is just IMPOSSIBLE to play mora than a few games. I don’t know what was your idea with this 2-player mode but it sounds nice in theory but in practice there is no way 2 players could play this game on mobile phone screen.
Please just make this unlocking requirements lower. It would be a better game
When are you planning to update the game?

Hi, please add tournament and also a replay option at the end of game so we can play back to back like crazy. Also hard is not hard enough anymore.. Please try to advance the AI. Even hard AI’s opening of game always same and predictable
Thanks
Halibut

It is in fact very easy to play 2-player in Pocket Soccer on a single phone. Okay, maybe not on a phone with a display smaller than 3″, but the only thing you should do is orient the phone in such a way that the end of the phone with the buttons points towards you and the other end of the phone points towards your opponent. After that it should be easy and comfortable.
I actually mostly play the game in 2-player mode against my friends on a Galaxy S. I know, this phone has a 4″ display, but it should work perfectly with smaller ones as well.
About the next update, in the last few weeks I had a lot of stuff to do because it was on Tuesday that I had my final exam of the MSc so that’s why lately only bug fixes appeared. The next update can be expected in 1 or 2 weeks from now.

Halibut, both tournament mode and rematch option is on the list, the later can be expected soon.
About the AI improvement, well that will need some investigation on its own, because probably I’ll have to completely rewrite it in order to make a more difficult opponent.

Hi, thanks for the recent updates… I really appreciate you taking our ideas seriously. I am and sure all are excited to see tournaments are on the ways, thanks a lot.
1st criticize would be the unlocking of the new stuff. I am 35 yrs old and I play this game at work free times or at home when my wife and tv bores me. I have no body to play it with 2 people.. I can play 300 time if you want , probably already did.. So please remove this 2 player must from unlocking the goodies.
Second is, pls add variation of openings for the AI team, that would make the game harder.
Thanks man.. best luck to you with all

I have no interest in supporting java mobile phones. Usually the phones supporting only java games are simply not powerful enough, besides that, these platforms tend to disappear from the market. The platforms of interest are Android, iOS and maybe Windows Phone and Blackberry, but besides that…

No trackbacks yet.

Lately I switched from Java based Android development to native C++ code and started using the famous cocos2d-x framework for implementing my second Android game Henhouse Trouble, that I released almost a year ago. At that time I had quite some trouble with interfacing third party Android libraries like the AdMob SDK. Finally, I managed…

Almost four months passed since I’ve released my first Android game called Pocket Soccer. Game was very well received and even though its popularity showed some decline lately. In this post I would like to present some data about the lifecycle of Pocket Soccer so far, including my experience with alternative markets. Also, I will…

Many things have changed since the first time the public put their hands on the first mobile phone device as these days the end user rarely makes their choices when buying a mobile equipment based on their telephony capabilities. In fact, nowadays these devices are one of the most popular entertainment platforms out there. The…

Previously I talked about how one can easily take advantage of multiprocessing using OpenMP. Even if the C pragmas introduced by the parallel programming API standard is very straightforward for simple programs, it simply doesn’t fit nicely in a complex C++ application that is built from the ground with the OOP in mind. To smoothly…

Those who know me know it well that I am not a big fan of languages which produce managed code. In this article I would like to cover the reasons behind my skepticism. Also I would like to dispel the myths around such languages and try to prove them with facts (we will see how…