Overall Plan of Development [Documents/01-OverallPlan.txt] Ernest Prabhakar, September 23rd, 1993 These are my basic ideas on how to go about this. If everybody agrees with (or ignores) me, I'll proceed along these lines. If anything doesn't make sense, let me know. The goal, as mentioned in the charter, is to develop: - protocols, - classes - nibs/pallettes, and - example games (roughly in that order) to aid in developing computerized wargames To do this, I believe we should do the following: 1. Define what what we mean by a "wargame", to make sure we are all talking about roughly the same things. 2. Define the different things our wargame objects need to do, so we know which problems we need to solve. These will eventually become our protocol declarations 3. Create classes that use implement those protocols. These serve as testbeds, as well as potential base classes to distribute as part of the kit. 4. Write supporting classes, pallettes, and nibs. 5. Build and test complete games using the above. And most importantly. 6. Repeat I expect this to be an iterative process, where we start with a simple case and work our way up to more sophisticated systems. We need to constantly balance between oversimplifying and biting off more than we can chew. My personal philosophy is to overdesign (go for generality), then underimplement (test a small piece). As we increase complexity, I am sure we will soon discover that our earlier ideas were too narrow, and have to start over from scratch. That's okay, my philosophy about this project is that getting there is half the fun. I have spent a lot of time thinking about how things should work and how they could be implemented, so I will probably provide a steady stream of ideas to the group. However, just because I've thought of something does not mean I am wedded to it! If you have a better idea, even if radically different and still vague, post it to the list to let people beat on it. And feel free to tear my idea to shreds, as long as you do it constructively. I want discussion and dissent, otherwise there would be no point in the list!