Showing posts with label doms ccf quiz game. Show all posts
Showing posts with label doms ccf quiz game. Show all posts

22 November 2015

Doms Countries Capitals Flag Quiz Game v4.2 released.

Doms Countries Capitals Flag Quiz Game
v4.2




 You can download from here:

 It is a maintenance release where I make some improvements .

CHANGES:
  1. some minor improvements
  2. add some trivia about Thailand
FUTURE PLANS:
another minor improvements

LINKS:

12 April 2015

Doms Countries Capitals Flag Quiz Game v4.1 released.

Doms Countries Capitals Flag Quiz Game
v4.1




 You can download from here:

 Fix minor bugs and add trivia about few countries :)

CHANGES:
  1. add Android 5.1 support
  2. add some trivia about Angola, Argentina, Australia and Armenia
FUTURE PLANS:
another minor improvements

LINKS:

14 December 2014

Doms Countries Capitals Flag Quiz Game v3.11 released.

Doms Countries Capitals Flag Quiz Game
v3.11




 You can download from here:

 Fix minor bugs and add trivia about few countries :)

CHANGES:
  1. add Android 5.0 support
  2. add trivia about few countries
  3. fix minor bugs
FUTURE PLANS:
another minor improvements

LINKS:




31 May 2014

Doms Countries Capitals Flag Quiz Game v3.9 [World Cup in Brazil Edition]

Doms Countries Capitals Flag Quiz Game
v3.9




 You can download from here:

 Fix minor bugs and add trivia about Sweden and BRAZIL :)

Changes:
  1. add Android 4.4 support
  2. add trivia about Afghanistan ,Mexico Sweden and BRAZIL
  3. # fix minor bugs
Future plans:
another minor improvements

14 November 2013

Doms Countries Capitals Flag Quiz Game v3.6

Doms Countries Capitals Flag Quiz Game
v3.6




 You can download from here:

 Fix minor bugs and add

Changes:
  1. + add show or not intro
  2. # fix minor bugs
Future plans:
minor improvements

3 October 2013

Doms Countries Capitals Flag Quiz Game v3.5

Doms Countries Capitals Flag Quiz Game
v3.5




 You can download from here:

In this release I focused on  adding more trivia , interesting facts and fix minor bugs.

Changes:
  1. + save default custom game
  2. + add more trivia and interesting facts
  3. + add more offensive comment
  4. ~ minor improvements
  5. ^ elapsed time improvement
  6. ^ Android 4.3 support
  7. ^ Appbrain update
  8. - Drop Android 2.2 support
Future plans:
 add Google play services

7 July 2013

Doms Countries Capitals Flag Quiz Game v3.3

Doms Countries Capitals Flag Quiz Game
v3.3




 You can download from here:

In this release I focused on  adding more trivia , interesting facts and fix minor bugs.

Changes:
  1. + add more trivia and interesting facts
  2. ~ minor improvements and changes in balance , game stability and other behind the scenes refactoring etc. and ads provider 
  3. - remove Swarm(It will be replace with play services soon)
  4. # fix crash shameful crash "android.util.Log$TerribleFailure"
  5. # fix a bug in country list (it should be display in portrait mode only)
Future plans:
I need do some clean up and  add Google play services


13 April 2013

Doms Countries Capitals Flag Quiz Game v3.2 released

Doms Countries Capitals Flag Quiz Game
v3.2




 You can download from here:

In this release i focused on improve arcade mode by add events, balance various thing and fix minor things.

Changes:
  1.  ~ change balance : on each next level you have less and less time to guess!It makes game more challenging over time
  2. # fix bug with timer was not cancelled could cause memory leak
  3. ^ update appbrain
Future plans:
I will focus on few improvments to address some usability and gameplay issues.


Stats:  
 Search for "quiz game"  is on page 14 [+5!]
 Search for " country of the world" is on page 4  [+1]
 Search for " countries of the world" is on page 2 [0]
 Search for " capital of the world "  is on page 2  [+1] 
 Search for " capitals of the world "  is on page page 2 [0]
 Search for " flag of the world "  is on page 5 [+3!]
 Search for " flags of the world "  is on page 3  [+3!]
 Search for " countries quiz"  is on page 1(11p)
 Search for " flags quiz"  is on page  1(23p)

5 April 2013

Doms countries capitals flags quiz game v3.0 released.

Doms Countries Capitals Flag Quiz Game


 You can download from here:

In this release i focused on improve arcade mode by add events, balance various thing and fix minor things.

Changes:
  1. + add freeze event
  2. + add blind event
  3. + add 50% chance event
  4. ~ some balance changes (less occurrence of events.Specially minor points bonus)
  5. ~ tweaks and improvements behind scenes
  6. Swarm connect login appear only in Adventure intro,result and high scores(www)

Doms countries capitals flags quiz game v3.1 released.

Doms Countries Capitals Flag Quiz Game


 You can download from here:

In this release i focused on improve arcade mode by add events, balance various thing and fix minor things.

Changes:
  1.  fix crashes related to Swarm(java.lang.NullPointerException,java.lang.NoClassDefFoundError). thanks to GT-S5360B, GT-S5360, and Faisal al-Zaidi for sent report to me about problem!
  2. fix a GUI issue

15 March 2013

How to make simple game in Android part 9 -How to be rich from application




WARNING!
Few honest informations.  
I have a few years experience in software developer BUT  I am NOT a game developer! I am NOT an expert. 
This guide was written by person who want write game as part of hobby and make dreams come to true (As i want to write simple RPG game in future).   
 I put best efforts to write  accuracy informations, but I cannot guarantee the perfect accuracy of all content in this  articles  on this blog.
I do not take any responsibility or liability for any error, omission , inaccuracy
or destructions!


How to make simple application and/or game in Android

BASED ON GAME EXAMPLE: 
DOMS COUNTRIES, CAPITOLS, FLAGS AND CONTINENTS QUIZ GAME

 TO DOWNLOAD GAME

Part 9 
HOW TO BE RICH FROM APPLICATION


Let's start from most important:
WARNINGS! 
Informations here doesn't contain 'successful gold rules' that makes you rich!
(You can find many e-book about it. ). 
This is just bunch of advices that will help make your app more visible and increase change to get bit more money.
This advices will be useless overtime as things changing constantly.

 
 Well. It is unlikely that you will rich as a Bill Gates or Mark Zuckerberg by writing simple applications, but you can earn a little bit from your applications.
Here, you can find common tips
  • You need be lucky.
  • Follow advices given in part 8 about Title of the game and Description and Promo text.
  • Singular and Plural may matters. For normal search engine   Singular and Plural  do not matter, but when I start my app using  Singular or Plural  forms and I search using  Singular or Plural forms. .I got different result. I don't know why, so I think decision about use  Singular, Plural or both depends on how users search for  type of your game.
  • Upper and lower characters may matters. Again, they shouldn't, but Are you using a capital letter, when you search for something? No? This is reason why is a good idea to have a description in lower case. It is weird as normal search engine should not see difference between Word and word, but it somehow affect result rank.
  • Translate your application into some other languages. Find top 10 languages for your application game type. (+ English and your native language) and smartly translate. .How to do it? Use simple sentence as they are easier to translate correctly by translator. Translate to foreign language and translate back to see, is result are correct or not (you will be surprised).
  • Do NOT use  adults terms in title, description and promo text.
  • Price. If you want earn money on Android application, then forget about paid version and use ads based systems like appbrain, inMobi, ad mob  and more. However,to be successful, you must do a research about which ad networks is great in revenue, payout and reliability and how is suitable for your application and audience. They are many ads networks available for Android. (Look for list for example here: http://appflood.com/blog/list-of-mobile-ad-networks-february-2013).
  • Be careful about what type of ads your implement in your application and how intrusive they are. You can be flooded with 1 stars for annoying type .In my opinion, you should avoid push ads,
  • There is one exception from above rule. If you planning sell your on Amazon Market,then make this application paid there and exclude Amazon kindle from supported devices on goggle play .Why? People who used AppStore and Kindle Fire Alps Store are learnt to pay for content .(It not applies for Goggle case as Goggle earn money on ads,so they didn't bother to learnt user to pay for apps. Another reason is that people who buy Android's based devices are not people who love spent money left and right, so they stick to free version and give 1 stars for annoying ads).
  • Use your friends to write a good comment about your application. It will motivate people to  download app and improve your position in ranks.
  • There are few good e-books about how to earning money on Google Play.(Good for beginners, quite useless for people who has experience with monetization using ads).
  •  You need be lucky (Yes I wrote this as bullet point above, but that's most important.)
Translate from English to Foreign languages and translate back. If doesn't have sense



Again, this blog entry contains only few tips and they many many more.
 Keep in mind that these tips will be outdated very quickly as things changing constantly, so make sure that you always do more research about it. If you want have a nice constant earning then you need check often for new and good techniques for revenue. (by good, I mean these one that are acceptable by user for example push ads cause 1 stars full of hate review).

Go to last part ,where I will summrize everything.
Go to part 10:  Summary 


How to make simple game in Android part 8 - add project to Google Play

WARNING!
Few honest informations.  
I have a few years experience in software developer BUT  I am NOT a game developer! I am NOT an expert. 
This guide was written by person who want write game as part of hobby and make dreams come to true (As i want to write simple RPG game in future).   
 I put best efforts to write  accuracy informations, but I cannot guarantee the perfect accuracy of all content in this  articles  on this blog.
I do not take any responsibility or liability for any error, omission , inaccuracy
or destructions!


How to make simple application and/or game in Android

BASED ON GAME EXAMPLE: 
DOMS COUNTRIES, CAPITOLS, FLAGS AND CONTINENTS QUIZ GAME

 TO DOWNLOAD GAME

Part 8 
ADD PROJECT TO GOOGLE PLAY

It is straightforward process, so it pointless to describe step by step.
HOWEVER. It is good to know what you need to prepare


Requirements:
  1. 25 dollars*
  2. Web browsers: Google Chrome or Mozilla Firefox (other are poorly supported and can cause some weird problems).
  3. 2 Screen shots of your app(You can made directly from 
  4. Icon (High resolution), 512×512  , PNG, 32-bit
  5. Promo Graphic 180×120  JPG or  PNG,  24-bit, no alpha
  6. Contact Details (I suggest to create a gmail account for android development only)
  7. (Optional) Promo video
 (* it can change over time AND depends on  your currency exchange rate)
Just follow Google instructions STEP by STEP, CAREFULLY.



Here you can find a Few tips that makes process 'surprise free' and  to give more chance that you game can be be searchable by people.


Remember. You must use words that will  keywords, that user will use in search to find your application


 Most important thing to remember that you must use words that will be as keywords, that user will use in search to find your application!



TITLE:

It must be up to 30 character long. Name  Munixihano doesn't sounds likely to be search for but  'Munixihano  racing game' sounds like racing game, so when user search for racing game, then is like to be found. Do not use trademark ™ and  Registered trademark symbol ® as your app will be removed from Google Play due copyright infringement or similar law's crap reasons



DESCRIPTION:


You have 2 aims for descriptions:
  • Convince user to install your game.
  • Populate with useful keywords to google search engine, so when somebody
How to  write  a description  that Convince user to install your game?
There is no ultimate solution . Each subject and  different type of application and game  attract different type of audience. Looks how competition describe their products. .Look to ITunes, Microsoft, Blueberry stores for inspiration. They are many more factors and keywords that affect result, which I am not aware of.
Few tips.
  • Be honest with your application and try to not looks like rip off of other application.
  • Use spell check
  • Description should be around 2000 characters.
For search engine  You must target for which type of search terms you want be scored highest. Focus on keywords that will be good  2-3 search result cases .More narrow keywords about specific case(for example puzzle games) are used,more higher will be on result page. From searching for your game is important what you write in description. If you trying cover to many subject, then your rank on result will be low.



 PROMO TEXT:

It is very important as it is kind of First impression that will catch or not. So write something which will cause curiosity and no. Writing... this game is the best will NOT attract people.



ICON, PROMO GRAPHIC:

I am rubbish in graphics, so I have no advice for you in that matter, sorry:(



 CONTACT DETAILS:

It is good to have a special email for development purposes.
  1. This email will be visible to outside world, so you must expect that you will be targeted by spam that will be android specific. So you will be receive some email with 'outstanding offer' that will  improve your search rank, for little money you will receive a 5 stars and reviews (written by yourself;)) or join to other weird places.
  2. It will help you keep focus on inquiry from users. 
  3. Answer quickly and honestly.



PROMO VIDEO:

If you application looks good, then add YouTube video with tutorial.
If you application looks creep, then... don't do it, except if your game looks bad by purpose.



WEBSITE:

If you don't have a website. No worry. Email is enough.
So simple application or games .You don't need a website.
You better spend to some time on creating account for your application on various social media  websites (Facebooks, Google+, Twitter or whatever will be valuable for your audience).

I don't see any reason for website as long as you not planning to do more complicated multi player ,that require to do some specific tasks.
I don't talk about high scores and achievements as you can do this using 3rd party website like http://swarmconnect.com/ I talk about functionality that require interaction between users,then you need website that host that.



PRIVACY POLICY:

I didn't use yet, so I have no idea.Google has info about it here: https://support.google.com/googleplay/android-developer/answer/2519872


This is just few tips.There a plenty more,so I suggest search more about it .

In next part, I will write more about how to increase change to make game successful
 Go to Part 9: How to be rich from application. 

12 March 2013

android development crusade special (part 19): a game in the weekend challenge.

Note: This is just bunch of notes for myself to keep track of how my hobby  projects develop over time.


Great  news:
  1. Doms learns Chinese hit a next milestone .10000 downloads.
  2. Doms diagnostic tools  hit a next milestone ( 10000 downloads.) soon too.
  3. Doms countries capitals flags quiz game  hit a next milestone ( 5000 downloads.)
  4. Doms learns chinese has more downloads than  Doms diagnostic tools !!!

Development news and stas:

Recently I learnt 2 new things:

  • Start activity for result, which doesn't work as well as I expected.
  • Background animation during move between activities,which add smoothness to my apps.
Nothing excited happen in my learning apart of ...  I discover a new type of Exception called  ConcurrentModificationException and solution how solved can be found here: http://pastorcmentarny.blogspot.co.uk/2013/03/how-to-solve-problem-with.html

Sources:

http://developer.android.com/reference/android/app/Activity.html#StartingActivities
http://www.mysamplecode.com/2013/02/android-animation-switching-activity.html



Doms diagnostic tools


Doms diagnostic tools development going terrible slowly and it seems v2.0 release will be badly delayed.(It was plan to release around 4.4) I feel bit scared to release a new version as old one is quite stable at the moment,despite some minor bugs.


I had many features idea for my app,but to be honest  I have only a 3 big features left to do . WiFi Direct,NFC and  USB.
  • WiFi Direct is easiest to do and I am half way done.
  • USB is difficult due lack of accessory that i can plug-in and test on :/.
  • NFC is most difficult and i will abandon this feature.
I have other little things to do like:
  • I need as well update GUI to looks reasonable on Android 4.0 and above,which is boring and time consuming thing to do.
  • I fixed quite few bugs,but I have still few features that require improvements.
but I lost excitement to continue development of this app.However i do a little bits from time to time as it is my first app and it has special meaning for me.

Stats:
Search for: "diagnostic tools: is on 6th place on page1 !

 You can download from here: 

https://play.google.com/store/apps/details?id=dms.pastor.diagnostictools

==== ==== ==== ====



Dom learns Chinese  Game


Progress going well.I do not spent to much time on learning Chinese at the moment,but i keep playing from time to time and i enjoy it.I enjoy my own game.I have many ideas for new features.
I do not plan release a minor update (that's include new words, lesson and bug fixes only,but i am in the middle of next major release where I will add last button where i will collect bunch of tips for travel , learning and other misc features. I need to improve adventure mode as i see some minor balance issues regards ... penalty for mistakes and do few tweaks here and there

Stats:
Search:  for "learn chinese"  is on page 2 [+3]!
Search:  for "learn chinese free" is on page 2  [ +3]!
Search:  for "learn chinese game" is on page 1 (2nd place! (+9)  ) !
Search:  for "learn chinese free game"  is on page 1 (1st place!)
Search:  for "chinese game" is on page 1[ +1! ] (18th place)

 You can download from here:
https://play.google.com/store/apps/details?id=dms.pastor.chinesegame

==== ==== ==== ====

Doms Countries Capitals Flag Quiz Game



Experimental project to help me understand, how words in description are important for better search result.


So far download rate drop badly after  my recent changes I added my ugly Feature Graphic .I 'improved' my description.
Result I lost around 33% downloads .
Some observations:
I think, my problem with description is that I try to cover too many 'key' keywords (which is country,capital,flag,quiz,game,trivia,of the world). It seems  I need narrow my most important keywords. .I will do more changes to see how they affect download rate
It seems best result i have for around 3000 characters description.
It seems my current description target to many cases
It seems suggestion of using only lowercase characters has impact on result.

Stats:

 Search for "quiz game"  is on page 19 :(
 Search for " country of the world" is on page 5 :(
 Search for " countries of the world" is on page 2 :)
 Search for " capital of the world "  is on page 3 :/
 Search for " capitals of the world "  is on page page 2 :)
 Search for " flag of the world "  is on page 8 :((
 Search for " flags of the world "  is on page 6 :(


 You can download from here:
https://play.google.com/store/apps/details?id=dms.pastor.cccfQuizGame

==== ==== ==== ====
My RPG project(s)

I work on simplified battle system for my game at the moment and this is an intense development.
 

3 March 2013

How to make simple game in Android part 10 - Summary,tips ,tricks , suggestions and others.

WARNING!
Few honest informations.  
I have a few years experience in software developer BUT  I am NOT a game developer! I am NOT an expert. 
This guide was written by person who want write game as part of hobby and make dreams come to true (As i want to write simple RPG game in future).   
 I put best efforts to write  accuracy informations, but I cannot guarantee the perfect accuracy of all content in this  articles  on this blog.
I do not take any responsibility or liability for any error, omission , inaccuracy
or destructions!


How to make simple application and/or game in Android

BASED ON GAME EXAMPLE: 
DOMS COUNTRIES, CAPITOLS, FLAGS AND CONTINENTS QUIZ GAME

 TO DOWNLOAD GAME

Part 10 
SUMMARY


Let's start from challenge.
It was a good fun and interesting experiment.
I am glad that I have done it, because:
·        I prove that you can do a quick game in short time.
·        I managed to make game that is playable.
·        I learn new things (that my current algorithm for levels was rubbish and I replaced with better one).
·        Give me an inspiration to write this tutorial.


Summary:
  1.  Always enjoy what you doing ... 
  2. Never update your IDE or Android SDK during implementing or testing stage. Finish , what you doing,test it.When it works, commit your changes and then update IDE, plug-ins and Android SDK stuff
  3. If you stuck with something, go for break ,drink 
  4.  "Premature optimization is the root of all evil" (Donald Knuth) .Do not optimize something ,if it not gives a significant improvements.
  5. Kiss principle 
  6. Choose licence for you application can be difficult .My favourite ones are wtfpl (http://www.wtfpl.net/) and  beerware. One of the best tool for licence is  creativecommons  (http://creativecommons.org/licenses/ )



Once again.
I hope you enjoyed this tutorial about Android application and game development.
If it has any use for you, then great :).
I hope, You found some useful little bits that help you in your fun with android development.

Good luck with your development.



How to make simple game in Android part 4 - Design

WARNING!
Few honest informations.  
I have a few years experience in software developer BUT  I am NOT a game developer! I am NOT an expert. 
This guide was written by person who want write game as part of hobby and make dreams come to true (As i want to write simple RPG game in future).   
 I put best efforts to write  accuracy informations, but I cannot guarantee the perfect accuracy of all content in this  articles  on this blog.
I do not take any responsibility or liability for any error, omission , inaccuracy
or destructions!


How to make simple application and/or game in Android

BASED ON GAME EXAMPLE: 
DOMS COUNTRIES, CAPITOLS, FLAGS AND CONTINENTS QUIZ GAME

 TO DOWNLOAD GAME

Part 4. 
DESIGN


It is a time to design a game. It will be quite easy.

Main menu will have four options New Game, High Scores, About, Tutorial
1.     Tutorial will display plain text in pop-up and explain how to play all types of game. In general, best way to do tutorial is 'in game tutorial', where you teach user step by step how to do it all basic things. For simplicity, .I used a Pop up with Plain text in this game, which is ok'ish but you need remember that not too many people bother to boring tutorial, these days.
2.     About will display info about me (explain, who I am), game (quick info about game), Eula and thanks.
3.     High Scores will display pop up with info about best scores for each game type.
4.     New Game will display pop up with selection game type (Country of the world, Capital of the world, flags of the world)

DESIGN.

A different person has a different way to design.
Some people do not do design at all. It is no problem, if you are experienced developer and you write a quick simple application, but for any other cases, you should design your application. It makes your implementation easier, quicker and reduce chance to re-write program from starch due major error or on requirement change. Requirements almost are always changed during development. Remember this Heraclitus quote: "Nothing is permanent except change".
There are many design styles depends on various factors like project's size, scale etc. However, some of you will think: “Wow, that's awesome Mr. Smart ass, but still I have No idea how to start. Help me, Mr. clever.”
If you have problem with design stage, then here are some tips:
1.     Understand requirements and split them into pieces that can be represent a task (For example: write/edit/read a file in format .LOL)
2.     Think about usability. About what? Usability is about, how to use Ur app from brainless user point of view. If you do not know anything about it, follow official android guidelines. Why? User will be familiar with patterns learnt during using OS.
3.     Design program flow as simple as possible and keep in mind that Ur app should be design for future update.
4.     Think spilt feature from your application into task (save file, convert from one format to other, save/load data to/from database etc.)
If you do simple app, then u don't need do all design but it's good habit to follow this as it saves you from ,mistakes tat cause total rewrite of code.  Believe me, it is worth to do it. One more time. Remember this Heraclitus quote: "Nothing is permanent except change".


How looks my design for this project:

My design was split into task. Each task represent piece of work (like feature) and it has own design. How I look my design process for this game? As you know from planning stage, I have done list of features. I want implement. I tried to establish how much I must do to achieve my aim for this challenge.
:-) (for example country list, trivia, settings, custom game)
this is a short list of task:
  •  game flow as mind map
  • GUI for menu,
  • GUI for menu items,
  • GUI for classic game flow level*n times->result,
  • about,
  • high scores,
  • tutorial,
  • level,
  • result,
  • country list file,
  • file loader and validation,
  • country of the world,
  • capitals of the world,
  • flags of the world,
  • saper mode.



My list was stored on Kanban board.
This is how example of task looks:


 I draw game flow (unfortunately i deleted)but I have not done class diagram.

For bigger and proper project is a good habit to do class diagram and user cases, but for small protects like this is not essential. Well. If u do project for somebody then is good to have user cases as it helps understand your client requirement.

I usually starts from UI for task as I like to see and test usability of my app.
then I do a core of app, so I can then do rest in any order (like test).

My design is split into two types:
General, where I planning and design fundaments of application
Task specific, where for each task, I follow iteration for:
 Research<->design<->implementation<->refactor and testing <-> done

that's give me flexibility to adapt to changes that ALWAYS happen during development.

That is all my design for this project.
I hope this part explains a little bit about design stage
Remember about kiss principle .depends on your project’s size and complexity.
I believe most important is to make sure that u happy with usability and direction in your design and it meets your requirements.
Be open to changes during development as they WILL OCCURED during development

in next parts (5 and 6) I will show most interesting snippet of my code. There are not an example a superb coding, but it will give you idea for one of possible solution...
Part 5: {writing in progress}.
Part 6: {writing in progress}.

(Part 5 and 6 are still work in progress ,however part 7  Testing  ,part 8. Add project to Google Play ,part  9. How to be rich from application.  and part 10. Summary   are  done and  there are in this blog.(Just click on links.

Feel free to left suggestions and comment. I am happy to answer and improve my tutorial

18 February 2013

How to make simple game in Android part 3 - Planning

WARNING!
Few honest informations.  
I have a few years experience in software developer BUT  I am NOT a game developer! I am NOT an expert. 
This guide was written by person who want write game as part of hobby and make dreams come to true (As i want to write simple RPG game in future).   
 I put best efforts to write  accuracy informations, but I cannot guarantee the perfect accuracy of all content in this  articles  on this blog.
I do not take any responsibility or liability for any error, omission , inaccuracy
or destructions!


How to make simple application or game in Android

BASED ON GAME EXAMPLE: 
DOMS COUNTRIES, CAPITOLS, FLAGS AND CONTINENTS QUIZ GAME

 TO DOWNLOAD GAME

Part 3 
PLANNING


It this part I will explain how I prepare, plan and setup my project.

I start from list of things, which is good to do and remember during preparing and planning:
1.       Write down all ideas and conclusions from brainstorm - as best ideas and solution for your problems appear in most unexpected moments. In toilets, just before go to sleep. Always write them somewhere!
2.       Create a “to do” list. It is many way to do .Starts from notes on piece of paper (notepad in your device) through program for task management, GTD-like application or Kanban like application.  Make sure that you setup priority (Most practical are (must have, maybe have, useful to have). I using Kanban to  
3.       DO BACKUP and keep it in external place (for example: If you work on PC at home. Your backup should be keep NOT at home.You must store backup in different place like cloud service(Dropbox) , pendrive at parents home etc.). 
4.       Use your favourite source code management. I recommend using Git. What is source code management? Here is link to Wikipedia article about it: http://en.wikipedia.org/wiki/Source_code_management 
5.       Whatever you do always follow KISS priniple ( KISS stands for: Principle Keep it simple ,stupid(or sir). Good article about that can be found here: http://people.apache.org/~fhanik/kiss.html
6.       Collect all interesting resources and keep source information (in this example, I collected all flags), sounds and data/algorithms that will be useful during implementation.
7.       If you have any problems with planning particular parts of you application use UML software for class design, user cases or flow. Mock some UI using UI designers in Eclipse or IntelliJ IDEA), to see how things look and allow you to test usability of your application or game. Make some quick user cases.
8.       If you planning to be a professional software developer. You can start select to use specific methodology or use some "software development methodology" principles to improve your skills. I suggest read at least this: http://en.wikipedia.org/wiki/Software_development_methodology .If you want. try one of plenty methodologies like  Agile ,Incremental , Iterative , V-Model , Spiral , Scrum   , FDD ,   TDD ,  XP and many more. (Btw. Forgot about waterfall is worst approach, as it will doom you, if requirement changes over time, which happen even in my doms countries capitals flags quiz example, where I added a new game mode and change high score). I usually used Kanban based methodology and it works fantastic for me (however, I loosely followed my Kanban board.).
9.     Write down all bugs, which you find in one place. In can be in your to-do list or you can use bug tracking software .I used

This and design stage are very important.
Why? As more effort you put it, then you will lower your chance to re-write your code. You will be more flexible for adapt to unexpected changes. Do not design everything upfront (like in waterfall methodology). Think more about flow, cases and usability and prepare task-list with prediction for how important it is and how difficult/how much time it will take. Tasks should be designed and implemented independently.

Important: this is only suggestion .Choose what can be useful for you.
How I planned my game?

This how looks my setup and planning for my project

I used IntelliJ IDEA as IDE. I used some agile and Kanban principles as methodology. I used Kanbanize.com as my Kanban board ,where I store my brainstorm idea, task list , bug tracking and as visual process management (to visualise workflow, manage flow and to-do list, manage adaptation for changes in requirements).I use Git as my source code management and my own program called nanobackup to do .. backups (that were stored internally and on Dropbox).
For simple game as doms countries, capitols, flags and continents quiz game that was based on previous project it was a bit easy, but this is shortcut of how I done it. I started from brainstorm. All ideas from brainstorm I added into task list. I put all task on Kanban board (I used kanabinze.com). I collected most data (flags, icons) and add/edit/remove task during my free time prior start of implement specific tasks.

I draw some UI to play with usability and with game flow. I used UI builder for Android that can be found in IntelliJ IDEA (better tool can be found in Eclipse). I decided then priority and task order for each task/feature. I create a text file with my loose plan about what will be including for each main release (v0.4, v0.5, v0.6, v0.8 and v1.0 (unfortunately I deleted file with info, what was in each release).
I play around with planning flow as part of test.
That is all.

Note: Even in small project like this one. Few elemnts in my plan changed few times during development. My planning is very flexible and it allowed me to fit these changes to development flow.

It was quick as my plan for this project was very similar to Dom’s learn Chinese game, so I followed pattern used in past.

Strategy vary depends on project size, deadline, complexity, your experience and many other factor, but do not worry too much about. If you just started, try to have some fun with planning and design that and allow a lot time for implementation.

 In next part, I will describe my design for “doms countries, capitols, flags and continents quiz game” with some example of uml ,task and etc.
Go to part 4: Design

15 February 2013

How to make simple game in Android part 7. - Testing

WARNING!
Few honest informations.  
I have a few years experience in software developer BUT  I am NOT a game developer! I am NOT an expert. 
This guide was written by person who want write game as part of hobby and make dreams come to true (As i want to write simple RPG game in future).   
 I put best efforts to write  accuracy informations, but I cannot guarantee the perfect accuracy of all content in this  articles  on this blog.
I do not take any responsibility or liability for any error, omission , inaccuracy
or destructions!

How to make simple game in Android


BASED ON GAME EXAMPLE: 
DOMS COUNTRIES, CAPITOLS, FLAGS AND CONTINENTS QUIZ GAME

 TO DOWNLOAD GAME

Part 7 
TESTING

I will be honest. I didn't write any JUnit tests and I haven't done proper test. Shame on me!

I didn't see too much sense for write  tests for quick project with extreme time constraint like 'writing small application in weekend'. I believe in this type of cases writing a tests can be a too much hassle and it was a too much hassle for me. 

I wrote some test for my applications that tests core functionality, but I am not TDD-fanatic (TDD stands for Test Driven Development, and it is a software development process, where you write a test, before you even write code to meet its purpose. If want know more read quite cool article http://www.agiledata.org/essays/tdd.html).
I am not good in writing test for android application as I have problem with find and write a meaningful tests. (I am aware, that is my weakness I need to improve this).

I don't write simple test case like for sets/gets methods and other obvious basics as I believe is waste of time, but I assume that TDD-fanatic will don't agree with that. Depends on your software development methodology and styles, You should decide.. .How many test you planning to write.
Specially in games is useful to have debug mode, where you can test how game behave in specific situation.

So what I should test in 'doms countries capitals and flags quiz game'?
Here you can find my ideas for test:


High scores where you can test:
  •  place and scores are correct.
  • Is sorting for scores works  
  • (TDD people will test add and remove score)


In Level You can test:
  •  is level 4 unique answer,
  • is 50 questions are unique


Countries:

  • you can test is loading file loaded all
  • is data is correct
  • amount of countries is correct

As you can see my code is not well written as is hard to test many method are void (doesn't have return value).Make sure,that when you writing 
 I have done 2 types of 'sort of' tests:
I validate date in load countries from file and load/save high scores from file
and I have done old-school empirical tests (run app and see, is it doing a right things in specific scenarios)




Validation helps me test app and check is new countries added to list are correct
This is example of validation for country

public boolean isValid() {

if (id <= 0) {

return false; //as id is start from 1

}
if (!DomUtils.isEmpty(countryName)) {
return false;
}
if (!DomUtils.isEmpty(country)) {
return false;
}
if (!DomUtils.isEmpty(capital)) {
return false;
}
if (region == null) {
return false;
}
return !DomUtils.isEmpty(flagId);
}
}
Note: Incoming data is already checked against is data's correct type (String, int and etc.).


What is a DomUtils? It is my selection of common used Java methods.
I found it, that have own collection of common used methods classes speed up your development.
I wrote my utils, which looks like Apache Common.


Tip: If you want improve your programming skills Apache common source code is a great place, to learn, how to write better quality code.




public static boolean isEmpty(String string) {


return (string == null || string.equals(“”));


}


Conclusions:
  1. Test are important!
  2. You should always write some tests specially for core functionality and places that dealing with validation from user input or files that are modified on regular basis.
  3. If you like TDD, then you must write test everything, before you write code.
  4. It can be a difficult to start. My first adventure with Junit was quite painful. Read about my biggest fail in development blog entry: http://pastorcmentarny.blogspot.co.uko.uk/2011/11/fail-development.html
  5. Do NOT ignore writing test. They will saves you from hot fix releases and 1 stars reviews.


Note: I will update this part, when I add some tests.

Emulator vs Device


Do not use Emulator!
Yes. It is possible to write game using emulator only.
I know one example of game, that was written this way and it works: (Made by  diskthrasher, link  https://play.google.com/store/apps/details?id=uk.me.diskthrasher.monkey),
but believe me you will save 50% of your precious time on development on mobile!


Buy any modern Android device that cost around £100/$150
As early 2013,Minimum which will cover
Android 4.x
CPU:  1Ghz (800Mhz  minimum),1 Core
800×480 (or even 480×360)
and it will be enough for while.


Remember! Testing in emulator  is a very painful process... .You can write a game without using emulator. However, if you want enjoy develop application for Android. BUY SMARTPHONE or cheap TABLET and DO NOT USE EMULATOR!!


That's it for testing.In next part I will give few tips about what to prepare before you add your project into Google Play.
Go to : Add project to Google Play





















14 February 2013

How to make simple game in Android part 2

WARNING!
Few honest informations.  
I have a few years experience in software developer BUT  I am NOT a game developer! I am NOT an expert. 
This guide was written by person who want write game as part of hobby and make dreams come to true (As i want to write simple RPG game in future).   
 I put best efforts to write  accuracy informations, but I cannot guarantee the perfect accuracy of all content in this  articles  on this blog.
I do not take any responsibility or liability for any error, omission , inaccuracy
or destructions!


How to make simple application and/or game in Android


BASED ON GAME EXAMPLE: 
DOMS COUNTRIES, CAPITOLS, FLAGS AND CONTINENTS QUIZ GAME

 TO DOWNLOAD GAME


Part 2. 
 WHAT YOU NEED TO LEARN

Depends on your experience...
  • If you  know Java,then learning will be a fun and quick process.
  • If you learn any modern OO programing,then it should be a quite easy and fun task too.
  • If you have absolutely no idea about programing, then you need a  spend some time and learn some basics about it. I suggest learn  All Basics of Java ( Oracle's tutorial is enough) + learn  Design patterns(Head first book is great).This gave you good start and valuable experience  .It is not essencial, but it will reward you in future!

    In terms of design pattern, most  software developer's fanatics will force you to read a book Gang of Four (more about it,here: http://en.wikipedia.org/wiki/Design_Patterns),but Head First book will be enough for start.
  • I believe that usablity is very important part of application and I believe read book Steven Krug - "Don’t Make Me Think"  will be helpful (despite that's it about web usability ,but combine with Design Pattern described by Google (http://developer.android.com/design/patterns/index.html ) give you a better

Depends on your learning style,then :

If your learning style by read documentation, then starts from here
official android site (official documentation is really good)

If you like read book,this book is very simple to understand and has useful stuff and  written by  Ed Burnette  - Hello, Android: Introducing Google's Mobile Development Platform (Pragmatic Programmers). [I am not sure, is it best one, but this book is good enough to learn all what you need for android development.

If you learning by example,then:
  Good news is that Android SDK contains lots of examples:
{Installation path}\Android\android-sdk\samples\
 Standard path in windows C:\Program Files (x86)\Android\android-sdk\samples\ 
  Bad news is that examples can be bit confusing to learn.

but ... they are tons examples and solutions about  all aspect android developments:
What is most important to learn about developing Android development?
  In my opinion is an Activity life cycle,so make sure that you go through this:
http://developer.android.com/reference/android/app/Activity.html
http://developer.android.com/training/basics/activity-lifecycle/index.html


That's it.
I will try to update this part from time to time.
If you know good example, tutorial or anything that can help other people.Left link in comment.

Go to part 3: Planning

How to make simple game in Android part 1b. - My Challenge

WARNING!
Few honest informations.  
I have a few years experience in software developer BUT  I am NOT a game developer! I am NOT an expert. 
This guide was written by person who want write game as part of hobby and make dreams come to true (As I want to write simple RPG game in future).   
 I put best efforts to write  accuracy informations, but I cannot guarantee the perfect accuracy of all content in this  articles  on this blog.
I do not take any responsibility or liability for any error, omission, inaccuracy or destructions!



How to make simple game in Android

BASED ON GAME EXAMPLE:
 
DOMS COUNTRIES, CAPITOLS, FLAGS AND CONTINENTS QUIZ GAME


 TO DOWNLOAD GAME



Part 1b 
A CHALLENGE


In this part, I will talk about challenge “Write a game in one weekend”.If you are just interesting how I wrote this game. Go to part 2 {link coming soon}

Cheats:
1. I already collect all graphics. I used: 
  • Flags from  http://www.free-country-flags.com/  with few exception when I used flags came from en.wikipedia.org or official country website, if was allowed
  • Icons from http://www.famfamfam.com/ made by   Mark James

2. My design was heavy based on 
my application Doms learn Chinese (https://play.google.com/store/apps/details?id=dms.pastor.chinesegame)

3. My algorithms based on Doms learn Chinese, but during development I discover mu current algorithm is rubbish, so I need it to improve for quiz game otherwise it will cause out of memory error bug.


Rules:
  1. Time frame from Friday 18.00 to Monday 2.00 (my original plan was Sunday 22.00, but due my plan to attend to drum workshop on Sunday, I moved deadline to 2 am).
  2. At Monday 2am  game must be published.
  3. Game must be playable at end of time (it means no crashes allowed)
  4. It must contains 3 modes countries of the world, capital of the world and flags of  the world.
  5. High score should works at least for highest score but top 10 will be welcomed.

DIARY


Friday evening

Plan for Friday: UI, menu, prototype, add all countries data 

I back from work and  I started at 18.00 from UI.
It was very easy as I used simplified design from Doms learn Chinese application.

Main menu has 4 options:
  New Game  - where user can select 4 game types:
  • Country of the world,
  • Capital of the country,
  • flag of the country,
  • Saper mode
  High score – it contains info about best results for all types of game
  Tutorial – that explains how game works.
  About - I have template for that,so it was copy and paste. Except for about game, where I need to write description.

I implemented UI and some code  for display About and Tutorial  stuff.

As I felt hungry, so it was a  time for quick dinner at 20.00

Dinner  over and at 21.00 with support of my friends red Porto wine and snacks I start to implement UI for level and results.
I created test file with 10 countries . I create a classes for basic flow level and result. I implement loading countries from file into memory and add validation to check is all data is correct. Everything went smoothly.
.
Around 2.00 I need to fix few... several mistakes with data. I start implementing prototype for capital of the country'  and I copied all graphics (countries flag and etc.). I added 193 countries to file with all date and check can I play. Well I can play but glitches needed to be fixed.
Just before 4.00 I finished prototype works and I went to sleep.




Plan result: UI(done), menu (done), prototype (done), country and add all countries data (done).
I have done everything what I planned. So far, so good.

Saturday

Plan for Saturday: country of the world, capital of the world and flag of the world are done, prototype  of saper mode(if time allowed),

At 10.00 I get up and I was almost ready to action. Well, I needed to go to for a food can be useful for rest of the weekend.

At noon start and  implemented 'final version' of country of the world game and test it. I implemented a result page. As it works after another few fixes and then, so next game type capitals was straightforward.

At 15.00, I start implementing 'flags of the world' but I had a bit a  problem with how to add name of resource dynamically but  quick search on stackoverflow.com and few searches later this line...

decodeSampledBitmapFromResource(this.getResources(), this.getResources().getIdentifier(answerCountry.getFlagId(), "drawable", getPackageName()), 240, 160);

 ...I solved my problem quickly and then I smoothly implement flag of the country game.

At 17.30 I decided to do extra game mode  called "walk-trough".  Idea was simple.. .User need guess all countries available in game. I implemented,but during test I discover a problem .... a big problem... .Game start crashes around 75% of test during out of memory issue.
I attempt to solve problems in many ways:
I tried set flags:
"ii.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);"
I tried use: 
android:largeHeap="true"
and many more things but problem stills exist.

More details can be found in  part 5 (Implementation), where I describe more details about set image and how I solve  problems related to flag of the world problem.

At 23.00 I gave up to solve this problem for now. I to implement other minor things like simple high score(where only highest score will be remembered), decided to resize some flag to one size, make other adjustment.

Near 1.45 am EUREKA! I realised that I need only activity  for all levels, but  as was late late to start re-design and re-implement level. I decided to continue to implement all little bits.

Around 3.00 I feel tired, but I have done almost all little stuff and some tests. I was bit worried about bug. I feel that's middle of the night is not best time to re-design stuff, so I I decided go to bed.



Plan result: country of the world(done), capital of the world(done) and flag of the world are done (not finished due serious bug), prototype  of saper mode(not started), re-design of  algorithm  for level(work in progress), walk-through mode (work in progress).  
As You can see I didn't do everything, what I planned, as  I spent too much time to solve 2 bugs (image issue and out of memory error), but at least I discover that my level/activity approach is rubbish, so I am happy with what I learn.

Sunday.
Plan for Sunday: test, saper mode, countries and continents mode, high score, add project and released it, test  re-design of  algorithm  for level, walk-through mode.


I expect, that workshop will take 3 hours but in fact First half of the day  spent on drum  workshop, where apart of learning basics of  play on drums (or revision in my case) I had idea how to re-write my code.

I start development on 5 o'clock (17.00).  Not too much time left. Time pressure – a one of the best friend of software developer before deadline – is with me. Let’s fun begin. I rewrote code for level and... which works and solved my problems. All test passed. I allowed myself to eat quick unhealthy dinner.

19.45. Implement Saper mode, in only 1,5 hour. It was time now for implement country and continents mode, which takes another 2 hours.

23.15 Final Testing, refactoring and improvements begins.
During final tests, I discover few problems:
  • Some countries  are not on specific continents, but they are rather in specific regions, so I renamed continents to regions /
  • Region issue... Russia belong to 2 regions, but my program assumes that Russia belong to Europe, so answer that Russia belong to Asia is assumed as incorrect as it require some changes to code and I decided to ignore that (or implement in far away future)  .
  • Some countries has no official capital, some has 2-3 capitals. I arbitrary decided to choose one, but my code should randomly select one. I decided to ignore that (or implement in far away future) 
  •  I discover that my program theme looks very oldschool, then I realise that I forgot about ad  android:targetSdkVersion="16" in all my programs. WHAT A FAIL!: P. I fixed in 15 seconds. LOL;)
  • Few minor glitches and bugs, but nothing excited to wrote about it.
Near 0.30  ....  all test passed, so  release v0.4 was ready to put on google play. I added title, description all marketing bla bla bla and DONE! I pressed publish.


At 1 am. I am happy I have done it! I can go to sleep I really  needed  go to sleep as I work on Monday!

Plan result: All done!


You can download my game  https://play.google.com/store/apps/details?id=dms.pastor.cccfQuizGame (It changed a lot since, then I decided do few “little bits” here and there.)

I have a great fun to do this challenge. I learn few little interesting bits about Android and more, but if you are interesting in summary and more details conclusion about this project, go to part 10.
For folks who want learn how I wrote very simple game as part of learn android development.. .Please go to part 2, I will write what is good to learn and know about Android and Java to be able to writing program for Android or part 3,if you already familiar with programming in Java, as in part 3, where I describe my planning stage.
Link to part 2: What You need to learn
Link to part 3: Planning
Link to part 10: Summary 

Thanks to:
- My colleague for inspiration to do this challenge. His experience can be found in his blog entry: http://theinvader360.blogspot.co.uk/2012/10/make-a-game-in-a-weekend.html
- for flags http://www.free-country-flags.com/ 
- for icons   http://www.famfamfam.com/
- for music that was my main entertainment over weekend with  great drum and bass mixes http://www.bassblog.pro/