V29 Plans

I can really agree with you on this to a large extent. The AI and performance prohibit the game from getting past the Industrial Era at best most of the time, and that needs to be fixed. You mentioned something about multi-threading the pathing, if my profiles are anything to go by you could get the 20% (actually closer to 25%) right there. The AI certainly needs work in those specific areas you listed, as well as just generally on tactics, it can never do well at all in a war against me on Immortal.

The main thing I'm thinking is that I don't think anyone else (maybe AIAndy, but certainly not myself and Thunderbrd) understand the structure LyTning made to be able to implement multi-maps. We can do parts of it but the core of having the DLL handle multiple map objects and the things involved with that (as well as the AI for that) is really beyond me. I do think that if we get Multi-Maps, even if it is just in the Modern Era for going to the moon, that a lot more people will play C2C and we will get a lot more coverage. And then there is always AXXXXE (if you are still interested in that)

I guess what I'm trying to say in so many words is that it would be really nice to see multi-maps, but I understand perfectly if you don't want to work on them, even if it means we don't get them.

I probably won't try to aggressively multi-thread in V29 (likely that will be my performance focus for V30), as I want to extract the still-fairly-easy optimizations from the base algorithms first (I'm confident I'll easily get 20% that way at low risk and relatively low effort, and while we remain largely single-threaded we get the benefit of one-core turbo frequencies on most modern CPUs which is performance we LOSE once we multi-thread).

When it does come to multi-threading the first things will be:
  • Processing cities in parallel for CvCity::doTurn(), which is basically just pre-amble to the turn, but takes a lot of time (small amount of locking will be needed here but not much - mostly when considering building wonders/national wonders/unique units)
  • Parallelizing the tech valuation of individual techs in the tech-path choice routine
  • Parallelizing the civic valuation of individual civics in the civic choice routine
  • Parallelizing the evaluation of different choices for an individual unit. This could be done at either (or both) of two levels:
    • Investigating different options in parallel (e.g. - looking for a good attack, and defending a city) - the problem here is that the linear structure of the AI which we are seeking to parallelize works by evaluating these serially, in priority order, stopping when it first finds one. If we move to doing this in parallel there will be a lot of cases where the highest priority action succeeds anyway, so the parallel work we have done on the lower priority ones is just wasted cycles (i.e. - heat, and more particularly, wasted core usage that will prevent turboing up that can happen while we are single threaded, which means it might result in SLOWER results overall)
    • Investigating different targets for the same option in parallel - e.g. - different cities to go construct a subdued animal building in when running the subdued animal AI
  • Parallelizing unit moves between units - this option is FAR the hardest and riskiest though, since there is a huge degree of entanglement between what one unit decides to do and what another then subsequently decides (so tons of locking needed which will make it harder to extract parallel efficiencies). I'm also leery of this option because it will make AI decisions much more non-deterministic, which will reduce our ability to reproduce problems and debug things.
 
Koshling I totally agree with you. I feel like C2C is getting more like modern games, as in this new mentality of making games to easy to win. I'm old school, I need a challenge. More is more is all good, but it needs to work.

Also, I feel like it would be helpful to have some documentation stickied going over what game options affect turn speed and what players can do to increase the speed in which the game is played through. Just throwing some thoughts out there.
 
Also, I feel like it would be helpful to have some documentation stickied going over what game options affect turn speed and what players can do to increase the speed in which the game is played through. Just throwing some thoughts out there.

It may seem highly counter-intuitive, but something I have noticed recently since I started playing a few test games on higher speeds, is that turn times on higher speeds (for individual turns) are longer. This is because AIs are having to take research decisions, and build decisions more often, so the calculations for those happen more times per turn than they do at slower speeds.
 
when the game dies due to lack of challenge, its continuation in techs etc. is essentially irrelevant).
So if you perfectly balanced the game from prehistoric to modern and it was all ultra fun and challenging and people were asking for more would you then do multimaps/space?

I'm not fully on board with the more-is-more philosophy
Well I don't not like having lots of techs/units but more important to me is span. I would prefer 200 techs spanning the beginning of human life to the exploration of other planets and dimensions (way after the space age than to have 500 techs spanning medieval to modern. So it's variety/range rather than quantity that's important for me.

So I'm on board with your decision. Make the game more challenging, balanced and enjoyable then if its awesome develop the space era. Only one problem that I see preventing this ever happening... Adding new features to this already bloated game. Look how many techs we have, all these awesome features like disease, housing, pollution, global warming and much more but I really believe its enough... We have heaps of stuff for the prehistoric - modern however I do agree we need to fill up stuff for the blank spaces in the tech tree that arise around mideval and beyond.

So my advice would be to focus on balancing and filling blank spaces rather than adding new systems. Keep what we have but don't add more. My friend was interested in this game and was gunna buy the civ 4 collection to play it but I said not too because I knew it would be too complicated for him.

What do you think, anyone agree?
 
It may seem highly counter-intuitive, but something I have noticed recently since I started playing a few test games on higher speeds, is that turn times on higher speeds (for individual turns) are longer. This is because AIs are having to take research decisions, and build decisions more often, so the calculations for those happen more times per turn than they do at slower speeds.

HUH, how can that even be possible?? I am not understanding the logic there (since i am not a coder) but wont it be the same really for each speed, via you build the next available building etc the same , or am i way off track here, to me it just doesn't make sense:crazyeye:

The only thing i have seen lately is the the Classical Era, is getting sooo long in-between turns, it hard to get enthused.

@12padams: Completely. Challenge is the best way to go. I am re-thinking the units stuff right now, i think it would be best if 25% of them were GONE.
 
A faster game speed is a more condensed game but it doesn't mean many fewer decisions must be made by the ai within a given era. So since they must make SO many more decisions on what to build, what to research, etc... within a given round on a faster game speed, it makes the processing time between turns skyrocket.

See, on a slower game speed, the ai doesn't even have to evaluate the next tech to research every round because it takes a few rounds to earn the tech they're researching, but on a faster game speed, it may have to do such an evaluation multiple times every round because its picking up techs so much faster. Each time it evaluates what to research, it requires a block of processing time that adds to what takes place before you can get back to your next turn. Thus, faster game speed, longer delays between turns. See what I mean?
 
That's not what takes time. A shift in form from one to the next is a tick (and we have millions of ticks per minute in processing time) but you must factor in the consideration that between your turn and the next, the ai is actually taking its turn, like in a board game. Its actually amazing it takes it so quickly to be honest. What makes it take a lot of time where it does is the 'thinking', the analyzing and considering of all the possible choices it has it can make and coming to a determination of what is the 'best' decision. And on a faster game speed, an AI has a LOT more thinking to do because a lot more happens in one round!
 
That's not what takes time. A shift in form from one to the next is a tick (and we have millions of ticks per minute in processing time) but you must factor in the consideration that between your turn and the next, the ai is actually taking its turn, like in a board game. Its actually amazing it takes it so quickly to be honest. What makes it take a lot of time where it does is the 'thinking', the analyzing and considering of all the possible choices it has it can make and coming to a determination of what is the 'best' decision. And on a faster game speed, an AI has a LOT more thinking to do because a lot more happens in one round!

This is essentially correct. In particular on slow game speeds a city won't have to evaluate what to build next most turns because it won't finish whatever it is currently building. On fast settings it may have to evaluate several times per turn with multiple production. Same goes for research - if you don't complete your research (of the current tech) there is no need to evaluate what comes next, but if you research multiple techs per turn you need to evaluate multiple times per turn.

It doesn't make any difference for moving units (they have the same amount to do regardless of game speed) - it's all down to economic decisions really.
 
Can we get more events?

FfH or MoM had some great events, like building wonders that you and the computer had to race to achieve. Only once a game do I ever get a build this event, and it's usually something really hard.
 
@12padams: Completely. Challenge is the best way to go. I am re-thinking the units stuff right now, i think it would be best if 25% of them were GONE.

Please don't remove the units... I am referring to the techs being very expansive. Try merging the techs a little and having it so that a tech doesn't just add a single feature. When doing my lets play I noticed I would have a target tech (usually a few rows away) because all the other techs seemed useless/boring due to lack of new stuff they added. A new tech shouldn't just add some promotions, it should add buildings, promotions, units and features/abilities. Having lots of techs makes the excitement of researching each new tech much lower because each tech unlocks so little (some later on dont unlock anything at all).

So to summarize:

Amount of units/buildings = good
Amount of techs = bad
Reason: Techs seem insignificant due to the low amount of features each tech unlocks.

I don't want to be the only person giving input here however... Does anyone agree that the amount of units is good but there are too many techs to compared to the amount of units?
 
@12padams

Techs unlock more than just units. They unlock, buildings, terrain features, resources, civics, promotions, wonders, project, religions and even more techs. I am very happy with the techs we have. If there is a tech without something chances are there have been plans to add something to it. In short please don't delete any techs since once we get around to filling in those techs it would be horrible to find out it did not exist anymore.
 
I could take it or leave it on numbers of techs. On the one hand I like the diversity in techs but on the other hand from what I understand from what koshling said combining techs and making them longer research times would result in shorter turn load times for the AI
 
I could take it or leave it on numbers of techs. On the one hand I like the diversity in techs but on the other hand from what I understand from what koshling said combining techs and making them longer research times would result in shorter turn load times for the AI

We'd have to go far too generalizing on the techs from where they are now to make any significant impact. Yes, the amount of raw content creates drag, but nowhere near the amount of time the AI is taking to consider things and that alone can be greatly streamlined in the WAY it does so. Koshling is working on that this cycle so I think we'll see a lot of improvement without having to make content sacrifices.

@SO: RE: comment regarding the units: Its actually a small percentage of units that are core. Most of them are cultural. Many never see play in a given game. This diversity allows us to make it nearly impossible to experience the same game twice (or should help towards that goal) and also honors all of our cultures with a recognition of some of their historical achievements. I don't feel they are a big culprit of much of our 'drag' but do contribute a lot to the flavor of C2C overall. With the combat mod, the variety of ways a unit can be strategically useful will increase and should give more rationale and usefulness for all this great diversity we already have. So I wouldn't relish the idea of shaving them down much unless it can be shown that there are too many for a given culture that is making that culture more valuable than others.
 
I probably won't try to aggressively multi-thread in V29 (likely that will be my performance focus for V30), as I want to extract the still-fairly-easy optimizations from the base algorithms first (I'm confident I'll easily get 20% that way at low risk and relatively low effort, and while we remain largely single-threaded we get the benefit of one-core turbo frequencies on most modern CPUs which is performance we LOSE once we multi-thread).

When it does come to multi-threading the first things will be:
  • Processing cities in parallel for CvCity::doTurn(), which is basically just pre-amble to the turn, but takes a lot of time (small amount of locking will be needed here but not much - mostly when considering building wonders/national wonders/unique units)
  • Parallelizing the tech valuation of individual techs in the tech-path choice routine
  • Parallelizing the civic valuation of individual civics in the civic choice routine
  • Parallelizing the evaluation of different choices for an individual unit. This could be done at either (or both) of two levels:
    • Investigating different options in parallel (e.g. - looking for a good attack, and defending a city) - the problem here is that the linear structure of the AI which we are seeking to parallelize works by evaluating these serially, in priority order, stopping when it first finds one. If we move to doing this in parallel there will be a lot of cases where the highest priority action succeeds anyway, so the parallel work we have done on the lower priority ones is just wasted cycles (i.e. - heat, and more particularly, wasted core usage that will prevent turboing up that can happen while we are single threaded, which means it might result in SLOWER results overall)
    • Investigating different targets for the same option in parallel - e.g. - different cities to go construct a subdued animal building in when running the subdued animal AI
  • Parallelizing unit moves between units - this option is FAR the hardest and riskiest though, since there is a huge degree of entanglement between what one unit decides to do and what another then subsequently decides (so tons of locking needed which will make it harder to extract parallel efficiencies). I'm also leery of this option because it will make AI decisions much more non-deterministic, which will reduce our ability to reproduce problems and debug things.

Can you have toggles for single core/multi-core solutions?
Or is coding this too much trouble?
 
Can you have toggles for single core/multi-core solutions?
Or is coding this too much trouble?

Yes, but it would not be easy to use. It would either have to be a conditional compile or a game option in the global defines, meaning it will be a pain to use with the SVN.
 
With Tech's and Units i don't have any problems though the Sky rocketing of the AI between the Second and Third age does even when i don't have a direct opponent annoy me due to the fact the Wonder race is between a man with a stick and a running horse that is certain to 99% winning every match i luckily can manage the culture race but that's about it
either i am doing things wrong Over and Over again or that AI has an ace up it's sleeve i get annoyed so much i just want to nuke him till even the ashes get's vaporized (and that in the third age... :P)
 
The initial leaving of earths atmosphere was such an exciting point for me in spore (

It's interesting you make this comparison. Just like in that game, there are ways to make a stand-alone version in this game. Play a new mod. In Spore, you just start where you want to. In this game, you play a new mod. If there is no challenge late in the game, you may as well start a new mod where the starting level is even again. There are plenty of mods that let you start on different planets or as a "space empire".

But speaking of multi-maps, Civ2 ToT did it, and I don't know if Civ4 would be similar or not.
 
Civ 2 is Archaic in terms of coding so most likely it cannot be of use but idk i'm not a modder let the people with expertise in it judge on it

oh and i was wondering is it maybe possible to get the Palace system of either Civ 2 or Civ 3 (or combo of both) back in?
 
Back
Top Bottom