Final Frontier Plus

So it's crashing after Init Fonts, the last step in the process?

Something with your graphics are wrong, then. Probably connected to Gamefonts.tga, like bonus art, religion art, corporation art, yield art, commerce art, or whatever else uses gamefonts.
 
So it's crashing after Init Fonts, the last step in the process?

Something with your graphics are wrong, then. Probably connected to Gamefonts.tga, like bonus art, religion art, corporation art, yield art, commerce art, or whatever else uses gamefonts.
I had an inkling that this was what you might say but didn't want to start messing around with things until i was sure. Thanks for the info, i'm going to look at the Art stuff now.
 
I've released v1.2. Changelog:

-Moved "doTerrainExtraCost()" into the DLL
-Moved terrain effects into the DLL
-Added eras corresponding to the three levels of units
-Moved barbarian spawning into the DLL
-Removed a broken link to the "Draft" page in the pedia (it no longer exists)
-Planet mouseover now displays required culture level to work it
-Selected and building planets are now reset on city capture
-Fixed bug with help text for commerce-modifying buildings
-Oil now uses the button/icon from regular Civ
-Water now uses a new button/icon
-Made Wormholes non-modular
-Added "Delayed Wormholes" gameoption

The new eras (Isolation, Expansion, Galactic, Far Future) occur roughly when you move from Alpha to Delta and then Delta to Omega units. And Delayed Wormholes makes wormholes behave like all other features- the unit won't be teleported until the beginning of their next turn.

The only code left to slow things down looks to be starbases (updated every turn) and the python AI.
 
Thanks for the thorough update. I'll be trying another game of it soon.

What is the meaning of making the wormholes non-modular? Does that improve code speed or other?

Best of luck with the changes to go!:goodjob:
 
Thanks for the thorough update. I'll be trying another game of it soon.

What is the meaning of making the wormholes non-modular? Does that improve code speed or other?

It's not something to worry about unless you're a modder, really- modular loading can cause a headache at times, and I decided that Wormholes are already really optional (you have to pick their mapscripts), so I moved them out of the module and into the regular game files.

The one thing I'm interested to hear is how barbarian spawning is different in this version. I couldn't mimic Jon Shafer's code exactly. Is it unbalanced? Do more barbarians spawn? Less?
 
My test game of v1.2 is at turn 105. It seems like there are significantly more barbarians in the early game. There are so many that I even checked to make sure I didn't somehow have raging barbarians turned on.
 
Minor nitpick: In the hover, it says Cultural Level 3 etc. Shouldn't it be Influence Level 3?

Did the influence thresholds change? It doesn't look like it so I changed them myself. I basically gave all the Legendary values to the level below it and then trebled all of the values for Legendary. I think it will be somewhere between doubling and trebling that is actually best but I don't want to see an accidental culture win like I did last game.

Bug?:
I started up a game and worldbuildered in some of the standard destroyers. None of them could move 2 - only 1 movement point it seems. The weird thing is the mouseover would tell me I could go 2 tiles in one move but when I let go of the mouse to give the move order it only made it half way and its movement points were used up.

On further investigation, nothing seemed to be able to move more than 1 tile!!! Even on all types of roads.
Unfortunately this makes it unplayable.
I followed the installation instructions exactly so let me know if this is a problem only I am experiencing. If really necessary I could provide a gamesave.

Regarding healing:
Unit healing seems to be the same as in BtS. 15HP per turn in home territory, 10HP in neutral territory, 5HP enemy territory, 20HP in home cities.

Given that starbases are inside home territory, they get 15HP per turn already. Since they get the two free medic promos, they actually provide better healing than cities by a full 15HP. I am unsure if this is intended or not because it seems to have been that way all along. I can't see any real balance problem with this. It just surprises me a bit that starbases are such good healers.

See spoiler for my current suggestions for influence thresholds.
Spoiler :
Code:
<?xml version="1.0"?>
<!-- edited with XMLSPY v2004 rel. 2 U ([url]http://www.xmlspy.com[/url]) by Jon Shafer (Firaxis Games) -->
<!-- Sid Meier's Civilization 4 -->
<!-- Copyright Firaxis Games 2005 -->
<!-- -->
<!-- Culture Level Infos -->
<Civ4CultureLevelInfo xmlns="x-schema:CIV4GameInfoSchema.xml">
	<CultureLevelInfos>
		<CultureLevelInfo>
			<Type>CULTURELEVEL_NONE</Type>
			<Description>TXT_KEY_CULTURELEVEL_NONE</Description>
			<iCityDefenseModifier>0</iCityDefenseModifier>
			<SpeedThresholds>
				<SpeedThreshold>
					<GameSpeedType>GAMESPEED_MARATHON</GameSpeedType>
					<iThreshold>0</iThreshold>
				</SpeedThreshold>
				<SpeedThreshold>
					<GameSpeedType>GAMESPEED_EPIC</GameSpeedType>
					<iThreshold>0</iThreshold>
				</SpeedThreshold>
				<SpeedThreshold>
					<GameSpeedType>GAMESPEED_NORMAL</GameSpeedType>
					<iThreshold>0</iThreshold>
				</SpeedThreshold>
				<SpeedThreshold>
					<GameSpeedType>GAMESPEED_QUICK</GameSpeedType>
					<iThreshold>0</iThreshold>
				</SpeedThreshold>
			</SpeedThresholds>
		</CultureLevelInfo>
		<CultureLevelInfo>
			<Type>CULTURELEVEL_POOR</Type>
			<Description>TXT_KEY_CULTURELEVEL_POOR</Description>
			<iCityDefenseModifier>0</iCityDefenseModifier>
			<SpeedThresholds>
				<SpeedThreshold>
					<GameSpeedType>GAMESPEED_MARATHON</GameSpeedType>
					<iThreshold>0</iThreshold>
				</SpeedThreshold>
				<SpeedThreshold>
					<GameSpeedType>GAMESPEED_EPIC</GameSpeedType>
					<iThreshold>0</iThreshold>
				</SpeedThreshold>
				<SpeedThreshold>
					<GameSpeedType>GAMESPEED_NORMAL</GameSpeedType>
					<iThreshold>0</iThreshold>
				</SpeedThreshold>
				<SpeedThreshold>
					<GameSpeedType>GAMESPEED_QUICK</GameSpeedType>
					<iThreshold>0</iThreshold>
				</SpeedThreshold>
			</SpeedThresholds>
		</CultureLevelInfo>
		<CultureLevelInfo>
			<Type>CULTURELEVEL_FLEDGLING</Type>
			<Description>TXT_KEY_CULTURELEVEL_FLEDGLING</Description>
			<iCityDefenseModifier>20</iCityDefenseModifier>
			<SpeedThresholds>
				<SpeedThreshold>
					<GameSpeedType>GAMESPEED_MARATHON</GameSpeedType>
					<iThreshold>150</iThreshold>
				</SpeedThreshold>
				<SpeedThreshold>
					<GameSpeedType>GAMESPEED_EPIC</GameSpeedType>
					<iThreshold>75</iThreshold>
				</SpeedThreshold>
				<SpeedThreshold>
					<GameSpeedType>GAMESPEED_NORMAL</GameSpeedType>
					<iThreshold>50</iThreshold>
				</SpeedThreshold>
				<SpeedThreshold>
					<GameSpeedType>GAMESPEED_QUICK</GameSpeedType>
					<iThreshold>25</iThreshold>
				</SpeedThreshold>
			</SpeedThresholds>
		</CultureLevelInfo>
		<CultureLevelInfo>
			<Type>CULTURELEVEL_DEVELOPING</Type>
			<Description>TXT_KEY_CULTURELEVEL_DEVELOPING</Description>
			<iCityDefenseModifier>40</iCityDefenseModifier>
			<SpeedThresholds>
				<SpeedThreshold>
					<GameSpeedType>GAMESPEED_MARATHON</GameSpeedType>
					<iThreshold>1500</iThreshold>
				</SpeedThreshold>
				<SpeedThreshold>
					<GameSpeedType>GAMESPEED_EPIC</GameSpeedType>
					<iThreshold>750</iThreshold>
				</SpeedThreshold>
				<SpeedThreshold>
					<GameSpeedType>GAMESPEED_NORMAL</GameSpeedType>
					<iThreshold>500</iThreshold>
				</SpeedThreshold>
				<SpeedThreshold>
					<GameSpeedType>GAMESPEED_QUICK</GameSpeedType>
					<iThreshold>250</iThreshold>
				</SpeedThreshold>
			</SpeedThresholds>
		</CultureLevelInfo>
		<CultureLevelInfo>
			<Type>CULTURELEVEL_REFINED</Type>
			<Description>TXT_KEY_CULTURELEVEL_REFINED</Description>
			<iCityDefenseModifier>60</iCityDefenseModifier>
			<SpeedThresholds>
				<SpeedThreshold>
					<GameSpeedType>GAMESPEED_MARATHON</GameSpeedType>
					<iThreshold>4500</iThreshold>
				</SpeedThreshold>
				<SpeedThreshold>
					<GameSpeedType>GAMESPEED_EPIC</GameSpeedType>
					<iThreshold>2250</iThreshold>
				</SpeedThreshold>
				<SpeedThreshold>
					<GameSpeedType>GAMESPEED_NORMAL</GameSpeedType>
					<iThreshold>1500</iThreshold>
				</SpeedThreshold>
				<SpeedThreshold>
					<GameSpeedType>GAMESPEED_QUICK</GameSpeedType>
					<iThreshold>750</iThreshold>
				</SpeedThreshold>
			</SpeedThresholds>
		</CultureLevelInfo>
		<CultureLevelInfo>
			<Type>CULTURELEVEL_INFLUENTIAL</Type>
			<Description>TXT_KEY_CULTURELEVEL_INFLUENTIAL</Description>
			<iCityDefenseModifier>80</iCityDefenseModifier>
			<SpeedThresholds>
				<SpeedThreshold>
					<GameSpeedType>GAMESPEED_MARATHON</GameSpeedType>
					<iThreshold>15000</iThreshold>
				</SpeedThreshold>
				<SpeedThreshold>
					<GameSpeedType>GAMESPEED_EPIC</GameSpeedType>
					<iThreshold>7500</iThreshold>
				</SpeedThreshold>
				<SpeedThreshold>
					<GameSpeedType>GAMESPEED_NORMAL</GameSpeedType>
					<iThreshold>5000</iThreshold>
				</SpeedThreshold>
				<SpeedThreshold>
					<GameSpeedType>GAMESPEED_QUICK</GameSpeedType>
					<iThreshold>2500</iThreshold>
				</SpeedThreshold>
			</SpeedThresholds>
		</CultureLevelInfo>
		<CultureLevelInfo>
			<Type>CULTURELEVEL_LEGENDARY</Type>
			<Description>TXT_KEY_CULTURELEVEL_LEGENDARY</Description>
			<iCityDefenseModifier>100</iCityDefenseModifier>
			<SpeedThresholds>
				<SpeedThreshold>
					<GameSpeedType>GAMESPEED_MARATHON</GameSpeedType>
					<iThreshold>45000</iThreshold>
				</SpeedThreshold>
				<SpeedThreshold>
					<GameSpeedType>GAMESPEED_EPIC</GameSpeedType>
					<iThreshold>22500</iThreshold>
				</SpeedThreshold>
				<SpeedThreshold>
					<GameSpeedType>GAMESPEED_NORMAL</GameSpeedType>
					<iThreshold>15000</iThreshold>
				</SpeedThreshold>
				<SpeedThreshold>
					<GameSpeedType>GAMESPEED_QUICK</GameSpeedType>
					<iThreshold>7500</iThreshold>
				</SpeedThreshold>
			</SpeedThresholds>
		</CultureLevelInfo>
	</CultureLevelInfos>
</Civ4CultureLevelInfo>
 
I am having problems with this mod lasting more than 10 turns. It randomly crashes on me without any apparent reason. I'd start a custom game with various settings changed between games and it would still crash shortly into it.

Another minor bug is that the shortcut you included goes to the regular Program Files and doesn't work on my 64bit install since almost all programs go into Program Files (x86). I think using an approach similar to phungus420's with LoR being an installer may be better since it detects the install path. The only issue may come from having to replicated the Final Frontier folder.
 
I've not encountered any problems so far with v1.2. I'm at turn 40 with no crashes or any lag. I found a Destroyer from some wreckage that moved two spaces just fine. Haven't seen any Barbarians yet.
 
I haven't had any crashes or movement issues either.

What OS are the people with issues running? I ask only because I have XP with no trouble, and SharpieMarks has said he has a 64bit install (meaning not XP) and is getting crashes.

SharpieMarks said:
Another minor bug is that the shortcut you included goes to the regular Program Files and doesn't work on my 64bit install since almost all programs go into Program Files (x86). I think using an approach similar to phungus420's with LoR being an installer may be better since it detects the install path. The only issue may come from having to replicated the Final Frontier folder.

Eventually I'll probably include all of the Final Frontier art and sound files with the download, so that people who deleted Final Frontier can still play this mod. (Even though this will make the download much larger) When I do that, I'll package it as an installer, I guess, so that it detects the install path.

But for the time being, you can just edit the shortcut and change the path- or create your own.


I'll implement the culture influence threshold changes (if no one has any objections- I don't) and decrease number of barbarians spawned in the next version.
 
I am using XP 32 bit - have been for a long time and probably will be for a long time :lol:.

I have no idea what could possibly cause the 1-move issue. I even uninstalled BtS so the FF mod disappeared entirely, did a re-install and copy pasted in the Final Frontier Plus files exactly (choosing overwrite all) this time without pasting over the top of the previous version. The same problem persisted.

It's possible this is only caused by opening up world builder. I did try actually building a 2-move unit but to do that I WB'd in some techs and pop-size so I could build it quicker.

I'll try another re-install today and see if I get the same problems.

EDIT
Regarding including all the Final Frontier art files etc., could you please always include an alternate download that doesn't have the redundant files? I know I and I'm guessing many others appreciate smaller downloads when they are possible.
 
My test game is now up to turn 250. I have had no real problems. A few weird things that I didn't write down any notes for, so I can't really say what they were exactly except I think a destroyer captured 2 construction ships on two different plots on the same turn.

There are more barbarians, but not at the level of raging barbarians in FF. As the game progresses the number is getting less troublesome. Looking at the CvGame::createBarbarianUnits() function there are quiet a lot of differences in how the number of barbarians is done. Here are two points:

1) It looks like you are maintaining the target number of barbarian units at all times. In FF the number that is added in a turn is a random number between 0 and half the number of barbarians that you are below the target number (so if the target is 24 and it already has 12, it will add somewhere from 0 to 6 this turn). This keeps the number of barbarians a bit below the actual target number most of the time.

2) In FF the number of barbarians is set to grow until the full target number is reached at turn 250, after which the target number is a constant. In the FF+ DLL it appears that the target number is determined based on the number of tiles that are not owned, so the target number starts at the highest it will ever be and then will decrease as the game progresses. Perhaps a per-era pirate count multiplier could be implemented such that in the first era the target number lower than it is now, in the second it is about the same, and in the third it is a little higher so as to counteract the shrinking number of unowned tiles.

Also, in FF with raging barbarians the number is tripled, roughly. In FF+ it looks to be doubled. Not that I actually use this option (the Babylon 5 mod defaults to raging barbarians, and it is pretty gruesome until you get the techs to build ships that are stronger than the ships the pirates use in that mod).
 
How's this for a barbarian spawning formula?

Code:
int iNumBarbs = pLoopArea->getUnitsPerPlayer(BARBARIAN_PLAYER);
int iTarget = ((pLoopArea->getNumUnownedTiles() / iDivisor) - iNumBarbs ) * ((int)GC.getGame().getCurrentEra() + 1);
int iFinalFrontierRand = GC.getGame().getSorenRandNum(iTarget / 2, "Barbarian spawns");
iNeededBarbs = iTarget - iFinalFrontierRand;

Differences:

-Rather than multiply the value of barbarians by 3 during all eras, it is multiplied based on the current era. If in Isolation, the value is the same as vanilla civ. If in Galactic, barbarian spawning is more like it was in v1.2.

-I say "more like" because it will subtract a rand between 0 and half the target from the target to determine the actual value of needed barbs.
 
Here is better FeatureEffects code for FF plus v1.2
- it shouldn't have any bugs now and should work as original FF code :)
 
So has anybody looked at the FF mod-mod I posted?

It is proposed as a staring place for additional content for FF+.

One of the things in it is something along the lines of a thing now listed in the 1.3 (unreleased) change log: Different influence thresholds. I added one more between influential and legendary called iconic. It uses the culture total that the original legendary used. I then bumped legendary's required totals up by about 50%. The new level has a 90% defense. I also changed the victory condition to require 4 systems at legendary instead of 3. I did this because the mod has several wonders which produce influence, to avoid the accidental influence victory problem. (It seems to me that tripling them would make an influence victory pretty much impossible, even with my extra wonders to give more influence sources.)
 
God Emperor, I suspected that trebling the Legendary thresholds would be too much. I still would have thought at least double would be necessary though. Maybe I just had everything going for me that game I won an accidental culture vic (except for being the civ with -50% influence). I got the religion that allowed the extra culture modifier buildings (I forget its name but I think it gave +15 or +20% culture per building). Add that to the +15% culture from every interplanetary beacon and running a 20% slider for the sports stadiums to give extra happy and you have a setup that practically races to a culture vic whether you try hard or not.

IMO 50% increase will not be enough but I suppose I'd have to play through to see.

Requiring 4 systems to be at Legendary is interesting. I'm not sure how this will change things just yet.
 
God Emperor, I suspected that trebling the Legendary thresholds would be too much.

The problem with tripling it is that I don't think it would be possible to get without running a very high culture percentage for most of the game (even in my mod, with the extra sources of culture), which would have such an adverse impact on your research rate (there is no source of research other than the sliders in regular FF or FF+, although my version has a few buildings that directly give small amounts it isn't enough to offset more than perhaps a 10% slider shift) that the AI would probably be able to wipe you out (even considering how bad it is at waging war) due to having better ships and higher production (due to the buildings and civics the techs unlock) - and then there are the pirates. I think a good plan is to have it high enough that you have to try for it, no accidental victories, but not so high that it is harder to get than the others.

I still would have thought at least double would be necessary though. Maybe I just had everything going for me that game I won an accidental culture vic (except for being the civ with -50% influence). I got the religion that allowed the extra culture modifier buildings (I forget its name but I think it gave +15 or +20% culture per building). Add that to the +15% culture from every interplanetary beacon and running a 20% slider for the sports stadiums to give extra happy and you have a setup that practically races to a culture vic whether you try hard or not.

:confused: There is no value that has buildings that give a % culture bonus. Research and money, yes. Culture/Influence no. The value buildings do all give +3 influence in addition to their other effects (+15% money for Wealth, +15% research for Knowledge, +1 heath for Survival, +1 happiness for Religion, and +2xp for Power). (My version is the same, but has various national and world wonders that give additional influence, and a few of the UBs give an extra point of influence.) The only building in the game that gives a % bonus to culture is the interplanetary beacon. I usually only build 1 IB per system, occasionally 2. Perhaps that's why I don't keep seeing cultural victories.

IMO 50% increase will not be enough but I suppose I'd have to play through to see.

Requiring 4 systems to be at Legendary is interesting. I'm not sure how this will change things just yet.

The 50% increase may be too low. It had to be increased, and I was considering something in the 50-100% range. I decided to go with the lower end first. So far, it seems to work out OK, but I have never tried to deliberately go for an influence victory from early on. I have gotten two, I think, due to building tons of wonders in games where I had to run the sliders with some (10% - 20%) influence due to not getting both happy resources - late in the game I realized I was closer to culture than ascendancy and bumped it up to 50% or more for the last dozen or so turns. More or less what you had happen, but with the addition of wonder-spamming.

Requiring 4 instead of 3 makes a small but significant difference.
 
Top Bottom