Major Stress Major Stress

The Hard Code Problem

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,541 views 88 replies
Reply #76 Top

YES...

   The SINS buff system can be considered a high level programming language (or a part of one, since you don't get to directly declare new variables or make new buff types)...  You get to stack the buffs in various ways to make new "code" which lets you do all sorts of different things that were unexpected by the developers, or even seemingly against the way a "buff system" works.

  As powerful as buffs are, they are really just combinatorics in a fancy suit (The numbers of things you can do are limited by the design of the system, although recursion makes it vastly more powerful).  A buff system really only needs a series of stacking modules, which can be done graphically, and without the potential for minidumps.  The Tree format of ParticleForge would work, and would eliminate typos, the main cause of minidumps.

   I don't suggest making a separate program for buffs, but instead if the alteration system were built into a future game, it would be so much cleaner, and picking/choosing details would allow for modified content to be mixed to a greater extent.

   I speak from experience, having made such a design for an artillery/tank game once.  Weapons were built up by stacking effects, which were applied in succession to the weapon-particles.  You could make multi-staged airstrikes that teleported your player during the bombardment.  It could do that "purple weapon" from Raidan II, it even had a randomize button, that scrambled all the weapon stacks with random info, making for instant unexpected content.   Modding it took minutes instead of months (recognizing the complexity of current modding though).  It was essentially the same as a buff system, except it applied events in a linked list to weapons particles, instead of to the entities in SINS, (likely stored in a linked list too).

   It's differences like those which make tampering with the core of an already released game a nasty can-o-worms...

 

 

Reply #77 Top

There were a great deal of good points and questions raised by this topic, given a reasonable ammount of time has gone by are we any closer to some answers?

Reply #78 Top

I really want about 50 races supported in the "Capitalship Name" area as only 3 are supported.  To see a BORG capitalship with the same name/designation as TEC/PSI/PHASE capitalships just puts me off.

Reply #79 Top

Quoting TFL, reply 2
There were a great deal of good points and questions raised by this topic, given a reasonable ammount of time has gone by are we any closer to some answers?
End of TFL's quote

There's nothing asked in this thread that hasn't been answered in multiple others. IC has a very long list of modding-related requests, but they have to decide what they can and can't do due to time, resource, and game performance constraints.

As kryo and Helioforge tried to explain, even though some things seem arbitrary there's a reason for why they are the way they are. :P

Reply #80 Top

I think the answer was given by Majorstress in the firsts pages we will all move to NanoFX GE (now NanoFX evolved) when it will be ready

Cause i just started my Andromeda mod and i can make almost evrything except game mechanic that are terribly wrong for any trie of mod

Reply #81 Top

I am not quite sure why size-limited data structures and hard coded classes exist in the game, to be honest. You are not just limited to either a linked list or an array. You can combine functionality to make a dictionary, or its subset, the hash table. With proper coding technique, a class can be made to grow or shrink in the amount of data it can hold very easily, and it will not consume a lot of time.

I was not aware of the size-limited data structures and hard coded classes in the game, since I am very new to modifying this game; however, I decided to put some thought into it, and it perplexes me.

Making things that are loaded once dynamic is not a hard or time consuming process. If done correctly, with the right data structures, it provides all the benefits of having something that is indexable and static, while allowing it to be resized. The downside is performance; however, this is a non-issue if these values are only being loaded on startup.

I must say that I am quite saddened that the coders did not use sizable & indexable data structures, as I thought this was common practice for modern programs, since you do not have to worry about memory usage quite as much as you did 10 years ago.

I do understand what I am talking about fully. My job is a developer, just like the developers of sins. Although I develop software for a completely different use, I still develop software. I have also programmed an operating system, a memory management system (as part of the operating system, of course), a file system, games, and so on. From experience, I can tell you that there is not a good excuse to use hard coded limits in a modern programming language on modern day computers. It does not take more development time, it is not harder.

After a lot of thought, I can only say that it was a poor decision.

-Ian

 

 

 

Reply #82 Top

Quoting Annatar11, reply 4


Quoting TFL BigBANGtheory,
reply 2
There were a great deal of good points and questions raised by this topic, given a reasonable ammount of time has gone by are we any closer to some answers?


There's nothing asked in this thread that hasn't been answered in multiple others. IC has a very long list of modding-related requests, but they have to decide what they can and can't do due to time, resource, and game performance constraints.

As kryo and Helioforge tried to explain, even though some things seem arbitrary there's a reason for why they are the way they are.
End of Annatar11's quote

I don't see any answers >_> , I see peoples opinions, I see people rephrasing the questions, I see people stating the obvious, what I dont see is tangible answers.

IC does have to decide what to do I agree, so decide already atleast on some level.

Reply #83 Top

Quoting TFL, reply 7

Quoting Annatar11, reply 4

Quoting TFL BigBANGtheory,
reply 2
There were a great deal of good points and questions raised by this topic, given a reasonable ammount of time has gone by are we any closer to some answers?


There's nothing asked in this thread that hasn't been answered in multiple others. IC has a very long list of modding-related requests, but they have to decide what they can and can't do due to time, resource, and game performance constraints.

As kryo and Helioforge tried to explain, even though some things seem arbitrary there's a reason for why they are the way they are.

I don't see any answers , I see peoples opinions, I see people rephrasing the questions, I see people stating the obvious, what I dont see is tangible answers.

IC does have to decide what to do I agree, so decide already atleast on some level.
End of TFL's quote

 

They did decide.  Entrenchment is the $9.99 answer to our prayers.

 

// end sarcasm

Reply #84 Top

...add complete bollox to the list as well

Reply #85 Top

Quoting TFL, reply 2
There were a great deal of good points and questions raised by this topic, given a reasonable ammount of time has gone by are we any closer to some answers?
End of TFL's quote

I don't see how you would be considering this sort of topic has been brought up again and again since April and the only thing we've got is "we support the modding community" rhetoric. Nobody should really assume at this point that anything more is going to be added except relatively minor relaxations which cost modders 10 bucks.

 

e: haha, just realized this is a month old, apologies for the necro, jan 1st != feb 1st

Reply #86 Top

well considering a few possibilities, what will become of this game engine when all is said and done? Honestly i am beginning to start to code my Robotech Mod (finally something from the 80s) and i am beginning to run into some of the hardcodes that MajorStress/Danman3712/ManSh00ter have all run into

Reply #87 Top

I dont know if it was mentioned here before, but i also ran into this hardcode problem,

since it seems not possible to add new variables to the planetbonus entities.

Also you cannot preselect names or races for a map ( you can setup it in the galaxy files but it is not used ingame).

 

I hope we get also an update for the forge tools and maybe some more flexibility

if the entrenchment final is out.

 

 

Reply #88 Top

what I want to see changed from hardcode is that all functions including jumping (could set what % of fleet before jumping), ai controls to be able to control from settings and then saved into a file which the game will call and read instead of being hardcoded