The Hard Code Problem

An example of how Hard Coding can kill a mod, and what we can do about it.

Hardcoding has caused some serious problems for Sins mods. Unfortunetly most of us were unaware of these difficulties until we came upon them in our projects. There is no documentation to show what we can, or can not change.

The SoA 2 mod is being affected badly by some of these hard code issues. Other mods are being affected as well. Like the Star Wars mod, The BSG mod, etc. etc. The problem is mainly in Total Conversion mods. Where game mechanics must be changed in order to represent the IP being modded. Other mods like re-balance mods, and/or graphic enhancement mods are not affected by these issues. Only Total Conversion mods.

I will have to stop work on my SoA 2 mod. Unless some of these hard coded restrictions are lifted, or a viable way to work around then is found. It will be a shame to do that because much effort went into making the mod as it stands now.

Sins is an easy engine to import models, and other artwork, but that is pretty much all you can do with it. You can change the artwork, but not the mechanics of the game itself. Only what already exsists. So all you are doing is just making a "skin" of someone elses game. There are way too many hard coded restrictions in Sins to make a believeable Total Conversion mod. What good is importing pretty ships if you cant control the weapons firing arc, and you have weapons firing through their own hulls? Or you are unable to make a proper cloak because of hardcoded restrictions, and no matter how you try to work around it you meet with failure, and CTD's. Or all ships come to a screeching halt to slug it out, because that too is hard coded. Why are there "to hit" buffs and debuff's if nothing moves during a fight? lets not get into the hardcoded phase lanes, or single planet per gravity well issue. These are some examples of the issues at hand. Again most modders are unaware of these issues until they stumble upon them themselves, or read about others who stumble upon them.

Dont get me wrong Sins is a great game, and i would not have spent my money, all this time, and put all this effort into Modding Sins it if it wasnt. I am just frustraited to the point to where there is no point anymore. Other people are too.

 

A Total Conversion mod should NOT be a sloppy jury rigged mod that totally trashes the IP you are modding. Be it an established IP like Star Trek, or Star Wars, or something of your own creation, because of these hard code issues.

NOTE: This topic has been edited. This is a community problem. The Title, and OP has been changed to reflect that. My goal is to promote awareness, and education of the modding issues at hand, and to find civil ways of resolving them. So mods like SoA 2, BSG, Star Wars, Etc. dont die. All are welcome to discuss this.

38,536 views 88 replies
Reply #1 Top

im sorry to hear that.

Reply #2 Top

Sad to hear. Several good projects have already died due to the limitations. Additionally they have been the major cause for the near stopping of the BSG mod so I feel your pain. Lets hope in future updates that many of the limitations are removed.

Reply #3 Top

   Hello Major Stress thank you for your hard work and all the free time you spent to make SOA 2,good luck on your next project,hope it all works out.

Reply #4 Top

I just can't belive it and you were doing so well :(

I am gonna cry :'(   no seriusly:'( :'(

Reply #5 Top

For this I must declare Shenanigans against the Sins devs!

Reply #6 Top

Nooooooooooooo :(

 

Are you reading this Devs? This means you need to remove limitations or modding will die for sins.

Reply #7 Top

No it won't, however, I must say I understand Major Stress. Working with an established IP means that you have much less room to maneuver and adjust to the limitations of the game engine... Star Wars ships just sit there and duke it out, but we all know Star Trek is a whole different ballgame. So I can see how that would present a major immersion buster for any trek fan, having ships just stand there and duke it out, or Romulan warbirds which can't really fly cloaked. I was a bit surprised to learn that the inability to control firing arcs is also a problem since Trek ships have a very convenient lack of prominent gun barrels and turrets, but I guess it ended up as just one of those unfortunate combinations of specific ship geometry and engine limitations.

Sorry to see you go Major Stress, your work on SoA 2 mod has been top-notch.  Good luck with your future endeavours!

Reply #8 Top

I am not going anywhere. I will still be an active member of the Sins community Beta testing, Answering questions, and Posting topics. I'll even help other aspiring modders out. I like this game to damn much to abandon it.

I just lost interest in SoA 2 is all, because of the hard code limitations. Im not even sure if i am motivated enough to release 0.03 since nothing has really changed other than a few more ships were added. The hard code problems remain.

Trek weapons rely on specific firing arcs, and yes due to the geometry of some trek ships the general arcs in sins can prove problematic. The problem really stands out on the Galaxy, and Sovereign class's. There is no way to fix it, and it stands out too much to ignore.

I am hoping that the dev's read this, and see that even the most "professional" of modders will have trouble with Sins. Changing the artwork is one thing, but modders need to change much more than just artwork. They need to be able to create their own game mechanics. Without the vanilla game code interfereing. Games like the Quake series dont have this problem. They were made with full conversion mods in mind.

I must admit i accomplished more with Sins than i could ever do with Homeworld 2. Sins got some things right. It just needs to open the door just a little bit more.

 

Reply #9 Top

hey Stress, try talking to the Devs of the Dawn Of Victory mod. From what i have heard they have actually circumvented some of the hardcoded issues that you are stuck with. perhaps they can help resolve this issue

Reply #10 Top

Failure is not logical.....:fuzzy:

Resistance is fuitlie..................:borg:

 

No, seriously... I totally uderstand Major Stress & I will support all of your decisions, though I must admit, I did get a terrible sinking feeling in my stomach when I read this thread.  I do understand though & I would agree, in that I hope for some of these issues to be cleared up in future updates.

Thank you for bringing trek back into my life & my gaming Major Stress, it has been an absolute joy playing with your mod.  Even with its setbacks & limitations, and I personally look forward to seeing any work you do whether it is for this game or any other.

Live Long and Prosper.....:digichet:

 

Adm. Cobbs

Reply #11 Top

Where can we follow your new work at?

Reply #12 Top

ManSh00ter:

What I mean is that the more we hear news like this, the less of a chance of fully-fledged mod like SOA 2 muturing, because of the restrictions imposed.

Also, Established IP, SINS is a new IP, not an Established one, Established one would be like Age of Empires, Empire Earth series.... (which are also hard to mod lol now).

 

Reply #13 Top

Shame to hear - I guess this just leaves Star Trek Online...

Reply #14 Top

FrznMD, by established IP I meant Star Trek.

Reply #15 Top

What Manshooter is saying is true.  Trek is an established IP with its own set of "rules", and though it is work of  fiction has its own set of "stats". Everything has to function a certain way. Some things need to function for example the cloak. I think i can speak for everyone that most "professional" trek games fall way short when it comes to following the IP's own set of rules, or satisfying the fans hunger for attention to detail. This is why i chose to mod trek instead of creating my own IP which i am more than capable of doing.

Many trek games lately seem "dumbed down" and childish. Armada, and Legacy are two examples. ST:Online is looking that way too. Bridge commander while a somewhat good game (after some annoyances are modded out) also falls into the "childish" catagory. What i mean is there is not much "thinking" involved. Just go out, and shoot the space thugs, and save the day.. oooooh, ahhh. Yawn. There is no "science" left in this science fiction anymore. No exploration, diplomacy, etc. etc. Just go out there, and blow shit up.

Not one single Trek RTS, or Empire Builder exists. BOTF, and Dominion Wars can be considered 4x but again they fall short, and fail.

The best trek games i have played were Starfleet Command, and Klingon Academy. They were good because they paid attention to the details. They were not dumbed down. In fact they had a high learning curve. Though in SFC you fought on a 2d plain, because that game was adapted from an uber geek board game.

Our point with the original SoA mod, and SoA 2 was that a complex trek game could be possible that will also be enjoyable. I felt sins was the perfect engine because of its 4x elements. I way underestimated the hardcoded mechanics, and thought i could find a way to work around them. The more i would try to work around an issue. The more new issues would arise.

Adapting Treks "rules" into Sins is very difficult if not impossible to do in the Sins present state. How many would accept a Romulan, or Klingon faction that cant cloak? I can safely say no one would. In sins cloaking can not be done. I have not found a way to make it work.

The movement is hardcoded. In trek most if not all of the ships had to manuever somewhat during combat to face its strongest shields, and best weapons. In sins that aint gonna happen. While for some big ships that may be acceptable, but not for small ships like the Defiant, or B'Rel. All ships come to a screeching halt to fight. All attempts to make them manuever met with failure. Even the assistance from other mods did not work. All of the ships come to a screeching halt to fight. Unless the fighters movement can be coded into the ships themselves thats how it will remain.

The weapons on Trek ships while they look simple enough, are quite the opposite. Each ship has an established set of weapons. Each ship has an established set of weapon stats. The Sovereign (nemesis refit) for example has 18 Phasers , 8 torpedo launchers, and one quantum launcher. Most of the 18 points are spread out throughout the saucer section. With the hardcoded "general" firing arcs of front, back, left , and right. I had to chose carefully what point fired where, and it still resulted in many weapons firing through the hull of the ship, because you cant narrow down the firing arcs to prevent this. The Galaxy/Venture you have already seen what i mean. It has 12-14 points. Some points on the right side fire to the left when a ship drifts through the firing arcs. It is very disturbing to watch. I have said to try to ignore that annoyance, but why? Why cant we control the firing arcs in this game when in other games like Homeworld we can?

There is much more that i wont get into, but im sure most of the modders already know about those.

Believe me i do not want to give this up. I am just at a loss on how to make it work. If i continue then all i am doing is importing Trek IP onto Sins hardcoded mechanics. That just is not going to work.

This is what i may do my next project on, and hopefully without any hard coded brick walls

http://www.nanofx-evolved.com/

Reply #16 Top

I know exactly where you are coming from Major Stress, you got a damn site further than most with your work and posted some of the best pointers/guide posts too.

That new project looks interesting I might take a closer look myself.

Reply #17 Top

Yeah I was confused was SINS IP and Trek IP :)

 

But anyway, the main reason I come here is to see the major mods (Startrek, Stargate, etc), so I also want to see the restrictions lifted.

 

Reply #18 Top

MajorStress,

This is the reason why I almost quit.  The hardcodes are mod breaking, and frustrating as we both know.  To see you quit in this project is a huge blow to the modding community.  It would an honor and my pleasure to keep your mod going in your absence, at least until the day that the developers can hopefully write in the game enginge coding that will allow things like ship movement to be modded.

I also wanted to let you know that I have benn successful in making more that one planet per gravity well, so that you can have 2 or more planets per grav well.  Although it is not perfect, it does in fact work.

Also, I would be happy to lend any help I can.  I know we have tried to get the ships to work recently, but I will continue to pursue this and try to make it work.  You will be the first to know if I make it happen.

Your new endeavor looks promising, especially with the physics demo video.  I look forward to seeing your new work.

 

Again, a huge blow.  You will be missed.  Hopefully things will change to allow you to continue your mission.

DANMAN

Reply #19 Top

I agree whole-heartedly with Danman,

This was a tough blow to take.  But I would like to say something & I dont want it to sound like I am pleading for the mod's survival, but I still need to say it...

Taking into consideration the last decade of Trek Gaming both in actual game releases & mods I can safely say, (at least for myself) that this mod has been the best trek game I have ever played.  Even the limitations that you cant seem to correct or ignore have not stopped it from being the most enjoyable ST mod I have ever played.  I am sure many others would agree with me too & I completely understand wanting to set it aside due to these issues, but imho, those issues only prevent it from being the "Perfect Trek Game" they do not however, make it unplayable.  If one were to compare this mod side by side with Legacy, I would choose SoA2 anyday!!

But I am also aware of the difference of perspective between those who play a mod & the ones who have to make it.  (I currently have made 4 succsessful mods for Battlefront 2 & ROTWK)  The difference often being that one simply gets overwhelmed with the task & its complexities.  And thats assuming that the game is fully moddable...lol.

What I am driving at here, is that you have, at least for myself, created the best Trek Mod/Game I have ever seen & I would hate to see all of that lost because the experiance wasnt as true as it could be.  Things like cloaking can be done, they just wont be perfect is all.  As an example, I have an ability for one of my ships called the "Fire-At-Will" ability.  This ability makes the weapon cooldown and range higher but lowers the ships speed and turning.  An ability could be created that would do just about anything to a ship to simulate being cloaked.  I.E. No weapons or shields and made to be invunerable... the only trick then would be to apply an invisible mesh.  The particle file that controls the current phase cloak for instance, I could copy the text that orders the ship to go transpearant and then place that on the cease fire power but make the cease fire power only effect that ship.  Ships with the cease fire invunerability still move and function they just dont attack & cant be attacked is all.  Then the ship would go half invisible & be unable to attack but able to still move around & also could not be destroyed until the ability ran down.

Now again, this wouldnt be perfect, but the game doesnt have to be perfect to be a great peice of work.  In any event, I would encourage you to not be dis-heartened by the games limitations, but instead to choose to celebrate what you have achieved already & what may still be possible for the mod both in the short and long terms.

Good luck in whatever you decide to do Major, & again I have to thank you for bringing the SOASE/Trek experiance as far as you have...

Sincerely,

Adm. Cobbs

Reply #20 Top

Jut a question - can't be attacked or can't be destroyed? Big difference. And another problem is when you have to apply an invisible mesh - as far as I know, it can't be done. Maybe you could apply a sort of transparent envelope (like shields) to try and give a visual cue that the ship is cloaked... too bad SoaSE doesn't have the "heat distortion" shader... man there would be lots of use for that.

See, now if I wanted to do something like this for the Xin race in my mod, I would simply adapt... let's say I would create a custom particle effect shrouding the ship in a black swirling vortex and simply call it something fancy like Dark Matter Envelope. Its easy. It gets a hell of a lot more difficult if you have to do it exactly as the canon says... that is, invisible ships which can fly but can't shoot.

However, I agree with those who say - don't try to be too perfect. Its a common trap I have fell into myself on occasion, for example when I spend two hours doing minute details on a texture only to remember that the ingame resolution is going to be too low for them to show! Keep in mind what gamers want as well as what you want from the mod and try to balance it. I am sure the majority of Trek fans would rather have an 80% accurate Star Trek mod for Sins than nothing at all.

Reply #21 Top

The Vasari buildings go invisible when being attacked, its called being phased out & it is the same thing that is applied to the ships during Warp/Phase Jump.  Applying that effect to a ship ability that still allows the ship to move should be simple enough.  The problem is that we removed the transperancy from the ships during warp, which also happens to be the same file used by the cloaking effect.  So as it stands right now in my test the ships should be going invisible, but arent because we removed the transperancy. 

At anyrate, it was an example of how some things could be worked around but wouldnt be "perfect" in the end.  I will continue to try & see if anything can be done with it...... if anything can be done at all.

Reply #22 Top

Part of the other reasons i am losing interest is because of the lack of any "real" help. Other than the 3rd party models, and some scripting help i have recieved from the community (which is greatly appreciated mind you), I have pretty much been a one man mod team. I have put out calls for help, but have recieved next to nothing in responce. I have stated that i am not a coder, and everything i have done in that area has been all trial, and error.

People do offer to help me, but i cant use anyone that has absolutely no modding skills at all. While others wish to wether be intentionally, or unintentionally take over the design process. I have had a specific vision for SoA 2 from day one. I am sticking with that vision. I beta tested this game with this mod in mind. The whole plan looked great on paper, but the brick walls kinda tossed a monkey wrench into it. Unfortunetly i didnt see this coming until now.

I totally understand, and i thought the same way that an "80%" mod is better than no mod at all. However you know as well as i do that trek fans are notoriously nit picky, and will settle for nothing less than perfection (though it is their own point of view what "perfection" is). 80% may be satisfied with the hard code limitations, but the other 20% will be filling the boards up with flame posts of how i ruined their little fanboy fantasy of what a perfect "trek" world is. Hell we already seen some of that in the demo posts.

All of that is irrelevent. The whole point of this topic is about education, and awareness. I tried not to let it seem like one big long rant, and i dont wish any flames to develop from this. I want the dev's read this, and to see that more must to be done to promote sins modding. Otherwise other projects will face the same problems, and limitations i am facing right now. This topic is more about promoting awareness than anything. Nothing can be done with the current game as it stands now. In order for the hard code limitations to be lifted the game code will have to be re-written, and we all know that will not happen in a patch. However there is a chance that one of the future expansions can open the door up and lift some of these hard code restrictions. In order for that to happen we must make it known that this is what we want. In a civil manor of course. We need the game mechanics itself opened up for change. To be able to create our own game mechanics. We are not asking to reveal the source code. The mechanics can be done separately without interfereing with the primary game code itself. it has been done many times on other games. We need more possibilities open up in modding.

I am still going to stop work after SoA 2 demo 0.03. Only because i am at a dead end with the mod, because of all these issues. If other mod projects wish to help me figure out how to get around these issues i am all ears, and i welcome the help. In return i can help with some of your modeling woes. I have already tried to help EvilJedi with the Star Wars mod models, and Wraith with his Homeworld models. However dont ask me to model anything for you. I dont have the free time to be doing any more modeling other than what ive done for SoA 2. I can give advise, and point out errors if i see them, and show you how to correct them. All ill need to see is an xsi scene. I already posted tutorials on texturing, and what the textures are supposed to do way back in the beginning. I am surprised they were never stickied..

Reply #23 Top

Well, all I know is I had no idea you're supposed to stick the Red channel in the Alpha of normal maps, so thank you for that one! :) Now all I have to do is fix the environment cubes to try and improve the lighting of a scene.

And I am fully behind any initiative to try and bring these issues to dev attention. I know not everything we wish for can be done, but some things can. And to be fair, the devs do listen, and they did lift certain hardcode limits, or at least gave us some room to maneuver in.

Though it would be nice to be able to make our own entity types, and not have to wait for mini-expansions to get, say, proper mines and starbases. Infact, this single issue, the inability to create entity types is probably at the root of most of our modding problems, from static ships to proper starbases and other stuff.

Reply #24 Top

Whats wrong with your enviroment cubes?

Reply #25 Top

And I am fully behind any initiative to try and bring these issues to dev attention. I know not everything we wish for can be done, but some things can. And to be fair, the devs do listen, and they did lift certain hardcode limits, or at least gave us some room to maneuver in.

Though it would be nice to be able to make our own entity types, and not have to wait for mini-expansions to get, say, proper mines and starbases. Infact, this single issue, the inability to create entity types is probably at the root of most of our modding problems, from static ships to proper starbases and other stuff.

End of quote

I hate to be the party pooper here, but from a realistic and coding perspective most of the things that are popularly asked for are basically can't happen at this point. They are possible, but it would be re-writing the game engine. Taking entity types as an example:

Currently, the game reads the entity type and it knows exactly what parameters that entity has. It's very structured this way: it knows what it wants, and it doesn't if it doesn't get what it wants. It's also tied into AI behavior. To make it so that we can add our own entity types would be a major re-coding of the engine, because now it will need to be dynamic and assume whatever is in there is what we want, and then try to figure out what to do with it.

In other words, think of every entity type as an object. Each of these objects is required to have certain properties for the game to work. The values and effects can be different, but it still needs to have them. Trying to create a new entity type can basically only be done at the root right now, the engine code itself - because it's not only defining what properties the entity has, but how the game behaves with it. This would require IC either to release the source code, which is a pretty major step that they probably aren't ready to take just yet, or re-code the entire engine to include entities as one of the modular objects that currently plug into the engine (ship files, planet files, research files, ability files, etc) instead of being at the core of it.

So yeah, being able to create our own entities would solve pretty much most of the problems, but it's highly unlikely to happen in the near future. From a purely programming perspective, it's a huge thing to ask for.