I understand that you would like to defend the game to the best of your abilities.
That is not what I am doing here. I am only trying to the best of my ability to describe where the faults are with civ5. As I have said, I believe the problems lie more within the AI coding than they do in the engine or the graphics.
Personally, I think you've been completely lost. "Code optimization" seems to have been some "cool" term for you to throw into the discussion. Unfortunately, it has been picked up and now you are looking for a way out of the discussion.
No, this is just the meaning of optimisation that is usually spoken about by programmers (including modders), computer scientists, engineers etc. This is not just some 'cool' term.
The definition at the top of the page is a decent enough one:
In computer science, program optimization or software optimization is the process of modifying a software system to make some aspect of it work more efficiently or use fewer resources.
In the context of the coding for civ5, you could say that optimising would mean re writing code so that it performs the same job faster (in shorter time) and/or using less memory. It could also include writing the code to make more effective use of multiple cpu cores. For graphics optimisation, it would be rewriting code so that there is less load on the GPU and/or CPU.
Thanks anyway for that link.
"Unfortunately", you have forgotten to point out to which of the respective items you're referring.
Because we find in this article things like levels of optimization
- Design level
- Source code level
- Assembly level
- Compile level
- Run time
next to other explanations about
- Different algorithms
- Trade-offs
- Bottlenecks
- When to optimize
- Macros
- Automated and manual optimization
- Time taken for optimization
it would have been helpful to point out which of these items you see as referring to "not badly optimized".
Mainly the definition at the start is the most useful. That's all you need to read. The rest is just detail in case it's a topic you're really interested in. If you have no background in computer science at all, it may be of limited use - I'm not sure.
Up to now I can only see you avoiding one point after the other saying "Yeah, but that is not what I meant".
So, once again, *what* did you mean?
I've already repeated myself. But let me dot point it this time:
In my opinion:
- Game engine (including graphics) is not that badly optimised.
- AI coding may or may not be optimised. Very slow turn times when large number of players/units suggests AI coding is poorly written or poorly optimised. However increased complexity of AI necessary for dealing with 1UPT and Zone of Control issues could contribute to the longer turn times. Because we can't see the core sdk (the code) yet, it's hard to say for sure.
- Issues with gameplay/UI like whether you tell at a glance from the main map whether a tile is being worked are not issues of optimisation but rather issues of design.
- The fact that some movement inputs are rejected by the game can be said to be caused by an optimisation problem if the input is rejected because the algorithm computing whether the path is legal or not is inefficient or too slow.
The discussion was not about what is shown or not, but about the fact that Civ4's engine runs quicker although more information are displayed.
There's a bit of a difference in meaning between showing information and showing graphics. Civ4's interface may show more information from the main screen, but just
showing information (e.g. text) isn't a very proecessor-intensive task. However, rendering twice or ten times as many polygons would be more demanding on the graphics engine.
For the purposes of discussing optimisation, how much info is displayed on the UI isn't really relevant.
To refresh your memory, you've said:
So, you clearly have put workers as part of the units of the different AI players into the context in which you mentioned that " the graphics or underlying engine aren't that poorly optimised".
No this is just the way you've incorrectly interpreted my statements. Let me rephrase that paragraph so I'm a bit clearer:
Instead of this:
me said:
From what I can tell, the graphics or underlying engine aren't that poorly optimised. I haven't exactly done exhaustive tests or anything, but I get the impression that huge maps become horrendously slow mainly because of the number of AI players (including city states as they are players) and the number of units they have. Workers of course being the culprit of some of the biggest parts of the slowdown (fixed partly in latest patch as far as I know).
Read it as this:
me said:
From what I can tell, the graphics or underlying engine aren't that poorly optimised. Instead, I believe the main cause of the late-game slowdown is poorly written AI code. For example, the AI code for managing workers appears to be extremely slow.
Hopefully my view will be clearer to you now.
After I have picked that up, you avoided it by saying that workers according to your opinion do not belong into the field of "optimization".
No you are misquoting me again!
I never said that workers don't belong to the field of optimisation. You can't quote me saying that because I never did.
What I said is that worker optimisation does not fall under
engine or
graphics optimisation. It falls instead under
AI optimisation. Please stop misquoting me on this.
Acknowledging that I might have misunderstood you, I brought the example of the graphics:
which you countered by the statement that Civ4's graphics were much less demanding.
When I mentioned that nevertheless Civ4 provided much more information information-wise, you answered:
When I finally asked about *what* you would mean by "not badly optimized", you came back with this link about code optimization.
To be honest, in the whole context of this "discussion" you have not given the slightest hint about what part of optimization you're talking.
All what you've done so far is to say "Well, I didn't mean *this*".
So, once again:
*What* in Civ5 is not badly optimized according to your opinion?
Repeating myself:
Game engine / graphics don't appear to be badly optimised.
AI coding appears to be badly optimised.