Sins of a Solar Empire : Real-Time Strategy. Unrivalled Scale.
© 2003-2014 Ironclad Games Corporation Vancouver, BC. All rights reserved.
© 2006-2014 Stardock Entertainment

[MOD] The Sins Optimization Project: Rebellion 1.1 (Updated 11/19/12)

Because we KNOW that Rebellion NEEDS IT.

By on July 8, 2012 3:21:01 PM from Sins of a Solar Empire Forums Sins of a Solar Empire Forums

Major Stress

Join Date 05/2006
+154

Rebellion.. The Fourth, and Final Expansion for SotSE....

For all that do not know what TSOP is, or have not been keeping up with current events at all for the last four years. Check this topic. The Original TSOP for Trinity topic.

TSOP was originally created to fix the very annoying 2 gig hard coded crash bug that plagued Trinity. IT WORKED. Without changing any game play aspects of Sins. Without changing the quality of the game itself. During the time we worked on TSOP we found many bugs, and errors that the Dev's missed over time, or that were created with the relentless Sins patches of the past, and new expansions. With the Diplomacy 1.32-1.34 series of patches some elements of TSOP: Trinity were incorporated into Diplomacy. Mainly the Errors, Typo's, and Particle fix's. We are all human, and we all make mistakes. A company as small as Ironclad was bound to make some mistakes. Especially on their first game. I want to make it clear once again that this project in no way is a disrespect of Ironclad, or Stardock. Quite the opposite. You guys made a great game! There is no denying that. We wouldn't be here right now if you did make a bad game.

The goal of TSOP:R Is to add what was NOT incorporated from the Diplomacy TSOP incorporation. We will Bug Hunt, Look for errors, and typos that were not seen before, and Fix it. Just like we did for Trinity. We will convert the TGA formatted textures to the highest quality DDS format possible (This includes the UI textures). Just like we did for Trinity. We will try to put back into Rebellion what was taken out from Trinity (the varying planet types). We will also look into optimizing the new rebellion shadow system some more (if it is at all possible).

Rebellion reduced the size of the ship textures (mainly all of the frigates) to the next size down (by a power of 2). So frigates that had a 2048 resolution texture now have a 1024 resolution texture in Rebellion. Which is brilliant, It is hardly noticeable, and it made lots of room for more Rebellion features. TSOP:R will expand upon that, and bring back the "Strategic Particle Texture Reduction" of TSOP Trinity. There is much more we can do to optimize if we look for it. However, the goal is to optimize without changing the quality of the game, or if there is to be a loss of quality. make it as minimal as humanly possible. Just like we did for Trinity.

We also plan on bringing the Trinity versions of TSOP up to date.

All of this, and more that TSOP:R will do will free up more Ram, and improve your Graphic Performance. So you should be able to run Rebellion on a slightly lower end system, or a not so hot video card. CPU lag is still, and will always be a problem. We tried to deal with it by reducing poly counts on meshes in Trinity. That failed. Poly counts surprisingly have very little impact in Sins. It is the sheer number of units on the map that a Single Core of your CPU has to deal with that causes the lag. The only way i can think of to deal with the Late Game CPU Lag issue is to remove, and/or lower the number of units on the map. We WILL NOT do that. We WILL NOT change any game play, or balancing aspect of Rebellion. Just like we did not change it for Trinity. Let the developers deal with the Game Play, and Balance. We only wish to improve upon the game itself. We Bring..

The Sins Optimization Project: Rebellion

So.. Here we are once again.. 

 TSOP for Rebellion is more of a Graphic Optimization mod than it was for Trinity. Many of the issues that plagued Trinity were fixed by Ironclad/Stardock for Rebellion. So there is no need for any GameInfo folders any more. Also the 2 gig crash issue that TSOP was originally created for has also been fixed. TSOP:R is more intended as a performance improvement mod than anything else.

 TSOP, and TSOP:R is an open community project. Anyone who wishes to contribute is welcome to do so. Also anyone who wishes to use TSOP/TSOP:R in their mods, or other projects are also more than welcome to do so. No Questions Asked. This project is for you. Use it!

 Do not run TSOP with other mods. TSOP is intended to be a Stand Alone mod. Running other mods with TSOP. Especially Graphic Enhancement mods. Will defeat the entire purpose of TSOP. TSOP is intended to improve your Vanilla Sins experience. Other mods like Distant Stars have incorporated elements of TSOP into their mods.

 I will ask that we please DO NOT discuss Multi Core support, 64 bit, or LAA on this topic. It is a dead horse issue that has been beaten down so many times that people are beating the dust on the ground where the dead horse was laying. Its not gonna happen! EVER! The Dev's said its not gonna happen. DO NOT DISCUSS THE ISSUE!!... please.

 

TSOP:R Release 1.1

All mesh, and particle bad file path names fixed.

Mesh fix's (Unnecessary team color entry's removed)

GameInfo files fixed by Stardock/Ironclad so it is no longer needed in TSOP

All particle, and UI textures converted to DDS format. Some very large texture resolutions reduced.

Optimized Sounds, Music ported from TSOP Trinity.

Optimized Trade ship, Strike Craft, and Constructor meshes ported from TSOP Trinity.

Game holds steady at 1.6-1.7 gigs ram usage using Random Vast Competitive map. Max settings for everything. 9 vicious AI's Results may differ for you depending on your system. No Dev.exe errors were present. No crashes. Late game lag still an issue, but game is playable much longer than vanilla.

See various "Fixed" text's for complete list of changes, and fixes.

Thank you Myfist0 for ModDB link

 

 

326 Replies +2
Search this post
Subscription Options


Reason for Karma (Optional)
Successfully updated karma reason!
July 8, 2012 3:31:06 PM from Sins of a Solar Empire Forums Sins of a Solar Empire Forums

If poly count reductions are not an impact on this, will you need me Major?

 

I suppose I can still play with textures and meshes if you want

 

SivCorp

Reason for Karma (Optional)
Successfully updated karma reason!
July 8, 2012 3:36:53 PM from Sins of a Solar Empire Forums Sins of a Solar Empire Forums

Of course i need ya. I also need bug hunters. basically proof readers that can look over the reference files, and find typo's, and other things that don't seem right. ummm MyFist0??

I was also thinking about Mines. The Rebellion AI loves to spam mines. Is it possible to put mines on a timer? Like what was done with pirate raids a while back? After about 15-20 minutes the pirates would be removed from the map so that we wouldnt have thousands of raiders stacked up at the pirate base near end game (that caused a lot of dumps itself).

Mines should disappear after 30 minutes (give or take depending on how it effects gameplay). We can say that they require "maintenance" and malfunction after x amount of time.

I also want to look at the strike craft auto launch/dock mod again.

Reason for Karma (Optional)
Successfully updated karma reason!
July 8, 2012 3:41:15 PM from Sins of a Solar Empire Forums Sins of a Solar Empire Forums

Great to hear that this is coming to Rebellion.  Just in case you guys were unaware (and for future reference for people reading the thread), apparently the biggest late-game bottleneck is SC, not trade ships (though I'm sure for TP spammers it would certainly contribute).  Obviously changing either would be changing gameplay which are out for this mod.

Also, if you need me, I'll be glad to help.  Between my own personal mods, I rummage through the entity files a lot, so if there's anything you want me to do while I'm in there, I'm game.

Reason for Karma (Optional)
Successfully updated karma reason!
July 8, 2012 4:01:21 PM from Sins of a Solar Empire Forums Sins of a Solar Empire Forums

We had a plan to reduce the number of trade ships, but increase their load to compensate. Same with Strike Craft. I think when it was tested it failed, because it altered the game play, and balance. Remember, We want to change nothing about balance, and game play. What we did do was reduce the poly counts, and texture size of the trade ships, constructors, and strike craft. That seemed to help greatly graphic wise, but it didnt do much about the late game cpu lag issue.

I agree that strike craft are a major contributer of lag. Hence why i want to look into the auto dock/launch mod.

Anything you are willing to contribute is fine. If you find a problem point it out, and lets see if we can fix it.

Reason for Karma (Optional)
Successfully updated karma reason!
July 8, 2012 4:09:25 PM from Sins of a Solar Empire Forums Sins of a Solar Empire Forums

Auto-dock mod?

Reason for Karma (Optional)
Successfully updated karma reason!
July 8, 2012 4:20:20 PM from Sins of a Solar Empire Forums Sins of a Solar Empire Forums

Quoting Volt_Cruelerz,
Auto-dock mod?

 

Forcing SC to dock unless there is enemies in the well. Someone a while back made one, I think. Not sure if it will help though since most lag Ive seen is during combat, when you got all those bad boys flying about anyhow.

 

 

 

 

EDIT: Changing how mines operate would effect balance, but instead of having them disappear after X amount of time. Just reduce the max amount per well. 

 

And I assume yall are gonna give pirate ships that go on raid timers? To reduce the amount of ships the game has to keep up with later game and with many successful raids.

Reason for Karma (Optional)
Successfully updated karma reason!
July 8, 2012 4:28:41 PM from Sins of a Solar Empire Forums Sins of a Solar Empire Forums

I thought IC made raiders on a timer? Unless something changed that i missed? This was back in the entrenchment days. Can anyone confirm if raiders disappear after a while? if not then they must have reverted it back to original sins style.

Wouldnt limiting mines also effect the balance? These are the touchy subjects we run into when we do want to change/limit things. Only thing we can do is try it, and see if it works, or if it doesnt work.

Yes someone did make a strike craft auto dock mod. I dont remember who it was, or how well the mod worked. I never tested it myself.

MANY things contribute to lag during combat.

1) IMO particle textures that are way too high resolution for the particles themselves are the biggest contributer. However that is a graphics issue that can be fixed (and that was fixed in the original TSOP). Who needs a particle texture that is 512 res for a particle that shows only as a small dot in game. In the original TSOP i reduced some particle textures down to 16x16, and it made absolutely NO difference visually in game. However it did improve the frame rates of many battles up until we got to the late game issue.

2) One core of your CPU is dealing with EVERYTHING in game. I know, I didn't want to talk about this subject, but it is true. Everything in game is being handled by only a single core of your CPU. There isn't very much we can do about that. Sins was designed when single core, 32 bit, Windows XP systems were still the mainstream. Our hardware outgrew the game. End of that discussion.

3) My boy says the game code itself is unoptimized, and more than one programming language is being used. C+, and visual basic he thinks. he is just learning to program, but knows more than me however i wouldn't put much weight on it. It is a possibility though.

There could be many other factors too. What we want to do is bring them into the light, and see what if anything we can do about it.

 

 

 

Reason for Karma (Optional)
Successfully updated karma reason!
July 8, 2012 4:32:46 PM from Sins of a Solar Empire Forums Sins of a Solar Empire Forums

Quoting Major Stress,
I thought IC made raiders on a timer? Unless something changed that i missed? This was back in the entrenchment days. Can anyone confirm if raiders disappear after a while? if not then they must have reverted it back to original sins style.

 

Ive seen a few topics like this scatter about recently:

http://forums.sinsofasolarempire.com/428151

 

 

 

And AFAIK, they were never on times to self destruct. I know its something we added a long time ago in DS, just to reduce excessive ships later game. (I think we set the timer for 20-30mins, which should be plenty of time to raid and return to base to blow up)

 

 

 

EDIT: Sure changing anything in game from trade ports to mines etc etc will effect balance but...If those items are effecting the overall gameplay experience I dont see why small changes for the greater good cant be made.

Reducing Trade Port ships affect income rate. (Its minor from what Ive seen, but Yarlen said it does affect it.) 

Reducing SC squads numbers also changes balance. (But during late game battles it can save you 1000's of ships that the games does not have to track)

Reducing Mine counts means there are less to run ships into. (Good and bad. Depending on how you look at it.)

 

I think to get the most out of TSOP:R your gonna have to do some kinds of gameplay changes. I think IC has taken it as far as they currently can with engine changes, while not changing gameplay.

Reason for Karma (Optional)
Successfully updated karma reason!
July 8, 2012 5:11:41 PM from Sins of a Solar Empire Forums Sins of a Solar Empire Forums

Agreed. I don't want to change anything in the game play, but if it comes down to it. The "greater good" must prevail.

If we reduced trade ships from the original 5 to lets say for the sake of argument 2. Then evenly give those 2 trade ships the income of 5 trade ships (probably a hit point boost too so they dont get ganked as easily). We eliminate a lot of lag causing units, but keep the incomes pretty much the same. The only thing effected is "Time". The time these ships deliver their goods. Plus they become more valuable since killing one gives a bigger bonus, and hits the loser harder. How would that effect the overall game balance? Opinions?

Same with Mines, and Strike Craft.. If we reduced their numbers hypothetically for the sake of argument from 5 to 2, but made them Stronger, and Deal more damage to compensate for the reduced numbers. In the mines case set triggers to a wider radius, and have AOE damage radius wider. How would that effect game play? Opinions?

Reason for Karma (Optional)
Successfully updated karma reason!
July 8, 2012 5:37:32 PM from Sins of a Solar Empire Forums Sins of a Solar Empire Forums

Mines and cargo ships could be made fewer but stronger without a whole lot of ill effects..  Changing SC would be...  Well...  You'll be rebalancing the entire game to compensate...

Reason for Karma (Optional)
Successfully updated karma reason!
July 8, 2012 5:42:05 PM from Sins of a Solar Empire Forums Sins of a Solar Empire Forums

What do you suggest?

Reason for Karma (Optional)
Successfully updated karma reason!
July 8, 2012 6:03:08 PM from Sins of a Solar Empire Forums Sins of a Solar Empire Forums

Cargo ships could probably be reduced to 2 per structure and buffed in health and cargo capacity to compensate numerically and that should be sufficient.  True, it will affect how players are able to kill them, so perhaps only give each one 200% their current health instead of 250%.  Cargo is currently 50, so increase that to 125.  Other stats are unchanged.


Mines could be made to have larger radii and deal more damage.  Exact numbers would have to be played with as I'm not familiar with them as I build them infrequently myself.


SC is something I've thought on before.  Assume for the sake of argument we do 3 per squad for Advent, 2 for TEC, and 1 for Vasari.  This means that we'll have to buff them to compensate, else SC will be worthless.  Well, now Flak Burst and TKP are worthless, so they need buffs.  That's easy.  The main problem I see is what do you do with flak because it's going to start looking weird to the player when their fighters have 3x more hull than their corvettes.  Actually..  Hmm... Perhaps the best way (assuming it is feasible) is simply to make them nigh-impossible to hit.

Make it so that the accuracy of weapons against them is significantly lower than what it is now.  This way, Corvette balance is unchanged.  You'll have to nerf Targeting Uplink a bit to compensate though, else TU would make your flak annihilate SC.  

Something else to consider is that SC will be made much more powerful early game because with fewer ships, that means fewer banks firing on flak, resulting in much less DPS being done to them, making Sova rushes incredibly powerful.

Idk...  It really just seems like trying to rebalance SC is just asking for a can of worms to be thrown at your face and a large part of why I haven't touched them in Rebalanced Races.  If someone can come up with a good solution, then I'm game and I really do think that it would help late-game lag, but there's only one way to find out.


Depending on how the game handles target filters, it may also be wise to remove the redundancies where a target filter lists both corvettes and frigates.  Not sure what this would do though...

 

Even with just the first two though, I think the passive lag should improve and with smaller textures, combat should improve.  SC changes may just have to be icing on the cake..

Reason for Karma (Optional)
Successfully updated karma reason!
July 8, 2012 6:21:34 PM from Sins of a Solar Empire Forums Sins of a Solar Empire Forums

FYI, I do not believe the number of cargo ships affects income...whether you have 1 or 100, the income should be the same...

Now, what does matter is that each time you lose a cargo ship, it takes of a fraction of your income until it's rebuilt...so if you have 10 cargo ships, losing 1 temporarily reduces your income from that structure by 10%...make it only 2 cargo ships, and losing one will halve the income from that structure...

Since the player has absolutely no control over trade ships (which may go through enemy worlds, pirates bases, militia planets...gets worse in team games), I'd advise a very short construction time on the cargo ships...that way, even if you lose the one cargo ship (or one of 2), it's only for a short period of time...

Reason for Karma (Optional)
Successfully updated karma reason!
July 9, 2012 1:46:04 AM from Sins of a Solar Empire Forums Sins of a Solar Empire Forums

I will take all of these ideas into consideration.

In the mean time the foundation for TSOP:R has begun. Its gonna take a while to duplicate the texture conversions, and strategic reductions of the original TSOP. Plus i plan on going over each texture to make sure it is the maximum quality possible after DDS conversion/reduction. If it looks bad in game then there will be no reduction. It will be a tedious process of trial, and error again. I cant use the old TSOP files. I can only use the Rebellion reference files, and textures for this. The Developers agreed with me that the game should be in all DDS format. However they did not have the budget, or free time to convert the textures, and edit all of the appropriate files themselves. Good thing we modders are around huh.

I will let you know when progress is made.

Reason for Karma (Optional)
Successfully updated karma reason!
July 9, 2012 2:01:51 AM from Sins of a Solar Empire Forums Sins of a Solar Empire Forums

Quoting Volt_Cruelerz,
Idk... It really just seems like trying to rebalance SC is just asking for a can of worms to be thrown at your face and a large part of why I haven't touched them in Rebalanced Races. If someone can come up with a good solution, then I'm game and I really do think that it would help late-game lag, but there's only one way to find out.

It really is a true pain...SC are extremely complicated, there are so many variables, and really the point of this mod is optimization, not balance...unforuntately, I don't think you can dissociate the two unless you change the textures/meshes/effects...changing the number of SC per squadron is a lot more difficult to balance than most nearly any other combat mechanic (believe me I've tried it)...

If you are just looking to reduce the numbers, you could make all SC mimic the Vasari stats...you already know those stats at least work and vasari have the least amount of SC...

Reason for Karma (Optional)
Successfully updated karma reason!
July 9, 2012 2:40:58 AM from Sins of a Solar Empire Forums Sins of a Solar Empire Forums

Note that one of the devs stated that mines have been changed in Rebellion to NOT be as significant an issue.  To what degree and how, I don't know.

They also stated tradeships--so long as they aren't running about with some custom mod abilities that have to check for other units--are not big consumers either.

Strikecraft are undoubtedly the biggest issue.

MyFist0 had tried to create an autodock function but ran into a lot of issues.

Reason for Karma (Optional)
Successfully updated karma reason!
July 9, 2012 6:13:45 AM from Sins of a Solar Empire Forums Sins of a Solar Empire Forums

Autodock will only do so much good...battles will still lag the game, and just the aciton of docking/undocking after a phase jump can cause a freeze...the core of the issue is the number of SC, you have to reduce the number....idk if reducing the texture size, changing the exhaust trails or whatever will make a difference but reducing the number will help regardless...

Reason for Karma (Optional)
Successfully updated karma reason!
July 9, 2012 8:40:44 AM from Sins of a Solar Empire Forums Sins of a Solar Empire Forums

Auto Dock would severley reduce lag, if you think about it you can have huge amounts of Planets, each with 1 to several Hanger Defences and each of those have several squadrons ... that = a lot of resources, if all those squadrons didn't exist, tucked away safely inside there hangers until needed. The type of solution you proposed work better for tradeships, as they are constantly out.

Reason for Karma (Optional)
Successfully updated karma reason!
July 9, 2012 2:41:13 PM from Sins of a Solar Empire Forums Sins of a Solar Empire Forums

Well, today at work, I was having a very slow day and thought on the subject of auto-dock.  I came up with a buff chain which is probably the most efficient possible way of doing it and deliberately bottlenecks itself so as to reduce the time taken by distributing buffs.  This results in a longer time-lag as the buff chain is slightly longer, but the lag caused by multiple units should be reduced.

Light Carriers, Hangar Defenses, and Starbases have AbilityAutoDock as a passive

AbilityAutoDock applies buff BuffAutoDockSelf to self via ABTS

BuffAutoDockSelf periodically applies buff BuffAutoDockPlanet to orbit body via ABTLOB

BuffAutoDockPlanet applies buff BuffAutoDockEnemy to a single Structure/Frigate/Titan/Fighter/Starbase/CapitalShip via ABTTALOB

BuffAutoDockEnemy applies buff BuffAutoDockLaunch to all friendly targets via ABTTALOB

BuffAutoDockSelf checks for presence of BuffAutoDockLaunch and applies BuffAutoDockGrounded if it is not found via IfOwnerHasBuff and ABTS

BuffAutoDockGrounded lasts for 5 seconds, prioritizing new buffs and results in the bool modifier DisableStrikeCraftLaunch.

 

That's probably the most efficient way of doing it.  It wouldn't affect carriers capitals, but they are comparatively a small component of the SC lag late-game.  

Reason for Karma (Optional)
Successfully updated karma reason!
July 9, 2012 3:06:18 PM from Sins of a Solar Empire Forums Sins of a Solar Empire Forums

auto dock didn't work on hangars.

 

Reason for Karma (Optional)
Successfully updated karma reason!
July 9, 2012 3:32:03 PM from Sins of a Solar Empire Forums Sins of a Solar Empire Forums

Does the bool modifier not affect them?

Reason for Karma (Optional)
Successfully updated karma reason!
July 9, 2012 4:06:13 PM from Sins of a Solar Empire Forums Sins of a Solar Empire Forums

I'm not trying to be debbie downer here but I really don't think autodock is going to solve the core of the problem...there is a noticeable increase in lag when SC are given and following orders for movement or attack, but not the same level of lag for just having them sit there in space doing nothing...

I am not claiming that having them docked won't help some....what I'm saying is that the lag really comes from when the SC are moving around, following autoattack, and using their weapons and exhaust trails...autodocking does nothing to help in these situations...

I would think that decreasing the number of SC, the texture size of SC, the quality of the weapon effects of SC, and quality (or maybe removal) of exhaust trails for SC would do far more than implementing autodock...

Reason for Karma (Optional)
Successfully updated karma reason!
July 9, 2012 4:22:47 PM from Sins of a Solar Empire Forums Sins of a Solar Empire Forums

I think it has more to do with them existing in the entity list.  Every tick, the engine has to go through the entire entity list and update everything.  If they don't exist, then they can be skipped.  We're addressing two different issues, Sel.  I'm talking about the passive lag that arises late-game whereas you're talking about in-combat lag.  "Passive Lag" will be helped most by reductions in SC counts (via something like autodock probably), cargo ships, and mines.  "Active Lag" is what you're talking about and that would be helped most by poly reductions, texture resizing and compression, and exhaust reduction/removal.

Reason for Karma (Optional)
Successfully updated karma reason!
July 9, 2012 5:02:33 PM from Sins of a Solar Empire Forums Sins of a Solar Empire Forums

Quoting Volt_Cruelerz,
Does the bool modifier not affect them?

Correctamundo!

Quoting Volt_Cruelerz,
Light Carriers, Hangar Defenses, and Starbases have AbilityAutoDock as a passive

Considering Hangars aren't affected by the modifier and fleets are typically engaging other fleets I don't see this having much of an overall impact. 

I'm with Seleuceia in that if the SC aren't doing anything, then they aren't really contributing to late game lag all that much.

Feel free to try coding it out though. It's a fun problem to try and solve and I helped test and make suggestions to the last guy that tried it. At this point though I think it's pretty much a wasted effort unless the devs decided it had merit and built auto-docking into the engine. Based on their comments as to what does and what doesn't cause lag though, I'm assuming this won't happen.

Reason for Karma (Optional)
Successfully updated karma reason!
July 9, 2012 5:56:27 PM from Sins of a Solar Empire Forums Sins of a Solar Empire Forums

IIRC: one optimization TSOP did was fixing non-existent file name references.

One give away of these are absolute path names of the form C:/path/name/file.ext, instead of a filename relative to the game (or mod) directory.

Using CygWin's egrep to find drive letters in the Rebellion reference files reveals 3837 of them in the Particle directory, for comparison Diplomacy 1.34 has 22, again all in the Particle directory.

C:/src/SinsRef/Reb-v1.03/Particle $ egrep -i '[A-Z]:' * | wc -l
3837

C:/src/SinsRef/Dip-v1.34/Particle $ egrep -i '[A-Z]:' * | wc -l

22

Probably wouldn't be too hard for me to refine this search to actually check the filename exists, instead of assuming absolute paths are always bad.

Not sure how bad pathnames affect performance, eg does it just reduce load times or does it affect memory usage?

Reason for Karma (Optional)
Successfully updated karma reason!
Stardock Forums v1.0.0.0    #108432  walnut2   Server Load Time: 00:00:00.0000844   Page Render Time: