But now, I'm thinking about Production Quality Software, and getting my little stupid Snake game up to that level.
This is the difference between "done" and "finished". To raise a piece of software up to production quality, it means doing that last 10%.
Snake was, when I posted it, at around 90% completion, which means that you can go ahead, download it, unzip it, and run it, and it plays a game of snake.
What it DOESN'T have is:
A "Loading" screen.
A proper main menu/title screen. I still don't believe in fancy title screens, but a professional one is a must.
A proper "game over" screen
A pause function (it has one at the moment, but not a very good one)
The ability to select game options, such as:
* The speed of the snake(currently 5 tiles a second)
* Snake growth per pellet(currently 2 per pellet)
* Board size(currently 40x30)
* Initial length of snake(currently 4)
And it doesn't support a timed mode of play. In timed mode, you have to eat the next pellet in a certain period of time, or more pellets are added to the board. These extra pellets aren't worth any score, but they will add to the length of the snake.
And it needs a game icon, a proper setup utility, a better choice of sounds, maybe some music, and so on.
And most importantly, it must conform with good programming practices, and must also conform to how an actual production quality popcap game would be constructed.
It's easier for me to struggle with making a game that is "quality enough for popcap" without having to struggle very much with making the game itself. It's "snake"! Making snake is easy! *FINISHING* snake is hard.
So, this includes changing things around so that the program makes use of a "Resource Manifest".
I'm kind of weirded out by the word "manifest" here... it always makes me think of "manifesto" or "manifest destiny".
Oh, and another word that has been plaguing me lately is "Rehup". There is a function in the PopCap framework called "RehupFocus".
Can anybody tell me what "rehup" means?