DANMAN3712 DANMAN3712

HARDCODED LIMITS - by DANMAN

HARDCODED LIMITS - by DANMAN

BREAKING THE MODS

Hello All,

It has been made apparent now that there are many hardcoded limits in the game, which cannot be modded around, and are like a brick wall once you hit them. For example, here are some hardcoded limits that I have come across:

Structures and units - These cannot be changed or altered, which means that you cannot mix unit types.  You cannot have a orbital defense cannon have fighters and you cannot have a fighter bay have weapons

Captial ship limit. - the limit was 5, but this has been now changed to 9 in the 1.1 BETA, which IS much better

Weapon limit - you cannot have more than 3 different weapons on a ship

Ability limit - You cannot have more than 4 abilities per unit

Star Abilities - you can only have 1 ability on a Star.  Planets can have 4

Sounds - there is a max of 1100 sounds, spread across dialog, music, and effects.  The cobination of these files cannot reach 1100, or the game will dump

MODELS- the 3D models, or meshes, can only have a maximum of 10 emitters for any particular weapon, engine, etc., or the game will crash.

STRING FILE - EDIT - No limit now, as far as I can tell.  I have over 5780 entries so far.

I am writing this for all modders, so that they know that there are hardcoded limits which they cannot be changed or modded around at this time.  I am also writing this for the developers, in hopes that they will read this and consider changing these limits so that us modders can do what we do without having to worry about hitting an invisible ceiling.

I would appreciate everyone's support in this, from both modders and gamers alike. 

Thankyou.

DANMAN

296,475 views 156 replies
Reply #26 Top
DANMAN-Couldnt you mass counterdiscriptions. I know this would take forever but couldnt you create one counterdiscription (blank) and use it for every ship? if so this would give some room to atleast get out 2.0...-Derek06This will work as i just tested it...


Derek, this is a viable workaround, although it would take hours of time that could have been spent somewhere else creatin new content. I fear that if the developers don't respond, or cannot change things, then my only recourse is to do what you have suggested in order to free up spots in the STRING file.

Helioforge, that is a great idea. Again, just like Derek said too. I don't want to do that, but I might have to.

Thank you all for your support!

DANMAN
Reply #27 Top
If it comes to it, you could also possibly trim the list of planet names. There are something like 200+, I doubt anyone would really notice 50 of them gone. But I don't know enough of the inner workings of the engine and it is possible (though unlikely, since I did something similar with capital ship names a long time ago) that trimming the list will cause the game to reference non-existing strings and crash.

But like I said, I doubt it :P
Reply #28 Top
ah well i have neither of those so ill just tell u via this

basically create what ever weapon u want as an ability then assign the ability to the building and there u go lol weapons for ur buildings
Reply #29 Top
One other very aggravating (but probably too hard to fix for me to get my hopes up over) is damage and armor types. This is quite limiting for TC mods, but most everybody else probably won't have to care too much.

A question now, is it possible to build capital ships and cruisers out of the same building, or do you have to segregate them?

Thanks.
Reply #30 Top
I apologize to my team mates for being absent recently, especially when such an important issue has arisen.

First I would like to discourage the impression that IC did this on purpose, to limit modding. What happened is a programmer got a team together and they developed a game to the best of their ability. Unfortunately there was a lack of project definition and research which is resulting in our current problems. They did not define the entire program before writing it, and they did not fully comprehend how quickly the limits of their system would be reached. The good news is that management will learn from this mistake and their next release will be all the better for it. The bad news is that we are going to have to suffer with this until they can correct as much of this oversight as possible.

Second I will point out, more to IC than you, the loyal Sinners, that until the critical limits are corrected there will be no point for us to consider purchasing the upcoming expansion. There will be no room for it in 7 Sins. Considering the amount of work that we the modding community have put into it, and all the feedback from loyal players, I would expect fairly tepid sales compared to the amazing figures that SoaSE has enjoyed so far. That is not to say that it will not have any excellent content, just that in a decision of using the expansion OR using 7 Sins, the answer is obvious. We are looking forward to making 7 Sins compatible with the new content, but there must be room for this new content, and for that we need your help in solving these problems (the String issue at least).

Now onto a question. Would it not be possible place a comparative process into the Program, to examine the content that is necessary at the launch of a New Game and create reference files that only loads the necessary content whenever a saved game is reloaded? The necessity of loading everything into memory at the launch of the Program, instead of only loading what it necessary at the launch of a Game, is both undesirable in terms of system resources, and engine/program limits. Instead of rewriting the entire engine, is it not possible to modify the file handling and basically run off temp files created at the start of a new game? It may increase the time it takes to start a new game, but it would actually decrease system load and speed things up during the game, and even on subsequent launches, and of course eliminate at least some of the string's limiting effect.

Concerning the limits on ships, emitters, and module functionality, I think that this is something that we will just have to work around. It would not only require an engine re-write to add these features, but it would also require heavy tuning as it would easily multiply the system resource requirements. It would look great to have all these features, but they would soon become the standard, used for everything. This would severely limit the number of ships, galaxy size, and players (AI or multiplayer), so I cannot see this as being cost effective for IC. There may be work-arounds for some of these issues, and while they may not be as easy to implement, they *could* work. Dan and I have been discussing a few of them for a while now, but we did not have the need, or the time, to actually test them (yet). If we discover something we will be sure to share the results with the community, and of course, ask the same from you.

We are all in this together (IC + modders + players).

P.S. IC is located in Vancouver and is therefore on Vancouver time, so you cannot expect responses until they at least get up and start-in on their first Starbucks of the day. More likely it could take a day before they even see this thread, realize that the problem is more significant than they initially thought, and respond. Give 'em a wee bit before getting the torches out. ;)

4Aces
Reply #31 Top
A question now, is it possible to build capital ships and cruisers out of the same building, or do you have to segregate them?

Thanks.


You have to segregate them, to my knowledge. Capital ship entities need to be assigned to a capital factory, AFAIK.

Second I will point out, more to IC than you, the loyal Sinners, that until the critical limits are corrected there will be no point for us to consider purchasing the upcoming expansion. There will be no room for it in 7 Sins. Considering the amount of work that we the modding community have put into it, and all the feedback from loyal players, I would expect fairly tepid sales compared to the amazing figures that SoaSE has enjoyed so far. That is not to say that it will not have any excellent content, just that in a decision of using the expansion OR using 7 Sins, the answer is obvious. We are looking forward to making 7 Sins compatible with the new content, but there must be room for this new content, and for that we need your help in solving these problems (the String issue at least).


I hate to nag on this, but there is such a thing as letting something go too far. The majority of Sins players never even visit the forums to know about the mod, so to imply that if Ironclad somehow doesn't design the expansion around the needs of your mod its sales will be cut dramatically is rather foolish (to put it nicely). Nor is it obvious (other than to you, apparently) that between the expansion and your mod that most people will choose your mod, especially considering nobody knows anything about the expansion's features (save the campaign). Sins sold a boatload of copies before any "finished" mod for it was released, after all. For example, I see that 7 Deadly Sins got 8560 lifetime downloads for its latest version on Filefront. Sins sold 200k+ copies the first few weeks.

So, please, don't get on the high horse of "without my mod the game is nothing", and be rational instead of delusional. Then you might get somewhere. Until then, comments such as this will hurt you more than help you, both in the community and in the eyes of Stardock/Ironclad.
Reply #32 Top
FourAces,
Thank you for your comments and your support. Indeed, we all need to work together to solve this issue.

Annatar,
I certainly agree with you too. Sins will no doubt do just fine selling the current release and its expansion without the help of my little mod. However, I do know that several, if not much more so, have purchased the game soley to play certain mods, including 7 DEADLY SINS. Also, mods are the reason why some players pick the game back off of the shelf, and play it again. I personally am not saying the 7DS is the reason why people buy or play the game, what I am saying is that the mods sure do help, and I think that is what FourAces is saying as well. We have experineced let downs in the past, and are slightly jaded by them. In particular, the MOD TOOLS and editing the game itself, was promised in the beginning, and we only recieved the Developer EXE and the Particle Forge. This is where FourAces is referring too. He has also had private talks with the developers regarding modding in general, so he has some knowledge to what he it talking about.

All this being said, I, nor the team, are in no way on a "high horse", and I also hope that no one thinks this way. We would be no where except another game if it was not for SINS coming to gaming, and for Ironclad developing it. I only hope that together we can reach a solution, and possibll a recoding, of these hardcoded limits.

I really appreciate everyone's help and voice here, including my partners FourAces and Spardason21, and awesome people such as Annatar. Hopefully, we will get this thing solved together.

DANMAN
Reply #33 Top
Whats funny is that the devs can't even do an expansion without incraseing the sound limit (unless there is very little new ships, weapons, dialoge etc and if that is the case, what kind of expack will it be?).

Personaly I really want there to be at least 5 diffrent strike craft per ship supported.
Reply #34 Top
Whats funny is that the devs can't even do an expansion without incraseing the sound limit (unless there is very little new ships, weapons, dialoge etc and if that is the case, what kind of expack will it be?).Personaly I really want there to be at least 5 diffrent strike craft per ship supported.


I totally agree. They need to change all this for an expansion, or they will have the same problems we are.

And yes, more strike craft would be great.

DANMAN
Reply #35 Top
FourAces, Annatar, DANMAN, all of you are right.

FourAces: If it is a $50 expansion with same modding potential or 7 Deadly Sins as it is now, my money stays in my wallet. That being said, I certainly hope the inevitable expansion has seriously expanded modding potential so that it and a bigger and better 7 Deadly Sins can peacefully coexist.

Annatar: While you certainly are right about FourAces going a bit overboard, the fact is a lot of people on these forums are angry about the very strict hardcodes built into Sins of a Solar Empire. A lot of mods are getting close or are AT that limit already, The Last Stand and 7 Deadly Sins being two. And if the expansion is worth the price, I will buy it. And, removal of some of the hardcoded limits will be a major factor for me.

DANMAN: Concise, to the point, and correct. I personally bought Sins of a Solar Empire before I knew of its modding potential, however I have to agree that a game with mods will in the long run outsell a game without, because mods add that oh-so-special feature called "replayability", without which games are doomed to die out. And we certainly could use the actual MOD TOOLS, not just a BETA consisting of reference files and some fancy tools.

Long story short: Sins of a Solar Empire is one of THE best games out there, period, mainly because it is the only RT4X in existence. Sins of a Solar Empire is Sins of a Solar Empire. About the modding: it's like a pile of whipped cream covered with cherries. It may not make the game, but it certainly can't hurt to have.
+1 Loading…
Reply #36 Top
Annatar: While you certainly are right about FourAces going a bit overboard, the fact is a lot of people on these forums are angry about the very strict hardcodes built into Sins of a Solar Empire.


And I'm one of them. Well, I wouldn't say 'angry' per se, but it's one of the reasons I stopped actively modding. For me, it was the limited ability scripting that laid the final blow - as strange as it sounds, because ability scripting is actually the most developed and robust at a glance, and then you realize you can't even make a specific weapon fire faster on a ship that has 3 :P

Also, mods are the reason why some players pick the game back off of the shelf, and play it again. I personally am not saying the 7DS is the reason why people buy or play the game, what I am saying is that the mods sure do help, and I think that is what FourAces is saying as well.


And I'll never contest this ;) Popular mods always help rather than hurt, and they do extend the lifetime of the game.

But the point I was trying to make is that it's very unreasonable to expect the developers to build an expansion around compatibility with any particular mod. As mentioned, the engine for the expansion will have to be re-written. If nothing else, it will probably have to include some sort of event scripting to make the campaign. And, as I mentioned earlier, the devs have been aware of the modders' grievances with the hardcoded limits for a long time ;)
Reply #37 Top
Since the quotes are not working currently...
Annatar11: "The majority of Sins players never even visit the forums to know about the mod..."

Really, then where does Member No.3,130,426 come from? If there are 3 Million members on this forum then there must be quite a few people that know about the mods. Even if it is a fraction of that number (I believe it is up to around 3.5M now) that know about 7 Sins that is still in the hundreds of thousands.

As to the number of downloads, I will confess to being unaware of these stats as this is not something I deal with. Of course that also assumes that everyone that is interested in the mod is fully updated, or that the only location for downloading is Filefront.

Assuming that those things are true, I was using 7 Sins improperly as an analogy for the other mods, and I apologize. I did not want to speak on behalf of the other mod teams, but thought that it would be obvious that I was not assuming that we are the only thing out there. Any large mod will likewise be useless after the expansion given the very limited size of the string file. There are many other mods, that are probably getting close to this string limit themselves, and to think that together they will not impact sales of the expansion is not realistic. Consider all the mods that we do not even know about in the myriad of languages, in all the countries, and it gets even worse.

Basically I pointed out that the string limit could be much easier to fix than the engine itself, and even the loss of a few thousand expansion packs (at least) should make it cost effective to do so.

Reply #38 Top
Really, then where does Member No.3,130,426 come from?


This forum is part of Stardock's network of forums, which include all of their games, all of their software, WinCustomize, JoeUser, etc. These are not 3 million people on the Sins forums alone.

But yes, as it is in any game, the vast majority of the players never actually visit the forums. The mods gain popularity and exposure among those who do, and thus the majority of players don't know about them (there are still people playing v1.0! There was a post recently asking if he should update..)

So it is important to look at it from the perspective that, for the most part, only the people who look for mods are aware of their existance. And yes, among our little chunk of the overall Sins player base, mods like 7DS, Wild's, Bailknight's and a handful of others are very popular - but that is still a pretty small part overall.
+1 Loading…
Reply #39 Top
Sidestepping all the intelligent modding talk I am starting to see here, I just wanted to send a brief message to the developers of Sins: It's damn important that you at least do something to offset the hurt we, the modders and players alike, are experiencing with this current issue. The mod 7DS is among the best I have seen and it certainly adds a whole new dimension of playability to the otherwise lacking experience one might get as they play the original Sins. Remember, the modders add new functionality and features to a game, but the game is what makes that possible, and you as the devs have yourselves to thank. If you feel that nothing can be done to the original Sins game in terms of eliminating some of these hardcode issues modders are encountering, then I urge you to improve upon the engine in the future expansion pack. I think I speak for everyone here when I say that Sins has been an unforgettable experience in its original state, and that experience is only compounded many more times with mods as legendary as 7 deadly sins. A little more elbow grease to make our wishes become reality would be greatly appreciated.

Sincerely,

-StoPosto
Reply #40 Top
Currently working on 7 Deadly Sins 2.0 beta with GalaxyScenarioDef.galaxyScenarioDef and writing in some new textual changes to description for certain races to be revealed.

STRING FILE - This is perhaps tha biggest limit, as it limits the mods as a whole, and I reached this limit today. The limit for the ENGLISH STRING file is 5746. After this, the game will no longer reference the structure, ship, tech, planet, etc. And if you mouse over that particular new item, the game will dump. I have tried over and over, and this is it. The String file IS hardcoded with a limit of 5746.

Current Value from English.str as of most recent 7DS 2.0 beta:
TXT
NumStrings 5690
(56 stringinfo slots remaining)
With so few entries remaining, new races will be forced to use existing TEC/PHASE/PSI string entries, counterdesc just won't cover them. At least 5 new races are coming which will push the hardcode limit to the very max leaving nothing for additional races to use.
I don't know all the in's and out's of the English.str file, but unless the hardcode limit is bumped to ... say 25,000 just to be on the safe side, things are going to get ugly. /gets out the virtual scalpel
Cutting out to get more stringinfo slots:
1. Reduce the number of "IDS_STARNAME_###" will as well free some. We don't need 210 stars when we can custom name them in GalaxyForge. We can free up at least 150 entries by rewriting if we have to at the expense of maps with 60 stars having unique names -but not even I have made a map with 60 stars (yet).
2. "IDS_PLANETNAME_###" -upto 390 of these, but hell, I've made maps with 582 planetary objects... but can dump 190 of them giving us another 200. Just means randomgenerated maps with more than 200 planets might have issues.
3. 45 TECH/PHASE/PSI capitalship names... lolz. Only 25 needed per race so we can rip another 60 slots for our purposes.
4. We might be able to rip out some of the "Taunts" to give us maybe 50 entries to use. I don't need to read "OMFG, NOOB, All your base are belong to us" or another AiSmackTard attempt when they phase to my worlds, I see the infocard flash and sick ships on them. :)
-the danger with cutting stuff is that it might totally die, not a pleasant thought.

Every new Ability, Research, Buff, Frigate/Cruiser/Capital, Structure requires an entry in the English.str file. 56 entries are not enough to cover unless we rip hell out of the file and get 320 from star names, planet names, and capitalship names, but 320 won't be enough and You (IRONCLAD) probably don't like the idea of us doing it any more than we would.
Bump max value of the the String file to a limit of 25,000.
Even if You, IRONCLAD, want to include new things for TECH,PHASE,PSI like 3 new frigs, 2 cruisers, 2 capitals, that's 21 stringinfo. If you make new abilities, 3 per race you're looking at another 9... anything new eats up stringinfo, so why not bump the hardcode limit to 25,000. Gives us all some elbow room.

Now, about the GalaxyScenarioDef file...
I'm working to get 3 additional races added completely, this means "planetItemType" entries galore, roughly 31-34 per race (vanilla included) and the potential for many more "planetItemsTemplate" -I've made 6 new ones for future possibilities.
This has bumped the "planetItemTypeCount" to 244 and "planetItemsTemplateCount" to 33, I don't know if there is a hardcode limit for stuff in the GalaxyScenarioDef file, but I'd like to know if there is one and what that limit is.

What limits exist regarding GalaxyScenarioDef.galaxyScenarioDef?
Is there a KB sizelimit? Mine is at 100KB now compared to the 40KB vanilla.
starTypeCount limit? 8 atm
planetTypeCount limit? 49 atm though there will probably be new planets and groups added.
orbitBodyTypeCount limit? 53 now but will grow with new planets.
planetItemTypeCount limit? I've got 244 in atm covering 7 races, averages 34 per race.
playerTypeCount limit? can't give out the number of races atm. sorry. Plan for 100 to be safe.
planetItemsTemplateCount? can't give out number for this either right now. I'll probably want to put in at least 100-200 more, is that a problem?

***
The main issue is the English.str file limit. Each new and unique (not just piggybacking other races desc/counterdesc stuff) ship/structure needs stringinfo entires, name/description/counterdescription(optional) at the least, to work properly.
25,000 should do everyone very well, but why not 100,000 just so nobody is back here in 6 months asking for another 25k stringinfo slots.
The other option of gutting the file .. I personally hate that one.

I'm asking about GalaxyScenarioDef only because I like map making and the ability to put down any ship and structure available wherever desired, which is why there are 244 planetItemType entries (includes Tech/Phase/Psi). If there are limits for GalaxyScenarioDef "COUNT" , I'd like to know them and like them to have at least 2 zeros added.

Also, is there a vertice limit with models?

Sounds: 1100 seems like a lot, but 7DS is probably pretty close to the limit if not over. 11000 seems better, was probably just a typo that the extra zero was left off.

Weapon limit... sure, gives some definition of what race uses what stuff, but we like tinkering with stuff and some of it turns out damn righteously cool.

Ability Limit: 4 keeps them from being ridiculously "endowed" like a "Smiling Bob" capital ship, but those 4 abilities on a capital are usually the really powerful ones. Having the limit at 8 will give the freedom to put additional stuff on them.

Please IRONCLAD, we won't disappoint you if you bump up the limits by a LOT.  :CONGRAT: 
Reply #41 Top
But the point I was trying to make is that it's very unreasonable to expect the developers to build an expansion around compatibility with any particular mod. As mentioned, the engine for the expansion will have to be re-written. If nothing else, it will probably have to include some sort of event scripting to make the campaign. And, as I mentioned earlier, the devs have been aware of the modders' grievances with the hardcoded limits for a long time.


All I wanted was increased modding capability. Period. Removal, or at least a MASSIVE increase in the hardcode limits (I'm looking at you 3 weapon limit. I want guns, guns, and more guns on my ships).


Basically, I want every roadblock in the way of modding REMOVED!
Reply #42 Top
This forum is part of Stardock's network of forums, which include all of their games, all of their software, WinCustomize, JoeUser, etc. These are not 3 million people on the Sins forums alone.


Oh, I thought that since this is an IC forum, registered to Blair, that IC was running it. Since they do not have anything else (like the forums mentioned for Stardock), I thought it was a good indication of the number of players. After taking a look at the sum of downloads for their patches, I can see a much more accurate number of true players vs. people who just bought the pretty box.

Reply #43 Top
Not into modding games, but is there a way to link out of the string file? I am just wondering about this. No way to link to other files like you can in other codes?

I definitely would love to see 2.0 by the way. Love the earlier iterations of Seven Deadly Sins.

Please Ironclad...Danman did you service by creating such an epic mod it got featured in a magazine! Free publicity for you, reward Danman a tincy-wincy bit, and he will reward all of us in return.

Besides 5746 strings seems like such an arbitrary limit. Anyone else agree? Why 5746? Why not 4096 or something in relation to bytes? Is it a memory issue?
Reply #44 Top
i also have lots of trouble with this hardcoded limitations, for example:
i tried to make a simple ability that recharges the antimatter of my support ship.
sounds simple? yes, but to check if the animatterstore is allready full i have to target something an i cant spezificaly target "Self" and i have to say its absolutely painfull to get it to work. i finaly found a workaround(after 8 hours of trial&error) but for something so "simple" its horrible.

so u got my vote for getting ridd of this hardcode-limits.
Reply #45 Top
Not a modder (but I luv playin um); just a 15 yr veteran of the PC gaming industry and I believe mods like those in development for SOSE will give this game long-term staying power as well as expand the potential market for an expansion and the inevitable SOSE 2. I don't expect the developers to bend over backwards and touch their noses to the floor BUT a little assistence re HardCode limits would go a long way in ensuring the durability of an otherwise great game. Just my 2 cents.
Reply #46 Top
I would have never expected such a hard limit on string file length. It really is a shame and definitely will hurt modding efforts in the long run.

I can only imagine how much trouble that limit will cause a massive mod project like 7DS in the long run. The SG Ancients mod I created uses 153 unique entries alone and does not contain custom strings for everything (no counter descriptions for instance) that could use one. If Danman were to add the Ancients to 7DS, it would use nearly a third of the available string space all by itself.

The work I had done so far on a Wraith race has already hit the 192 count and still requires quite a bit of tech tree work (and also doesn't use unique counter descriptions). I would expect it to weigh in around 250 entries at least when all was said and done.

Just looking at those numbers alone, even a not so massive mod such as the Stargate Invasion TC mod may well run into the string file limit if it does not resort to cannibalizing or otherwise altering existing vanilla string entries.

While I fully appreciate the woes developers have in moddability vs engine limits, the expansion of limits where possible gets my whole-hearted appreciation. In particular, dramatically increasing the string file limit is critical to the modding and long term viability of SoaSE.

Regards,
-dolynick
Reply #47 Top
Myself and the rest of the SGI team are behind this 100%
Reply #48 Top
To everyone:
I want to thank you for ALL your support here. I was hoping for this kind of response, and I am glad you are all behind me. I know there are different opinions sometimes between us, but I think you will all agree that we need the limits changed or removed, especially the String file limit. This is what broke my mod. Everything else is just a pain, but putting a limit on the actual number of new items, entities and such is just wrong. I certaintly hope SOMEONE from Ironclad notices this post, although I wonder if they are all on vacation or something. I have sent them several emails over the past few days, with no response at all. Actually, their lack of absence from this thread really has me wondering if they are paying attention at all. I certainly hope they are....
We love this gave, and we only want to make it better.

Thank you again, EVERYONE, for all your support. Hopefully, we will keep this thread growing in numbers, as a petition of sorts. With one voice, all saying the same thing, hopefully the developers will listen, and help us.

DANMAN
Reply #49 Top
DANMAN3712, i read this entire forum and thought to myself, why wouldn't Iron Clad respond, then it occured to me, they most likely saw your emails, read them and are either too busy working on the upcoming patch or trying to figure a way to expand / break the hard limits, that of course being the brightside to the current situation.

But hey no worries, they'll respond in time, like i said, there most likely very busy, and im prayin that they are workin on a way to break the limits for an upcoming patch or trying to fit it in this next one.
Reply #50 Top
Hardcodes = X-(