I do not take any responsibility or liability for any error, omission, inaccuracy or destructions!
BASED ON GAME EXAMPLE:
- 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
2. My design was heavy based on my application Doms learn Chinese (https://play.google.com/store/apps/details?id=dms.pastor.chinesegame)
- 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).
- At Monday 2am game must be published.
- Game must be playable at end of time (it means no crashes allowed)
- It must contains 3 modes countries of the world, capital of the world and flags of the world.
- High score should works at least for highest score but top 10 will be welcomed.
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
- flag of the country,
- Saper mode
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.
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 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);
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
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.
- 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.
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.)
- 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/