From: <ia...@co...> - 2005-03-02 20:54:56
|
>> Has anyone read the 18xx-softdev archive yet? A lot of good >> ground was covered there (not all by me ;-)), and I think the >> discussions here would benefit from using this as a base. >> Specifically look at the thread(s) on a game definition file. >Just looked again, but it is hard so sort out the few pearls from that mess. >The thing I see so far is your data model in message #127, which we >indeed would do well to keep handy (I"ll print it out). >Marco Rocci"s summary of the 1830 private auction process in message #478 >might also be useful. >Any other messages you find worth revisiting? I have a vague overview in my head, I'll have to browse through it again myself to find the good bits. Reading it has value in that there are some useful items (your vote of confidence in my data model appreciated), and some useful discussions, and one can also see many dead-end discussions, which might be avoided here if people have read that list- "Those Who Are Ignorant of History Are Condemned to Repeat." >There is one interesting idea that I would add, inspired on message #238 >from Gregor Zeitlinger: creating subclasses for game-specific processes. >The question is to what extent we can configure options in a config file. >At some point things might get so complicated or game-specific that we >need to write special code. >The idea is to do that in game-specific subclasses of generic classes >which handle the more common cases. [ Decent example snipped for brevity.] >Such classes should be instantiated by a class factory. Yes, with a decent data model, many things are possible through configuration: it is a question of understanding and modelling the range of behaviour a component might exhibit (e.g. company). There will always be a point where a rule in one game is so unusual that it is best dealt with through a new class. This is where defining the datatypes through interfaces, and instantiating them through factories becomes a very powerful technique. It's a little more effort up-front, but the payback is enormous. Iain. |