Advertisement
Civilization Fanatics' Center

Go Back   Civilization Fanatics' Forums > CIVILIZATION IV > Civ4 - Colonization > Civ4Col - Creation & Customization > Civ4Col - Project & Mod Development > Religion and Revolution

Notices

Religion and Revolution Forum for the Religion and Revolution mod.

Reply
 
Thread Tools
Old Jan 25, 2015, 01:27 PM   #1
Barthoze
Chieftain
 
Barthoze's Avatar
 
Join Date: Apr 2014
Location: St Maur des Fossés
Posts: 14
Gender: Male
Time is the issue

Symptoms : Game is imbalanced on some points when played on slower speeds as Epic and Marathon

Examples :
  • Horse thief event
  • On normal speed, when building the first colony with the starting mounted unit, the horse thief event doesn't trigger
  • On marathon speed, when building the first colony with the starting mounted unit, the horse thief event

Chapel vs Tavern event
  • On Marathon speed, the low Revolt Turn cost makes it a no brainer, it's just better to choose any building than taking the low sum of gold.
  • On Normal speed, more thought out to be put at this decision. 200g is not something to leer at, neither are 2 turns of disorder.

First trade with native
  • On Normal speed,it is usually possible to fill around half of a slot with the staring gold
  • On Marathon speed, the native yields are much larger, thus such a trade is not possible, staring with the same amount of gold.

Basically, on marathon speed, the start is rougher, but the random events are much more bountiful than they ought to.

If this difference of behaviour is actually working as designed, then it's OK.

If not, all of this boil down to the same issue : the appropriate speed multiplier is missing on some parts of the game code, and thus break the balance.

I am currently auditing both C++ and Python code to bring back balance in costs.
Expect a patch shortly.
Barthoze is offline   Reply With Quote
Old Jan 25, 2015, 07:57 PM   #2
Marla_Singer
United in diversity
 
Marla_Singer's Avatar
 
Join Date: Oct 2001
Location: Paris, west side (92).
Posts: 12,527
Hey Barthoze,

Nice to see another Frenchie over here. I hope you do play the game in French as I made a lot of efforts to translate it all.

I agree with your points. RayStuttgart has stated himself that the mod was optimized to be played on normal speed. And I agree with him.

Now, as you are willing to correct some speed bugs, I would like just to quickly point out that tripling the amount of exploration and military points in marathon makes those founding fathers impossible to get. On the other hand, political, religious and trade points are all well-balanced as they depend on your production, which is tripled as time goes thrice slower.

I have no easy solution here to propose on how to solve this. Personally, I would still advise to play in normal speed, so you don't necessarily have to bother.
__________________
"A war among Europeans is a civil war", Victor Hugo (1802-1885).
Marla_Singer is offline   Reply With Quote
Old Jan 26, 2015, 03:18 AM   #3
Barthoze
Chieftain
 
Barthoze's Avatar
 
Join Date: Apr 2014
Location: St Maur des Fossés
Posts: 14
Gender: Male
Wink

As I have said, I have studied the code. The point is, most costs in the game get the right multipliers, such as most building/training costs, associated with the classic flow of the game. However, there are a few that don't, mostly pertaining to events, and they are not that hard to fix.

I have already modified the Python file that handles some events to behave correctly at all speeds.

I have found most of the entry points in C++ to correct this gamespeed issue.
At all game speeds, most multipliers are set to the same value, so using getGrowthPercent() is OK to default to in case of doubt.

Désolé Marla, je ne jouais pas à ce mod en Français. Je m'en vais donc corriger ça au plus vite, ce soir ou demain, promis.
Et sinon, j'ai trouvé pourquoi le jeu ne marchait bien qu'en vitesse normale et faisait des choses bizarres en Épique ou Marathon. Ce n'est pas très dur à corriger, je l'aurais avant dimanche prochain.

Last edited by Barthoze; Jan 26, 2015 at 03:23 AM.
Barthoze is offline   Reply With Quote
Old Jan 26, 2015, 03:41 AM   #4
raystuttgart
Civ4Col Modder
 
raystuttgart's Avatar
 
Join Date: Jan 2011
Location: Stuttgart, Germany
Posts: 4,317
Quote:
Originally Posted by Barthoze View Post
The point is, most costs in the game get the right multipliers, ...
However, there are a few that don't, mostly pertaining to events, ...
That is simply a bug.
Thanks for reporting.

I tried to think about Gamespeeds when implementing.
But I tested and played almost exclusively with Gamespeed "Normal".

We are all just human.
(And this mod has become really big.)

Quote:
Originally Posted by Barthoze View Post
... and they are not that hard to fix.
Of course.
All it needs is somebody like you reporting it.

Quote:
Originally Posted by Barthoze View Post
I have already modified the Python file that handles some events to behave correctly at all speeds.
Great.
Could you please attach the file in this thread ?

I will try to take a look and add it to SVN.

If we will collect a few further bugfixes during the next months, we might even publish another release.
(Otherwise we might simply publish a "bugfix" download.)
__________________
Religion and Revolution
(Retired Modder)
raystuttgart is offline   Reply With Quote
Old Jan 26, 2015, 03:55 AM   #5
Barthoze
Chieftain
 
Barthoze's Avatar
 
Join Date: Apr 2014
Location: St Maur des Fossés
Posts: 14
Gender: Male
Quote:
Originally Posted by raystuttgart View Post
Great.
Could you please attach the file in this thread ?

I will try to take a look and add it to SVN.
I will do it, once I have reviewed and tested it. I rewrote it in a coding frenzy from yesterday afternoon to early this morning, so code may not be at its finest.

As expected, the poor Python file looks like what the cat dragged in.

Anyway, here is the gist of the bug-fix

Whenever you use
Code:
	event.getGenericParameter(1)
for a yield quantity, first define quantity like this

Code:
	quantity = event.getGenericParameter(1)
	Speed = gc.getGameSpeedInfo(CyGame().getGameSpeedType())
	quantity = quantity * Speed.getStoragePercent()/100
and use this number instead.

Last edited by Barthoze; Jan 26, 2015 at 03:52 PM. Reason: I am a noob
Barthoze is offline   Reply With Quote
Old Jan 26, 2015, 05:00 PM   #6
Barthoze
Chieftain
 
Barthoze's Avatar
 
Join Date: Apr 2014
Location: St Maur des Fossés
Posts: 14
Gender: Male
Anyway, here are the first part of the patch

This fixes, for Marathon and Epic speeds :
- in CvPlayer.cpp : the starting gold
- in CvPlayer.cpp : the improvement costs as built by pioneers
- in CvRandomEventInterface.py : the various yield quantities
Attached Files
File Type: zip Time_issue.zip (111.1 KB, 6 views)
Barthoze is offline   Reply With Quote
Old Jan 27, 2015, 11:49 AM   #7
AbsintheRed
Deity
 
AbsintheRed's Avatar
 
Join Date: Jul 2009
Location: Szeged, Hungary
Posts: 6,095
Looks nice!
__________________
Rhye's and Fall of Europe! Latest version: RFC Europe 1.1
Say no to forced Steam and DLCs for CiV!!!! - especially for a flawed game like this: Sulla's ultimate review
AbsintheRed is offline   Reply With Quote
Old Jan 27, 2015, 06:15 PM   #8
Barthoze
Chieftain
 
Barthoze's Avatar
 
Join Date: Apr 2014
Location: St Maur des Fossés
Posts: 14
Gender: Male
SUCCESS

SUCCESS

The C++ modification I brought just worked, I just managed to run the game and everything clicked.

Complete Bugfix List :
  • Starting gold now scales with gamespeed
  • Improvement costs and pillage now scale with gamespeed
  • All event quantities now scale with game speed : gold, turns, culture, and fixed food quantities.
  • Edit : Tooltips and Colopedia show the right amounts
Attached Files
File Type: 7z time_issue.7z (14.0 KB, 1 views)

Last edited by Barthoze; Jan 28, 2015 at 04:30 PM.
Barthoze is offline   Reply With Quote
Old Jan 29, 2015, 06:02 PM   #9
Barthoze
Chieftain
 
Barthoze's Avatar
 
Join Date: Apr 2014
Location: St Maur des Fossés
Posts: 14
Gender: Male
Bump :

- FIXED : Diploevents trigger at the appropriates turns at all speeds
- FIXED : Give peace a chance for longer.

I think I got all the game parts right

TODO : The 20 turns limit is still hard in the help text.
More?
Barthoze is offline   Reply With Quote
Reply

Bookmarks

Tags
bug fixing, bug report, game speed

Go Back Civilization Fanatics' Forums > CIVILIZATION IV > Civ4 - Colonization > Civ4Col - Creation & Customization > Civ4Col - Project & Mod Development > Religion and Revolution > Time is the issue

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Advertisement

All times are GMT -6. The time now is 10:52 PM.


Powered by vBulletin®
Copyright ©2000 - 2015, Jelsoft Enterprises Ltd.
This site is copyright © Civilization Fanatics' Center.
Support CFC: Amazon.com | Amazon UK | Amazon DE | Amazon CA | Amazon FR