Apolyton Archive  |  Preserved copy of the Apolyton Civilization Site and its forums as they stood in September 2005. Read-only; nothing here can be posted to or replied to.  |  Forum index |  About this archive |  The 1998–2001 UBB forums
Today on Apolyton WARDELL INTERVIEW PROMO A.C.S. HISTORY CHAPTER 4 GET CIV4 /w FREE PLUS! A.C.S. PHOTO GALLERY GET A.O.M. V1.1
Apolyton Civilization Forums
main| civ2| civ3| civ4| smac| ctp2| ron| moo3| galciv| galciv2| alt| about|
ApolytonPLUS | register | search | faq | new posts | pm (-/-) | upload | members
hall of fame new! | civgroups | civgroups news | interviews | the column | radio | chat | directory | news | store | PLUS
Apolyton Civilization Forums : Powered by vBulletin version 2.0.3 Apolyton Civilization Forums > Call To Power II > CtP2-Source Code Project > Back to basics
Show a Printable Version | Email This Page to Someone! | Receive updates to this thread | Report this to Apolyton news!
CivGroups
CTP2 Source Code Project (59): Not a Member - Join

bottom of page
  
Author
Thread    < Last Thread     Next Thread > Post New Thread     Post A Reply
Lou Wigman is offline Lou Wigman
Warlord
Newcastle,Australia
Jun 2001
time: 15:33
  Old Post 12-02-2004 05:37
Edit/Delete Message Reply w/Quote
#1 Report this post to a moderator
Back to basics Increase the size of your Attachments

I have been lurking on these boards for some time. Unfortunately I have little knowledge of C++. I am a database programmer and have considerable experience in systems analysis and design.

It seems to me that very little is going to be achieved here without some good old 'top down design, bottom up refinement'.The project needs to be broken down into broad categories, each in turn broken into smaller groupings and so on until the point is reached where further analysis becomes meaningless.

For example (and being ultra simplistic) :

1. Map
2. Ages
2.1 Stone Age
2.2 Iron Age
3. Buildings
3.1 Cultural
3.11 Stone Age
3.111 Temple
3.12 Iron Age
3.2 Economic
3.3 Military
3.4 Building AI
4. Units

Once the basic structure is in place each level of the design can be 'refined'. Then and only then does it make sense to start any coding.

There are alternative design paradigms. My favourite is 'prototyping'. This is where the basic structure is created without trying to dot all the i's and cross all the t's. Functionality is added bit by bit. The advantage of this paradigm is that the user gets a working program very early in the development process and meaningful user feedback is possible right from the start. (I digress)

Now comes the really, really hard part.

The game already exists. This means that the design already exists. It would be foolish (impossible?) to make changes which do not fall into the overall design of the game.

So to the point of this post. It seems to me that the very first thing that needs to be done is to unravel Activision's design of CTP2. Produce a design document. Make public the design document. Discuss the design. Get it as accurate as possible. Not the design that you want but the design as it actually is. Then it is possible to start the 'refinement'process.

MrBaggins is offline MrBaggins
King

May 1999
time: 05:33
  Old Post 12-02-2004 07:12
Edit/Delete Message Reply w/Quote
#2 Report this post to a moderator
Support Apolyton buy from Amazon

AAAAAAAAAAAAAAAAAAAAAARRRRRRRRRRRRRRGGGGGGGGGGGGG


Just lost a big reply... I just hit the damn back button on my damn mouse. I guess I'll try again later, when I'm less angry.

* MrBaggins tries to think nice, peaceful thoughts

tyrantpimp is offline tyrantpimp
Warlord

Dec 2003
time: 05:33
  Old Post 12-02-2004 11:10
Edit/Delete Message Reply w/Quote
#3 Report this post to a moderator
Enter the AD-FREE zone

interesting point

child of Thor is offline child of Thor
Emperor
UK
Jan 2002
time: 05:33
  Old Post 12-02-2004 17:33
Edit/Delete Message Reply w/Quote
#4 Report this post to a moderator
Enter the AD-FREE zone

quote:
Originally posted by MrBaggins
AAAAAAAAAAAAAAAAAAAAAARRRRRRRRRRRRRRGGGGGGGGGGGGG


Just lost a big reply... I just hit the damn back button on my damn mouse. I guess I'll try again later, when I'm less angry.

* MrBaggins tries to think nice, peaceful thoughts



Ah yes the wonderful lost post/might comeout as a dbl post thingy
Bitter experience has got me into a good habit, if i'm going to do a long post i always now type it in notepad/wordpad first - then poly can do its worst and i know i wont be getting too mad

As for the subject of Lou's, you are probably right, but i think more actual stuff is being done than is being posted about. For example Mr.Baggins(who is being very industrious ), posted a quick update a little while ago and there were many things already implemented that i wasn't fully aware of.

At the momment i guess the programers are having a play/fiddle/look at the code and seeing what they can and cannot do.
The priority is for the time being being focused on getting rid of as many gameplay bugs as possible and getting succesfull compiles of the changed code.

All the design stuff that is being discussed i think is just a fairly informal chat on the various parts of CTP2 that might/could/would/should need looking at to change at a later date. I'm sure when all this stuff has been talked about to death, someone will compile a more cohesive post with access to all the past discussions on the various topics(Locutus?).

I imagine it will be some time before actual gameplay/design changes will be made to the code in any large amounts. CTP2 was a bit broken when it came out(MP especially).

But dont be a stranger Lou, add your thoughts to the discussions as all points of views are needed and welcome, as to how to improve the actual game.

There is an opportunity to create the best 4x historical(or not) tbs ever - it looks like the mainstream game producers have given up on this most loved format(well maybe bar Civ4/5/6 etc.....), so CTP2 is nearly our only hope

MrBaggins is offline MrBaggins
King

May 1999
time: 05:33
  Old Post 12-02-2004 18:31
Edit/Delete Message Reply w/Quote
#5 Report this post to a moderator
Get a bigger avatar today!

Interesting... I'm a DBA for a financials Data WH. We use Oracle and SQL Server (for some reporting.)

What do you work with, primarily?

Our first issue is that this is a non-commercial project. No-ones getting paid to do anything. Things are being done on a volunteer basis. While everyone seems to be on the same page, that doesn't mean that everyone is on the same page in terms of having to do "x,y and z". Tasks aren't being handed out... you do want you want to, and can do.

To me, documenting the existing system is counterinituitive. Things are object oriented, rather than being simply hierachical. Context is different and more important... and typical old documenting methods don't work.

Some of the code is very straightforward and obvious, and other parts are obfuscated. You only have a clear understanding after working with them, and gaining experience.

My thoughts as to an efficient way of assisting in understanding the code, which may be very complicated to explain concisely, would be to have a thread, (or threads) that we used to ask and answer coding issues.

E.G.

Does anyone know where "X" is handled?
How can I do "X"?

or even general coding questions like

I'm getting this odd error "X", how might I solve it?
Whats the best way to model "X" data/structure?

===

As for new stuff, I agree that it should be designed before its implemented. I've been doing this already in an unofficial capacity... limited designs on paper, docs in new code, posts about usage and implementation.

As for designing new systems... I completely agree... the DESIGN threads are part of this. Someone has to take each popular, sensible idea, if and when we're ready for it, and make an open IMPLEMENTING: thread, where discussion can occur on how we do "X".

We should also have a chat, about the project, at some point soon, I guess... coders especially welcome, although we'll have to sort out a common time.

Lou Wigman is offline Lou Wigman
Warlord
Newcastle,Australia
Jun 2001
time: 15:33
  Old Post 13-02-2004 07:53
Edit/Delete Message Reply w/Quote
#6 Report this post to a moderator
Enter the AD-FREE zone

But the issue is very important. There are potentially many people making changes in one area or another. Whether they be merely bugs or fixing some perceived inadequacy. How can you be certain that what one person does is not being undone by another? In order to make 'safe' changes the structure of CTP needs to be clearly understood.

Thus, if someone is making some changes to, say, the buildings in CTP, then a glance at the design will make it clear which areas of the code will be impacted. This then makes it possible to delegate tasks knowing that there will not be overlap. Or at very least you will know where the overlap will occur.

If the code is object oriented that's not a problem either. It merely requires a different type of documentation. Entity-relationships, data flows, whatever. Clearly what is done must reflect as accurately as possible what is actually there.

I am (was) in business for myself writing custom software for medium to large organisations. Universities, coal mines, utility companies and the like. I settled on Microsft Visual Foxpro some time ago. This is also an object oriented language. My projects were almost always unique and very varied; filling gaps that could not be done by more 'standard' applications.

Nowadays I mostly play games

Trouble is most games are way too shallow for me. I am hoping your efforts will result in something a good deal better than Civ3, which lasted about 8 hours on my HD.

About the only way I think I could usefully contribute is in the form of testing. I have downloaded the playtest and looked at the changes that have been made. Very few of these impact on the way I play the game. When something more substantial appears I will most certainly give you some feedback.

MrBaggins is offline MrBaggins
King

May 1999
time: 05:33
  Old Post 13-02-2004 09:02
Edit/Delete Message Reply w/Quote
#7 Report this post to a moderator
Enter the AD-FREE zone

Change management hasn't been a significant issue up til now. We manage alterations, by incremental fixes of files, which we keep track of. Within the files, you have comments listing whats been already done, and the actual changes themselves are denoted by #if !defined(ACTIVISION_ORIGINAL) preprocessor directives, and/or comments (which will be from us, since existing comments have been stripped.)

I just don't see this as any issue at this point. Its certainly not been practically displayed in any way.

As for OOD... there are more than 600 classes in the project, thats a horrific degree of complexity to map blind, and define relationships for. There's a high degree of interdependence, also, limiting our ability to define discrete sections.

I certainly wouldn't volunteer to handle a fully method compliant documentation process.

I can find anything I want with the flexible search tool in Visual Studio, thats been perfectly fine in finding and resolving all instances of whatever reference in particular.

Last edited by MrBaggins on 13-02-2004 at 09:31

  < Last Thread     Next Thread > Post New Thread     Post A Reply
All times are GMT. The time now is 05:33.
Apolyton Time is 00:33.
    top of page
Rate This Thread:
Forum Jump:
Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is ON
vB code is ON
Smilies are ON
[IMG] code is ON
 




Contact Us - Apolyton Civilization Site - Support Us!

Building a better Apolyton through better information. Click here and take our poll!
Non-US visitors, click here!

Powered by: vBulletin Version 2.0.3
Copyright ©2000, 2001, Jelsoft Enterprises Limited.

Page generated in 0.0464 seconds (86.70% PHP - 13.30% MySQL) with 36 queries
Page Loading Time:

Support Apolyton: Amazon USA | Amazon UK | Amazon DE | Amazon FR |
Support Apolyton and get FREE PLUS, Buy from Chips&Bits: Galactic Civilizations | Galactic Civilizations: Deluxe Edition | Call to Power 2 | Civilization: The Boardgame | GURPS/ Alpha Centauri | Alpha Centauri | Civilization IV | Civilization III: Complete |


Front Page | Civilization IV | Civilization III | Civilization II | Call to Power II | Alpha Centauri | Master of Orion III
Rise of Nations | Galactic Civilizations | Galactic Civilizations II | Misc
Alt.Civs | Civ I | C:CtP I | About | News | Directory | Apolyton Store | Forums | Chat | Columns | Interviews | Newsletter
Scenario League | CSC | Clash of Civs | Spanish Site | CtP Maps | Cradle of Civ | WesW's Ctp1/2 Site | Civ3 Haven

apolyton.net | apolyton.com | civilization2.net | civilization3.net | civilization4.net | civilizationiv.info | calltopower.net | galciv.net | galciv2.net | moo3.net