I've illustrated the process with a circle, with 5 phases: think, plan, code, debug, and optimize.
Programming always starts with an idea. Never rush to code in the fist step. The first move should be thinking in what your game should have, how that features will work, and what data do you need to use for that.
This is the moment in which you have to use pen and paper, or a notes app, or a mind mapping app. You create the abstract concept of the game or the feature.
You don't need to have everything perfectly planned. Just the basic part. Once you go into the next phases, you can make the idea cleaner.
The next phase that I called Plan, is what I use to do this way: you go to your code editor, and write comments that break in small steps what is needed to do something. I go from a general concept to the small steps. So for example, I can add this comment:
// the heroine fights the monster
and then break it in parts:
// the heroine attacks
// monster defends
and then re-examine the steps and break into smaller steps:
// random number is lesser than heroine.attack = success
Once the steps are small enough, is the real moment in which I actually begin to code. I translate those tasks into the particular language I am programming in.
As you can see, there is actually 2 non-programming phases (think and plan), and one of coding, and two (debug and optimize) that are fixing the code.
Once it works, I have to play my own game or program, and note down all the things that don't work as they should (bugs), fix them (I'll write another article about how to find bugs), and replay again until all seems to work good.
Then comes the last part of the circle, that is optimizing. Now that it works, we have to make it work better. This is the moment for cleaning the code of things that are not needed or used, or for simplifying code that is unnecessarily complex or uses too much resources, make the program run faster, or make it use less resources.
Why do we do this? We do it to make it use less computer resources, and be less prone to errors, and to make it easy to modify or extend in the future.
And finally, that is why this is a circle. You have freed resources and made the code more extendable. Now, you can add more features! So you think and plan another feature and the circle starts again, with the same steps.
A game or a program can improve and add features endlessly until the programmer dies or someone kills them :)
Again, your comments are very welcome! Share how you work, or any idea you have! :) Follow for more!
0 comments