Thalassicus / cep-bnw

Civ V Communitas Expansion Pack
32 stars 22 forks source link

Thoughts on recent changes #166

Closed Thalassicus closed 10 years ago

Thalassicus commented 10 years ago

I'm back from my modding break. :)

I'm checking over recent changes. I'm thrilled at all the progress you guys made! There's three small things I want to discuss.

Barbarians

Many people want dangerous barbarians, but I want to avoid swamping the player with barbs when they don't want to deal with them. Many people find it frustrating to be forced to handle lots of barbs right away.

I made both groups happy by making barbs dangerous, but blocking them from player territory until everyone has a chance to build defensive units. This is why I set a high EarliestBarbarianReleaseTurn. Our own territory is very safe in the early game, but expanding outside that territory requires significant military investments.

Start bonuses

If we want to disable specific start bonuses, we should target those individually, instead of disabling everything. The start code mostly fixes various problems with the AI I've discovered over the years. Here's some examples:

Wonders

I've thought about ways to do difficulty levels in games over the past few years. I want hard AIs to actually behave differently from easy ones, like experienced humans play differently than new players. I want them to play smarter, not just with bigger bonuses.

I asked myself, what do new human players do differently than experienced ones, and how can we apply that to the AI? New people are more likely to go for things that seem cool, but might not actually be effective. Experienced players know more about what works and doesn't work.

Along those lines, new civ players often try to get every world wonder, even the ones that aren't needed. I applied this to the AI by raising their wonder production speed on low difficulty levels. This also solves another problem with the game. In the unmodded game it's too easy to get every wonder on low difficulties, while it's nearly impossible on high ones. I like to even that out a bit. This is why I reduced AIWorldConstructPercent on low difficulty levels.

stackpoint commented 10 years ago

So I'm guessing most of this is for me and my experimental changes. I did not intend for my experimental changes to make a live build and was planning on rolling back those commits soon. I was trying to test the AI's ability/tendency to construct buildings vs units with an increased buidling flavor change within the new-features branch.

I also had no idea that the wonder change was intended and was trying to address the issue here.

Also regarding the separate CEAI_FixTables.lua and CEAI_Handicaps.xml tables you have. I read about the GameInfo caching problem here and wouldn't it be possible to use SQL to copy the GameInfo.HandicapInfos in one batch to GameInfoCep.HandicapInfos instead of having to define two separate tables? Or to use SQL to copy the GameInfo.HandicapInfos table to GameInfo.HandicapInfosCep for the lua to reference since only HandicapInfos would be cached for the lua?

Thalassicus commented 10 years ago

Ahh so those things were experimental! I probably didn't need to spend an hour figuring out explanations then. Oh well! :relaxed:

If you can solve the problem with VFS files loading the wrong data, go for it! It'd be great to not have to maintain separate files anymore.

Lmaoboat started in the classical era in the thread you linked. I design things for default settings in the ancient era, because it's not practical to perfectly balance both early and late-start games.

Thalassicus commented 10 years ago

On a side note, in a day or two I'd like to release the work yall have done, if you can wrap things up by then.

skodkim commented 10 years ago

Good to see you back Thal. I agree that we should have a new release soon, but IMHO we need to have a look at some of bugs first.

Most importantly the yield library desperately needs some work as several wonders, buildings, policies etc are basically next to useless right now due to bugs related to this. Furthermore there's a bug concerning yields in the city screen that it's proposal also related. I know the latter is only a visual thing but my personal experience is that it really adds to confusion, e.g. makes bug tracking a lot harder.

\abolishing

On 29. jan. 2014 20.15.25 CET, Thalassicus notifications@github.com wrote:

On a side note, in a day or two I'd like to release the work yall have done, if you can wrap things up by then.


Reply to this email directly or view it on GitHub: https://github.com/Thalassicus/cep-bnw/issues/166#issuecomment-33619113

Sendt fra min Android telefon med K-9 Mail. Undskyld hvis jeg er lidt kortfattet.

stackpoint commented 10 years ago

Wouldn't copying the table

CREATE TABLE HandicapInfosCep AS SELECT * FROM HandicapInfos;
SELECT * INTO HandicapInfosCep FROM HandicapInfos;

then setting the function to use the non-cached table work?

function Game.GetHandicapInfo()
    return GameInfo.HandicapInfosCep[Game.GetAverageHumanHandicap()]
end
GrantSP commented 10 years ago

@Thalassicus I would have to agree with @skodkim on the release aspect. Most of the game-breaking bugs have just about been squashed and there are just some lingering problems from yet to be implemented features from previous incarnations. As far as the general public is concerned we just had a major release not too long ago and they are still working through the changes that brought. I think it would be prudent to have a feature freeze for the time being to get the last few stragglers squashed and then move back into features.

Some of the lua coding could probably be done really quickly by you since you coded the original stuff way back in the day. Although I have no doubt @stackpoint can, and does, do just as well