1. We have added a Gift Upgrades feature that allows you to gift an account upgrade to another member, just in time for the holiday season. You can see the gift option when going to the Account Upgrades screen, or on any user profile screen.
    Dismiss Notice

4.0 and the Future

Discussion in 'Civ4 - Star Trek Mod' started by deanej, Jul 2, 2010.

  1. deanej

    deanej Chieftain

    Joined:
    Apr 8, 2006
    Messages:
    4,859
    Location:
    New York State
    Now that the mod platform version of Final Frontier Plus is out, major work for 4.0 can begin. The planned changes are:
    -Cloaking AI
    -Sensor Post AI
    -Merge in Final Frontier Plus
    -Update all scenarios
    -Add scenarios intended for 3.0
    -Random events in the epic game and The Galaxy

    As of today, I am starting work on the Cloaking AI and the Final Frontier Plus merge. TC01 is working on the sensor post AI which will be included when it's done (this will be included in Final Frontier Plus as well). Once all that is done, I intend to release a public beta to weed out any bugs/issues with the core mod. About a month after that, I will make the new scenarios and re-engineer (in other words, remake using the current scenario assets to speed up the process) the older scenarios. Then I'll add random events to the epic game and The Galaxy (I might wait on updating The Galaxy until this point to make life easier).

    After that, 4.0 will be officially released. I should mention that 4.0 is that last planned version of Star Trek. I will continue to patch to fix bugs and balance issues (especially with the new scenarios) as necessary, but at that point Star Trek will essentially be done and I'll shift focus to my next mod... which all of you following Star Trek now get an exclusive announcement of it!

    My next mod is Remnants of Altrea, a sci-fi mod based on Fall From Heaven. The premise is that a fleet sent out in the near future to explore the galaxy encounters a spacial anomaly that sends them far, far away and severely damages the fleet. They crash land on a cold, barren planet with no life* and have to figure out a way to survive and maybe even get home.

    *Not quite true, but close enough for this announcement.

    Remnants of Altrea is in the early design stages right now. I don't even have a tech tree yet. The civs are the survivors from each ship. The mod has little to do with Star Trek, though I will be borrowing character images for the leader graphics, there will be some references (the flagship is called Voyager, for example), and the barbs are inspired from the Borg (did I mention the planet contains the remains of a long dead civilization?). Oh, and one more thing: just because it's set in a different universe from FFH doesn't mean it doesn't follow the FFH lore (I'll let you guys guess around with that for a while).
     
  2. os79

    os79 Chieftain

    Joined:
    Mar 14, 2009
    Messages:
    3,067
    Location:
    Eastern USA Coast
    Nice work! Looking forward to finally playing with speedy Star Trek game!

    Anyway, one request (other than old request still pending :) for BUG+BULL that can be used in space-based mod); you should consider Advanced Unit Automations adjusted to this space-based mod. It is by Afforess. It can be found in Modcomps forum. That modcomp plus specific parts of BUG+BULL in Star Trek will help enrich the game a lot!

    Before I go, I want to specify what parts that I think is crucial from BUG+BULL and let other parts be tossed out...
    • BULL Actual hover-over Infos in City screen
    • Turning off alternating turn info (it had been a looong time since I played vanilla BtS so I don't remember what is default. So if the default don't have alternating turn views, then forget this one. Dislike that alternating feature so want to turn it off.)
    • Gold Per Turns in main Game screen, not just Financial screen
    • Horizontal grouping of separate unit types from PLE
    That's it. No other part of BUG+BULL is necessary for me to comfortably play a mod :).
     
  3. TC01

    TC01 Chieftain

    Joined:
    Jun 28, 2009
    Messages:
    2,216
    Location:
    Irregularly Online
    I've finished writing it- I just need to make sure it runs in-game.

    Sounds cool! I always thought FFH 2 would adapt well to settings other than fantasy.

    It's another universe created by the One, or by one of the angels, or a universe that is just there, apparently not created by the One, that Ceridwen discovers?

    Am I close?
     
  4. deanej

    deanej Chieftain

    Joined:
    Apr 8, 2006
    Messages:
    4,859
    Location:
    New York State
    Seems easy to merge in. I'll consider it, but I'm wondering if the different nature of Borders caused by settling on solar systems would cause the border patorl automation to act strangely.
    What are actual hover-over infos and alternating turn info? Gold per turn is already there, unless you mean the total commerce that's split between gold, science, culture, and espionage with the sliders. Not sure what you mean by the last one but I think you mean the grouping on the interface when a stack is selected? I'll look at it, but I'm not sure how easy any specific feature is going to be.
    I'll just say that there's a thread Kael wrote in the lore forum that specifically hints at what I'm doing with this...
     
  5. os79

    os79 Chieftain

    Joined:
    Mar 14, 2009
    Messages:
    3,067
    Location:
    Eastern USA Coast
    Then don't bother with border patrol, Hunt automation is good enough for that type of thing. We will see how it plays out :).

    Hover-over, see the pic below...

    View attachment 256942

    Gold per turn, see the pic

    View attachment 256944

    Horizontal grouping of same unit types, see the pic below.

    View attachment 256945

    These are what I meant.
     
  6. TC01

    TC01 Chieftain

    Joined:
    Jun 28, 2009
    Messages:
    2,216
    Location:
    Irregularly Online
    There are three threads by Kael in the Lore forum, at least that I found with my quick search. They are:

    The Layers of Hell: Maybe
    Bestiary of Erebus: Maybe
    Design: Religions: Probably not it

    The section from the Layers of Hell guide that might support my theory is this:

     
  7. deanej

    deanej Chieftain

    Joined:
    Apr 8, 2006
    Messages:
    4,859
    Location:
    New York State
    Yep, that's it. Needless to say, the magic system is going to be supporting both magic and technology.

    @os79: Gold per turn shows up on my end. Most of the hover info does too - did you want me to specifically add the overflow? I'll look through the files and see if the grouping changes are easy to transfer.
     
  8. os79

    os79 Chieftain

    Joined:
    Mar 14, 2009
    Messages:
    3,067
    Location:
    Eastern USA Coast
    Well, I will wait for 4.0 to come out. I don't play this mod since 2.0 because of slowness. So I will wait for 4.0 release and specify what I want for a patch, if needed. Otherwise, good luck finishing up 4.0 :). I'm a Trekkie fan myself (more ST:TNG guy but love orignial, DS9, Voyager and 1-10 movies. Dislike Enterprise and latest Star Trek movie).
     
  9. jfby

    jfby Chieftain

    Joined:
    Jun 17, 2008
    Messages:
    196
    Really liking 3.25, one thing I have noticed is that if I start from enterprise by the time I have 50 light 2 units the ai is stuck researching the many cool techs of the early era and are fielding a few light 1 units. If I start from tos era the ai keeps up much better. Not really a complaint, and I'm sure it would be impossible to get the ai to build their infrastructure properly early enough, just an observation.
     
  10. deanej

    deanej Chieftain

    Joined:
    Apr 8, 2006
    Messages:
    4,859
    Location:
    New York State
    I think you're emphasizing military more than the AI. I could increase the cost of early military techs if it's a problem, though (probably should do that for Warp 7 anyways).

    Good news: I have just compiled a DLL merged with Final Frontier Plus! Now the XML/Python merging can be done. The only DLL change left is the team research nerf for The Galaxy.

    TC01, how does the Alien civ spawn from inhabited planet goody work? I was thinking of using it with non-Borg, non-Mirror universe civs to allow them to spawn.
     
  11. TC01

    TC01 Chieftain

    Joined:
    Jun 28, 2009
    Messages:
    2,216
    Location:
    Irregularly Online
    It doesn't at present.

    Well, that's an overstatement, but still.

    There is a tag bNewCiv in CvGoodyInfo that causes code at the end of CvPlayer::receiveGoody() to pick a random civ flagged with the tag bAlien that's never been in the game, pick a random leader for it that's never been in the game, and then creates it.

    The code is completely untested. There are no civs flagged to spawn this way in FF+, or for that matter in Star Trek's Inhabited Planets. There isn't even an Inhabited Planets goody that would do it yet (actually, there is, but it isn't tied to any handicap, so it doesn't ever happen).

    Spoiler C++ to spawn civs :
    Code:
    	if (GC.getGoodyInfo(eGoody).isNewCiv())
    	{
    		int iNumTries = 50;		//(There aren't 50 civs in the game, so this should be plenty.
    		for (int i = 0; i < iNumTries; ++i)
    		{
    			CivilizationTypes eCiv = (CivilizationTypes)GC.getGame().getSorenRandNum(GC.getNumCivilizationInfos()-1, "Goodies!");
    			if (eCiv != (CivilizationTypes)GC.getDefineINT("BARBARIAN_PLAYER"))
    			{
    				if (GC.getCivilizationInfo(eCiv).isAlien())
    				{
    					if (goodyCanSpawnCiv(eCiv))
    					{
    						PlayerTypes eSlot;
    						for (int iPlayer = 0; iPlayer < GC.getMAX_PLAYERS(); ++iPlayer)
    						{
    							PlayerTypes ePlayer = (PlayerTypes)iPlayer;
    							if (ePlayer != NO_PLAYER)
    							{
    								if (!(GET_PLAYER(ePlayer).isEverAlive()))
    								{
    									eSlot = ePlayer;
    								}
    							}
    						}
    						LeaderHeadTypes eLeader = (LeaderHeadTypes)goodyGetLeaderForCiv(eCiv);
    						GC.getGame().addPlayer(eSlot, eLeader, eCiv);
    					}
    				}
    			}
    		}
    	}
    Code:
    //	Utility to check if a prewarp civ has ever been active before spawning them
    bool CvPlayer::goodyCanSpawnCiv(CivilizationTypes eCiv) const
    {
    	for (int i = 0; i < GC.getNumLeaderHeadInfos(); ++i)
    	{
    		if (GC.getCivilizationInfo(eCiv).isLeaders(i))
    		{
    			if (GC.getGame().isLeaderEverActive((LeaderHeadTypes)i))
    			{
    				return false;
    			}
    		}
    	}
    	return true;
    }
    
    	//Utility to get a random leader for the new civ
    int CvPlayer::goodyGetLeaderForCiv(CivilizationTypes eCiv) const
    {
    	for (int i = 0; i < GC.getNumLeaderHeadInfos(); ++i)
    	{
    		if (GC.getCivilizationInfo(eCiv).isLeaders(i))
    		{
    			return i;
    		}
    	}
    }
     
  12. jfby

    jfby Chieftain

    Joined:
    Jun 17, 2008
    Messages:
    196
    I really think the costs are OK... I had spread quite large, normally I'm only a level of military tech ahead. It was also a marathon game, too. Maybe allow tech trading earlier than isolinear chips or if we could get the ai to expand faster. I only played three games, and the one I wrote about I had about 1/4 the galaxy as my own. The other games I was just slightly ahead, not overwhelmingly.

    I'm just used to the ai ganging up on me with units and tech but that didn't happen yet.
     
  13. deanej

    deanej Chieftain

    Joined:
    Apr 8, 2006
    Messages:
    4,859
    Location:
    New York State
    How easy would it be to make it select the leader from available leaders to that civ?

    A couple other things: did you do anything with the text? I tried to compare the two Final Frontier defaults in Beyond Compare but got a useless sea of red. Also, when do you plan to have plugins out? Having Inhabited Planets and the space stations/resources ones out would be helpful. I think I'll download the full version so I can compare the overrides in CvAI.
     
  14. TC01

    TC01 Chieftain

    Joined:
    Jun 28, 2009
    Messages:
    2,216
    Location:
    Irregularly Online
    It does already. I meant to say "random leader from civ leaders". Here's that function from the code I posted.

    It would be easy to edit and add additional checks, though, under the for loop around leaders.

    Code:
    	//Utility to get a random leader for the new civ
    int CvPlayer::goodyGetLeaderForCiv(CivilizationTypes eCiv) const
    {
    	for (int i = 0; i < GC.getNumLeaderHeadInfos(); ++i)
    	{
    		if (GC.getCivilizationInfo(eCiv).isLeaders(i))
    		{
    			return i;
    		}
    	}
    }
    God-Emperor did some things with the default text files I believe. I don't think I did- I believe all my text is in new files.

    Well, Wormholes and Space Stations will be out by Sunday at the latest. (Space Resources is a seperate plugin).

    I'm going to work on Inhabited Planets now, might either be posted tonight or tomorrow morning. Resources will probably be after the other two.
     
  15. deanej

    deanej Chieftain

    Joined:
    Apr 8, 2006
    Messages:
    4,859
    Location:
    New York State
    In that case, I'll do it from XML and see what happens.
    Yes, he did, but not as much as I though - most of my problems were the fact that "Final" and "Finaler" look very similar when used in text file names when you don't look carefully.
    Great! It'll be helpful when merging the python and putting the new XML tags in.

    One thing I forgot to mention: I'm thinking of getting rid of the "Star Trek Version" string in the About this Build screen and making that the BtS version again as a readme/changelog is probably sufficient to tell people what version they have. I don't know if anyone ever used that anyways.
     
  16. deanej

    deanej Chieftain

    Joined:
    Apr 8, 2006
    Messages:
    4,859
    Location:
    New York State
    The SDK and XML merge is complete and the python merge is 50% done. A couple of other notes:
    -I just noticed that the starting 10 gold done by python can be done in Civ4EraInfos.xml with no ill effect. As such it's being moved there.
    -The Alliance UW effect will be moved to the SDK if I can figure out how to do that, as it forces upgrade prices to be done entirely in python otherwise.
    -The team research option is still not done... have to figure out how to do it.

    EDIT: I might also want to move the animals kill cities code to the DLL as well. It's the only thing in onUnitMove other than the movement sounds.
     
  17. deanej

    deanej Chieftain

    Joined:
    Apr 8, 2006
    Messages:
    4,859
    Location:
    New York State
    I've released the 4.00 beta; here are the changes thus far:
    -AI will cloak to pillage, use ranged units, and heal
    -Merged in Final Frontier Plus mod platform version
    -No more hardcoding in the SDK
    -Merged in Inhabited Planets from Final Frontier Plus
    -Removed bAlwaysKeep (no longer needed - use iConquestProb instead)
    -Removed bOnlyOne (replaced by bOnePerSystem)
    -Starting gold is now applied in Civ4EraInfos.xml, not python
    -The AI will build sensor posts
    -The Vaadwaur start in the current era (no longer hardcoded to Enterprise)
    -Added bUpgradeDiscount tag to Civ4BuildingInfos (for Alliance unique wonder)
    -The code for animals always razing cities has been moved to the SDK
    -Alien Vessel: 2 strength
    -No more extra BuildingClass entries

    http://www.atomicgamer.com/file.php?id=87247
    You need Star Trek to be already installed; this does not replace 3.25.

    At present there's a known bug that I can't track down: a few turns in, you'll get a message that a bunch of civs have been destroyed, none of which were on the map for that game.
     
  18. jfby

    jfby Chieftain

    Joined:
    Jun 17, 2008
    Messages:
    196
    How easily can the unitinfos file be added? I've got a lot of custom units and want to know if I need to start over or not. Looking forward to this!

    UPDATE: The speed of this mod is AMAZING... PERIOD.

    I do have a question; is the research rate still modified using the XML gamespeedinfo? Thanks! I'm not sure if it's intentional or not, but when I start a game my research rate in the starting era is +1600 or so (if I set my research rate to zero I make 1600 gpt)...
     
  19. openair

    openair Chieftain

    Joined:
    Oct 6, 2008
    Messages:
    28
  20. TC01

    TC01 Chieftain

    Joined:
    Jun 28, 2009
    Messages:
    2,216
    Location:
    Irregularly Online
    Yes, now you know why I kept saying how slow Star Trek still was.

    The research rate is a bug that I haven't figured out how to fix yet- it's because yield override calculations in the DLL aren't being done until the first turn. The code should probably be made a function that is called from both CvCity::doTurn and CvPlayer::initCity (or something like that).

    I added a lot of new tags to the UnitInfos XML, but none of them are required, so if you want to copy over new units you shouldn't need to add them in. They do things like define the minimum eras that they can spawn as barbarian units, define the movement sound, define units as starbases or missiles or other space stations that don't spawn missiles... if you need any of that, you will need the new tags, documented here.

    Yes, it was included in 3.0, so yes.
     

Share This Page