LoTeK_83 LoTeK_83

The Push for Higher Hardcode Limits

The Push for Higher Hardcode Limits

Hello Stardock and Ironclad!

We, the endless Sinners, the players of Sins of Solar Empire, the good ol' gamers, and the modding community as well would like to make our voices hear loudly in regard of a problem that is causing many headaches and stealing away many hours of sleep to some pious souls who daily bravely dare to undertake the task of creating really rockin' mods challenging the gorge of eternal patching.

Let this be told, in good and bad, we will always love ya...but all we wanted to say is:

"Push for more higher hardcode limits!!!"

Thank you,

Sinners! Sign this please.

 

 

46,290 views 78 replies
Reply #26 Top

A related but annoying issue is some of (I say "some of" because while I've encountered one so far, I'm sure there's more) the hardcode limits on strings. For example, go to the following string in English.str:

StringInfo
    ID "IDS_GAMEMESSAGE_PLAYERCAPITALSHIPLOSTDETAILS"
    Value "Intelligence reports the loss of the level %d %s near %s"

While many other strings can be edited, sometimes removing the variables, this one can't. In fact, if you try to edit this string to the following:

StringInfo
    ID "IDS_GAMEMESSAGE_PLAYERCAPITALSHIPLOSTDETAILS"
    Value "Intelligence reports the loss of %s near %s"

..the game will instantly crash with a dump upon destroying a capital ship. Since these sort of things usually happen with GameInfo, only Beyond Compare saved me from a lot of busywork - once I had used an old copy of my mod to sub the String directory in, it was narrowed down with some difficulty.

While the fact that certain variables are passed into these strings and removing them might be a little troublesome at least makes a little sense (although it's kind of stupid, because people should have the flexibility to edit these sort of things), interestingly there's another quirk. Even if you keep the variable but place it elsewhere in an attempt to obfuscate it:

StringInfo
    ID "IDS_GAMEMESSAGE_PLAYERCAPITALSHIPLOSTDETAILS"
    Value "Intelligence reports the loss of %s near %s (%d)"

The game will crash. This seems like a hard-code problem to me in the way these things are being passed, probably specific to this one string. I'm a pretty rudimentary programmer, but I assume a function is passing these things in order as a integer, then two strings (%d, %s, %s), and so when they're rearranged, the integer is being passed as a string, and (more importantly) the string is being passed as an integer, causing a crash. What's weird though is that this string seems to behave a lot weirder than any others in this respect, because a lot will let you remove %s or %d and function with no problems.

It's difficult to make mods intuitive when you can't stop them from blasting base strings, and it's more difficult when troubleshooting them is an hour of trial and error.

 

Reply #27 Top

Up Ze Limits before Ze Germans Come!

Reply #28 Top

I definately say up the hard code limits, however since they are enumerations it shouldn't be too hard to load them from a script at game start. Let modders break the game if they want to. (heck we break it all the time with poorly formatted entity files anyway :-p )

 

My current solution was to simply eliminate the entire stock game, entities, textures and meshes as much as possible. It solved the problem for me, but for mods that want to include the original races it is burdensome

Reply #29 Top

Actually, EvilleJedi has a great idea - the devs could maybe elliminate all kinds of "modders hitting the brick wall again" problems by simply making it possible to read at least major limitations from some sort of a configuration file which can be edited externally. If we then up the limits too much and the mod becomes unstable, then that's our problem, not theirs.

Reply #30 Top

Agreed. The extrernal option to increase limits seems to be the best way. I dont know how difficult it would be to re-write the game code to incorporate that feature. I am no programmer so i would be clueless.

Untill some kind of limit increase is done im rebuilding my mod in "compromise mode". Giving up many of the ideas i had before so as to not go over the limits.

Reply #31 Top
I am going ahead as planned... what else can I do? Hopefully the Episode I will be stable enough to be playable... I'd hate to have to "kill off" one of the vanilla races to make room for the Xin. Players are supposed to do that!
Reply #32 Top

The mesh and texture limits seem to be the most crucial.  I think the first post in the thread should be edited to specify exactly *what* limits we're talking about, because it's rather vague as-is.

Three cheers for upping the max number of textures & meshes!

Reply #34 Top

Quoting Major, reply 30
Agreed. The extrernal option to increase limits seems to be the best way.
End of Major's quote

Yes, very good idea...

 

Since we are speaking about external file, what about the AI rules in a external file too... the fact that AI is hardcoded don't allow us to change it... several mod have create new thing who work very good with human against human but once a AI is in game, it act like a idiot because the AI know nothing about the new thing...

AI moding will not be easy... i have a 20 year old strategy game and until today, people ( modders ) are always working on fine tune the AI... being able to mod AI in sins will allow a lot of new idea to be implemented...

 

Reply #35 Top

up the architecture!

so seriously...which one of you all was volunteering to help ironclad do a 64-bit build?

IC could up the hard limits but sins would just explode

Reply #36 Top

Quoting crashmatusow, reply 35
IC could up the hard limits but sins would just explode
End of crashmatusow's quote
I'm seeing alot of former modders from homeworld here so you really do want to let them have as much access as possible as they can do wonderous things given the chance. Homeworld was supposed to be unmoddable and to a pretty large extent it was but that didn't stop them from digging in and overcoming tremendous hurdles making some of the best mods to ever grace any space game then or now. =)

Reply #37 Top

Up, up and away!!!!

This game needs more expandability. Mods is what made games like Half-Life and Battlefield 1942 so popular. These days, Battlefield isn't as popular as it once was and that's because the developers of newer titles (Battlefield 2, 2142 etc) have limited modding alot more than it was in the original 1942 title.

Higher limits!

Reply #38 Top

well, it doesn't help that EA is essentially treating their customers as software pirates (CURSE YOU SECUROM!! CURSE YOU TO THE DEPTHS OF HADES!!! (no, I am not Greek)).

My ideal limits on the things I think need to get upped-

MaxWeaponTypes- 5 (come on, like anyone will think this is a bad thing?)

MaxSquadTypes- 5 (need to use up that last square. Why not have 5 squad types for a single ship?)

MaxNumBanks- 6. This may be a wierd one, but I think that Sins needs to have the option to have units with dorsal (UP) and ventral (DOWN) banks. That would be very useful for dynamic mods, and likely some others that are a more full 3d oriented design.

MaxNumFlairPoints- 50-100. I give that value as it really depends on what the devs decide will not cause gigantic amounts of lag.

Ability hardpoints- I think that they should let us put up to 20 hardpoints/ability, instead of 10.

That's all I can think of right now.

Oh wait, I just remembered what other ones I wanted-

MaxNumResearchTiers- 10-12. Right now it is 8.

MaxNumBuffLevels- this is the max level of an ability. For researchable abilities it should be able to go as high as the research (to a point, that point being probably 5-10 lvls). THIS IS NOT MEANT TO HAVE LVL6 GRG, CB, OR MB. It MUST be a researchable ability to get more than 3 levels.

Reply #39 Top

Quoting darkthunder, reply 37
These days, Battlefield isn't as popular as it once was and that's because the developers of newer titles (Battlefield 2, 2142 etc) have limited modding alot more than it was in the original 1942 title.
End of darkthunder's quote
Thats because EA's business model is based on cranking out 'new' games every year or even sooner to replace the perfectly fine 'old' game you were happily replaying with user made mods. For EA extending a games life with extensive mod support is bad for the bottom line if you don't buy all the 'new' sequels with marginal improvements and a few 'new' maps that are simply rehashes of everything they ever released before. I mean how many EA game have the same iwo jima map that has been around for ages? =S

Reply #40 Top

We are drifting off topic. Though you are right about EA.

I am a former Homeworld modder. I made HW dance with the 32 meg hardcoded texture limit. I made HW dance with poly counts unheard of in its day (2000 tri's was considered ridiculously high in the year 2000). I made HW dance with the hardcoded weapons and ship slots. I am making Sins dance now.

All i need is 400 extra mesh slots, and ill make Sins both Sing AND Dance!

 

 

 

Reply #41 Top

texture and mesh count are the big ones

weapons slots I would have originally argued were fine at 3, but after looking into what you can do with abilities with the onweaponfire events I'd say up the weapon count to 5 (at least 4)

squad types is pointless to increase unless we have more control over fighters, right now the only valid types are fighter, bomber and structure bomber, you can argue mines, but essentially fighters are not flexible enough in general to really justify more slots per ship on anything other than an art basis

abilities, I seriously want passive abilites, ones without UI components, I really want to be able to use incombat and not in combat to modify ship behavior

flairs need to be increased to allow for alpha texture details

ability points would not be a problem at all if we were able to use weapon points/banks as spawn points for abilities

abilities also need to be able to include/exclude specific ship names in their filter list

 

Reply #42 Top

Does anyone have a clear understanding hard walls are there?   Are the OS specific?  Hardware specific?  Some combination of both?  Has the community on average moved past them? 

Reply #43 Top

It's game specific from what I understand... has nothing to do with hardware or OS... IT IS JUST THE GAME plain and simple as a bug splattered on the window of your car

Reply #44 Top

Quoting bdarcher, reply 42
Does anyone have a clear understanding hard walls are there?   Are the OS specific?  Hardware specific?  Some combination of both?  Has the community on average moved past them? 
End of bdarcher's quote

No. They're not scaled to hardware. They're just values in the executable.

Reply #45 Top

yes, they are scaled to hardware/OS. the game's existing hard limits are designed to prevent the core game from running over the 2GB limit (which is a limitation of 32-bit processors)(which is why i made my previous post).

Reply #46 Top

2GM limit is an OS limit, not the processor limit. Windows XP have a little switch you can use to enable them to allocate more than 2GB of RAM to an application (if you have more than 2GB, of course), I use it myself.

Reply #47 Top

64 bit right now is still the exception. Not the rule. While we are seeing a transition. It is still going to be a while before 32 bit is phased out completely. Hard limits are set by the programmers in the software to prevent said program from using too many hardware resources (cpu/ram/video, and in some cases audio). Most games have hardcode limitations that prevent them from using too much of whatever the maximum available hardware is at the time the game is released.

Example Homeworld. The best video cards, and cpu's in 1999 were 3dfx 16 meg cards, and pentium 3 cpu's that just barely broke the 1 gig barrier. 2 gigs of ram was unheard of except in the most expensive alien ware box's, I think the best ram speed at the time was 266 mghz. Windows 98 had a hard time utilizing it all. So the programers set a hardcode texture limit of 32 megs (16 used by the video, and the other 16 used by system ram). Which was actually well above what the average users box had at the time. I had an athlon 600, with 512 megs of ram, and a voodoo 3 card. With an industrial art ISA slot 16 bit soundblaster card. Yea my box was smokin (major sarcasim intended) lol.

Of course todays box's my my old box a piece of art on the shelf. Still hard limits must be set to prevent programs from locking up, and/or crashing your system. However the purpose of upping the hardcode limit is to adapt to the new hardware changes that happen very quicky in the computer world, and keep the game playable on the newest of systems as well as the oldest.

Reply #48 Top

Where is that switch? how do you enable it? (forgive my computer ineptness).

Reply #49 Top

I'd like to know this as well... though I don't use 32 bit anymore since I upgraded to win 7 ulimate 64 bit... also... I figured someone would say something after I posted what I said... then again I'm no tech savvy person... cept when it comes to building computers.

Reply #50 Top

I'd like to know this as well... though I don't use 32 bit anymore since I upgraded to win 7 ulimate 64 bit... also... I figured someone would say something after I posted what I said... then again I'm no tech savvy person... cept when it comes to building computers.