NEVER TRUST A SKINNY CHEF

(Or, "Don't trust software developers who don't use their own product.")



"Dogfooding" is short developer slang for "eating your own product".  Which is metaphor for using your own software.  If you ain't using it, then how do you know that it works consistently and reliably?

So the basic idea is sound.  Get the least developed, core sequence going.  The very heart of the matter, the main loop or most important series of functions and logics.  After the testing, after the tweaking, start using it for its intended (if seriously pared down) purpose.  Throw everything at it; use it for everything.

In my case, this means get the basics of the DF game working.  At least one player character, at least two rooms, at least one connecting doorway, at least one monster, and at least one NPC.  Try out the Move action, the Attack action, the Dodge action, and so on.  Try at least one spell on the monster and/or NPC.  Put in a trap.  

Add on the character creation system.  The system handles both the player's creation choices and the computer's creation choices (from randomly created monsters and NPCs, to more intelligently chosen "builds").

Set up automation on it for testing.  Run the thing a thousand times with random action attempts.  See what happens.

Once the skeleton seems reliable and sturdy, add the rest of the minimum spec items.  The other ten actions.  The full 10 by 10 array of rooms, with all the random doors, locks, traps, and treasures.  Add in the randomized full population of monsters and NPCs.  

In this way, by using (or playing with) the minimal recognizable structure of the program, the chef gets a taste of his own cooking.  The software developer gets a sense for how the program works and its experience for the intended audience (the end users).

And I don't even need to wear the funny, poofy hat.




Comments

Popular posts from this blog

Telling Rocks What To Think

WWHD?