Apolyton Archive  |  Preserved copy of the Apolyton Civilization Site forums as they ran on Ultimate Bulletin Board, 1998–2001. Read-only; nothing here can be posted to or replied to.  |  Forum index |  About this archive |  The 2005 site & forums

  Apolyton Civilization Site Forums
  Clash of Civilizations
  'Official' Architecture: The Clash of Civilizations (read-only, please))

Post New Topic  Post A ReplyPost A Reply In A New Window

profile | register | preferences | faq | search next newest topic | next oldest topic bottom of page
Author
Topic:   'Official' Architecture: The Clash of Civilizations (read-only, please)) Format for Better Printing
F_Smith
Prince
Austin, Tx 78728
May 99
posted August 13, 2000 14:09   Click Here to See the Profile for F_Smith   send a private message to F_Smith
Edit/Delete Message    Reply To And Quote This Message
IP: Logged, Admin Access Only
From the book 'Extreme Programming Explained' by Kent Beck (p. 48):

  • "Designing is creating a structure that organizes the logic in the system.
    Good design organizes the logic so that a change in one part of the system
    doesn't always require a change in another part of the system. Good design
    ensures that every piece of logic in the system has one and only one home.
    Good design puts the logic near the data it operates on. Good design allows
    the extension of the system with changes in only one place.

    Bad design is just the opposite. One conceptual change requires changes to
    many parts of the system. Logic has to be duplicated. Eventually, the cost
    of a bad design becomes overwhelming. You just can't remember any more
    where all the implicitly linked changes have to take place. You can't add a
    new function without breaking existing functions."



Our basic 'Coding Standard' is the common M-V-C approach. All programs consist of exactly three parts, each with a specific purpose, and Clash is no exception.



  • 'DataModel' classes that hold all the state information for the
    Game data.

  • 'Data View' classes (panels and such)

  • 'Controller' classes -- game state, turn logic, File IO stuff (including streaming for multiplay), etc.





All code should be seperated into these three parts. The first posts below will offer 'templates' for each of type of class that coders may use to ease/speed their development.

The posts after those will lay out the specific object hierarchy of game objects, and more detail on specific tasks and components needed.

P.S. -- if you disagree with anything in this thread, bring it up in the Clash Coding Standards Discussion thread. This is all subject to debate and revision -- open source, and all that!
[This message has been edited by F_Smith (edited August 13, 2000).]

F_Smith
Prince
Austin, Tx 78728
May 99
posted October 06, 2000 01:26   Click Here to See the Profile for F_Smith   send a private message to F_Smith
Edit/Delete Message    Reply To And Quote This Message
IP: Logged, Admin Access Only
Sha-bump.
Apolyton Civilization Site Forums
> > > Clash of Civilizations Forum

next newest topic | next oldest topictop of page

All times are EDT

Administrative Options: Close Topic | Archive/Move | Delete Topic | Top
Post New Topic  Post A ReplyPost A Reply In A New Window
Hop to:

Contact Us
Apolyton Civilization Site

Powered by: Ultimate Bulletin Board, Version 5.44a
© Infopop Corporation (formerly Madrona Park, Inc.), 1998 - 2000.

Front Page | Civilization III | Dinosaurs | Civilization II | Call to Power | Call to Power II | Alpha Centauri | Alternative Civs | Misc | Links | About ACS | GameStats
GameLeague | Scenario League | HAC | Civilization Scenario Collection | Spanish CivII Site | Clash of Civs | CtP Maps | Art of War | WesW's Ctp1/2 Site