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!
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:
BASED ON GAME EXAMPLE:
DOMS COUNTRIES, CAPITOLS, FLAGS AND CONTINENTS QUIZ 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
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?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.
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.
No comments:
Post a Comment