[Religion and Revolution]: Mod Development

Status
Not open for further replies.
I haven't quite figured out how it would be best to write that info in XML.

As I said, check "Era-Specific graphics" from Civ4 BTS.
It is quite some time ago, so I don't remember details anymore.
But when I did my technical concept for such a feature and was checking possible implementations, that looked quite promissing if I remember correctly.
 
Hi Nightinggale!

You are right, in general I also don't like to change xml files manually during the game, but I was not able programming a feature like this for automatically ingame changes.

It would be really great if you could arrange that!

If it can be managed, we can speak about the graphics. To my opinion we could use the revolutionary graphic of England as general graphic for all European nations. The revolution is a very rare event so that it is not necessary to implement different graphics only for the revolutionary era for all nations (that would be really big work for little benefit! ).

But I was thinking about different graphics regarding the eras before revolution (Discovery and other). There are a lot of graphic files available which could be used for that...just an idea.

Regards Schmiddie
 
The revolution is a very rare event so that it is not necessary to implement different graphics only for the revolutionary era for all nations (that would be really big work for little benefit! ).

Yes, it would be a lot of work for little benefit to create all those graphics.
(And that really is the much bigger problem, than the code in the DLL. Except maybe bad performance if this feature is done badly.)

But

1) Wouldn't it look strange if 2 Nations declare Independence and have the same flags ?
(This is absolutely possible.)

2) Wouldn't it generally be unatmospheric if Spanish/Danish/Russian/... Colonies declare independence and have the flags of the United States ?

Well, it is up to you guys. :thumbsup:
(Just giving my 2 cents.)

But I was thinking about different graphics regarding the eras before revolution (Discovery and other).

Basically that is one and the same feature in the DLL, if you implement "Era-Specific graphics". :)
But again, it is lots of work and could heavily impact performance.

And please, do not kill the great concept/feature of UnitArtStyles that Androrc has created, just to introduce "Era-Specific graphics" instead.
It would really be a pitty.
 
Yes, it would be a lot of work for little benefit to create all those graphics.
(And that really is the much bigger problem, than the code in the DLL. Except maybe bad performance if this feature is done badly.)
I agree that this isn't the best time/benefit feature we can think of. In fact it does nothing for gameplay at all and is just eyecandy. That's why this is not on the top of my list. I'm not sure I will ever get around to it as it's low priority compared to the other stuff I want to do.

As for performance that's one reason why I ditched my previous work. It didn't work and the fixes kept getting more and more complex and as such, it became slower and slower. This is part of the reason why I said it should be a cache (array) in CvPlayer (or whereever it's fit to be). The proper runtime determination of art style appears to be somewhat slower than the current code.

Speaking of performance and revolution. I noticed the check to see if a player is in revolution is to loop through all players to find the king, then check if there is a war against the king. I wonder how the game would react to caching this single bool. I kind of forgot about this until now.
 
I agree that this isn't the best time/benefit feature we can think of. In fact it does nothing for gameplay at all and is just eyecandy.

Well, for some people eyecandy is really important.
Personally I am more of a "gameplay" modder as well.

But the reasons why I was never convinced enough to implement this feature were these:

1. I feared about impacts to performance (lots of graphics, really good code needed)
2. I feared that the graphics to really make good use of it in Religion and Revolution would not be created anyways

That's why this is not on the top of my list. I'm not sure I will ever get around to it as it's low priority compared to the other stuff I want to do.

You would do a big favour to several other modders that really want to have it. :)

As for performance that's one reason why I ditched my previous work. It didn't work and the fixes kept getting more and more complex and as such, it became slower and slower.

You would not believe how many technical concepts for cool features I had thrown away because I realized the negative impact on performance was too big.

Speaking of performance and revolution. I noticed the check to see if a player is in revolution is to loop through all players to find the king, then check if there is a war against the king. I wonder how the game would react to caching this single bool. I kind of forgot about this until now.

The improvement of that is probably not that big.

Looping through 50 players and then checking if they have a parent and are at war with their parent is probably done quite fast.

It is something totally different if you do things like

* looping through hundreds of Units and check 50+ Professions and then check massive amount of complex conditions to these Professions
* looping through many thousands of plots and check complex conditions
* introduce new conditions to complex algorithms like path finding

...

--------

There are massive amount of pieces of code that could be optimized.
It is just a matter of "Is the benefit worth the effort for implementation and risk to introduce a bug ?". :dunno:
 
You would do a big favour to several other modders that really want to have it. :)
I'm completely aware of this and it's not that I'm against the idea. The issue is that it takes X hours to code. Those X hours could be used on coding something else. Now if I had 100 hours/day to code whatever I wanted, then I would do this right away.

The improvement of that is probably not that big.

Looping through 50 players and then checking if they have a parent and are at war with their parent is probably done quite fast.

It is something totally different if you do things like

* looping through hundreds of Units and check 50+ Professions and then check massive amount of complex conditions to these Professions
* looping through many thousands of plots and check complex conditions
* introduce new conditions to complex algorithms like path finding

...

--------

There are massive amount of pieces of code that could be optimized.
It is just a matter of "Is the benefit worth the effort for implementation and risk to introduce a bug ?". :dunno:
It depends on how often the code is called. 20% of the speed improvement in RaRE (and presumably RaR 1.6) comes from not looping through all yields. It's not a long loop, but the functions with the loops are called often enough to make that kind of impact.

As for bugs I could preserve the old code and compile it only if asserts are enabled. It could then assert on calculated revolution != cached revolution. The release build would still benefit from the cached value. That wouldn't make it bug free, but it would likely make bugs easier to find.
 
@team and modmodders:

New revision available in SVN.
  • Fixed this tiny bug here
  • Corrected 2 few small spelling errors <-- noticed by agnat86
  • Corrected UnitCombats of NativeMercenaries and Rangers (used to be Melee, now Gunpowder) <-- noticed by agnat86
  • Corrected Ben Franklin (had forgotten to add "Publishing House" to his bonusses) <-- noticed by agnat86
  • Added "Large Warehouse" to Bonusses of FFs where it was missing <-- noticed by agnat86
 
@team and modmodders:

New revision available in SVN.

I improved the algorithm of Overflow for the NewCityStorage.
It works a lot better now.

Thus this issue is solved.
 
I wanted to ask -- since there is no more active development of the mod would you please consider making SVN checkouts public?

To be honest this is the only mod that I know of on this forums that has restricted access to SVN :dunno: Modders generally keep things down to Earth and only restrict ability to commit files (for obvious reasons)...
 
Sorry, but regulations for access to SVN will stay as they are.
(team members, modmodders and befriended modders / partners from other projects)

Basically everybody actively contributing to projects of the Civ4Col community can get access.
All others simply have to wait for releases.
 
@team and modmodders:

New revision available in SVN.

fixed (tiny) issue that Natives got Units through Founding Father of Player when in Permanent Alliance
fixed (tiny) issue that Natives could (theoretically) build some buildings of Europeans
fixed (tiny) issue of wrong graphics for attached generals (correction from Schmiddie)
new building for Natives: Native Corn Chamber (from Schmiddie)
new promotions Storm Attack I - III (from agnat86)
several text improvments (mostly from agnat86)
a few balancing improvments (mostly from agnat86)
improved graphic of a Native Leaderhead (from SaibotLieh)
 
@team and modmodders:

New revision available in SVN.

fixed (tiny) issue that Natives got Units through Founding Father of Player when in Permanent Alliance
fixed (tiny) issue that Natives could (theoretically) build some buildings of Europeans
fixed (tiny) issue of wrong graphics for attached generals (correction from Schmiddie)
new building for Natives: Native Corn Chamber (from Schmiddie)
new promotions Storm Attack I - III (from agnat86)
several text improvments (mostly from agnat86)
a few balancing improvments (mostly from agnat86)
improved graphic of a Native Leaderhead (from SaibotLieh)

Awesome!
Great to see all these tiny fixes/improvements
 
@team and modmodders:

New revision available in SVN.

fixed (tiny) issue that Natives got Units through Founding Father of Player when in Permanent Alliance
fixed (tiny) issue that Natives could (theoretically) build some buildings of Europeans
fixed (tiny) issue of wrong graphics for attached generals (correction from Schmiddie)
new building for Natives: Native Corn Chamber (from Schmiddie)
new promotions Storm Attack I - III (from agnat86)
several text improvments (mostly from agnat86)
a few balancing improvments (mostly from agnat86)
improved graphic of a Native Leaderhead (from SaibotLieh)

and: Further improvements regarding native animations :)
 
Nice small fixes, thanks to everybody!

Just about "Storm Attack I-III" Promotion: This is city attack, right? :mischief:

Just because: When I did the overhaul on promotions some month ago (which was adapted in RaR) I removed/replaced "city attack promotions" for good reason... :old:

You will have noticed, that in RaR 1.6 Natives are still strong and dangerous (mainly in the forest) but their ability of conquering cities (namely the capital) from the Europeans has been lowered. Still, you can loose cities to Natives if you don't guard them smart, but compared to older RaR releases, it's much harder for the Natives to wipe out Europeans completely (quite historical...) :crazyeye:

So, I am really not a fan of having "city attack" promotions back in game. Having these promotions back is not just a "tiny bug fix" - this may cause heavy impact on gameplay. These promotions were not just "missing" in the latest Release - they have been removed with intention, please consider... :)
 
Just about "Storm Attack I-III" Promotion: This is city attack, right? :mischief:

Yes.

So, I am not really a fan of having "city attack" promotion line back in game.

Well, the Promotions themselves will not heavily impact balancing.
(The Natives first have to get them.)

Also it is simply XML, so anybody who does not like it, could easily remove.

Also, I never really had big problems in my games with Natives. :dunno:
By the time they got angry at me for expansion, I was usually so strong already, that they did not even dare to declare war.
(In the beginning, they simply like me, because I use Missioning and Trading/Bargaining a lot.)
 
Nice small fixes, thanks to everybody!

Just about "Storm Attack I-III" Promotion: This is city attack, right? :mischief:

Just because: When I did the overhaul on promotions some month ago (which was adapted in RaR) I removed/replaced "city attack promotions" for good reason... :old:

You will have noticed, that in RaR 1.6 Natives are still strong and dangerous (mainly in the forest) but their ability of conquering cities (namely the capital) from the Europeans has been lowered. Still, you can loose cities to Natives if you don't guard them smart, but compared to older RaR releases, it's much harder for the Natives to wipe out Europeans completely (quite historical...) :crazyeye:

So, I am not really a fan of having "city attack" promotion line back in game.

Are you sure? I played a game a few days ago and lost all my cities since I only stationed between 5 and 10 units in every city - but I would have needed between 20 and 30 to secure them. The natives were very strong (gigantic map). :D
 
yea - I agree, Natives are still dangerous (with intention) and the bigger the map, the stronger the Natives.

Now imagine what happens, when Natives got further "city attack" abilities from promos... :rolleyes:
 
Hm, I did not think about this, but I will test it....

I did not know that promotions are available for native units.... I thought they were only available for European units?!

Maybe it would be possible to exclude some promos for natives?
 
yea - I agree, Natives are still dangerous (with intention) and the bigger the map, the stronger the Natives.

I generally agree.
That is why it is a good idea to use some features to keep them friendly.

Now imagine what happens, when Natives got further "city attack" abilities from promos... :rolleyes:

A unit first needs to get "Veteran II" before it unlocks these Promotions.
If a Native already has "Veteran II", it is strong anyways.
Also, the Native could choose other Promotions as well.

Units get stronger by Promotions.

But the difference if it is a Promotion giving X% Strength or X% City Attack is not really that big considering AI
because it is not smart enough to use Promotions in a selected way like Human Players can.
 
I did not know that promotions are available for native units.... I thought they were only available for European units?!

Natives do get Promotions as well.
But like all Units, the Native Units first have to gather experience, which they only get from fighting Europeans.

Maybe it would be possible to exclude some promos for natives?

Guys seriously, there is no problem with Promotions themselves.
If Natives are too strong, than it simply because of their numbers (Mapsize) and certain styles of playing.
 
Status
Not open for further replies.
Back
Top Bottom