Providing utilities for modding Sins of a Solar Empire

Hello,


I am considering doing a small mod (I will explain that in a different post later), and I was wondering if anyone would be interested in modding utilities for Sins GameInfo data. I am a software engineer by profession with extensive training in GUI design, thus this should pose no problem.

The only other public example I have of my work is a utility I made to speed up game frame rates by eliminating unnecessary processes and services. It is called GameTime, and you can view information about it at http://chrisberthe.com/GameTime/

I do not wish to just design a utility for my own use, and thus I will only make it if I see there are other people who want it.

Are there any suggestions for/any need for such a utility. 

I am not an experienced modder for Sins of a Solar Empire, so I am not sure what people would want.

The only thing I can think of at the moment that would be useful is the ability to collapse/expand sections of an entity/event/etc text file. Sins GameInfo files use a Parent node -> Child node structure, thus this would make editing files a bit easier, in my opinion.

What do you folks think of that idea? Any other ideas?

Is there even a reason to bother?

-Ian

20,839 views 29 replies
Reply #1 Top

Sounds good.  Rapid, easy entity modding is a must-have for Sins, and would definitely make updating 1.05 mods for 1.12 much easier as well.

 

Also if you could redesign Particle Forge to show the actual in-game particle insted of a rough blocky image of the effect that would be great.

Reply #2 Top

I can certainly do the easy entity modding; however, if people are interested in that.

I can do the particle modding; however, I really hate graphics coding and I generally just don't like dealing with graphics because I am so bad at graphics design :P. I cannot even draw a straight line in real life, and apparently my handwriting looks like greek (it is English). So, unless it is really NECESSARY for faster development (and it just sounds like a graphical enhancement by how you put it), I want to avoid messing with graphics.

Reply #3 Top

I don't know how Particle Forge works exactly, but whenever I've tried to create particle effects with it I get a bunch of rectangles that somehow magically get smoothed out in Sins.  If there is a method for Particle Forge to display the in-game particle effects instead of the rectangles it currently uses, that would be great.  Although if you could make your own particle editor since Particle Forge currently resets all your settings to default whenever you use it, that would be nice too.

 

I think Ironclad needs to ask Kerberos for help on how to make a proper particle efitor.

Reply #4 Top

a quick and dirty tool that would be really helpful would be a utility that checks a mod directory for the files listed as changed in a new version (it would also need to check if entities types are modified in custom files) this would require the devs to give us a standard format for version changes, but that would be easy enough.

an icon image cutter would be really useful too, though I have been thinking of ideas of how to do it a lot simpler in excel with some vba scripting.

Reply #5 Top

"Although if you could make your own particle editor since Particle Forge currently resets all your settings to default whenever you use it, that would be nice too."

Hehe, I only have 30 minutes to 1 hour a day on the weekdays to work on this kind of stuff. I don't think I will have the time to make a complete particle editor. It doesn't help that I know absolutely nothing about particles.

Anyway, particles are 3D, right? And this editor is probably 2D, right? (I am guessing here, I have never used this editor!). If this is the case, then the distortion is probably because the particle is being converted between an x,y,z and x,y coordinate system. I am very much guessing here!

EvilleJedi: So you are asking for a utility that checks a currently installed mod against a mod that is about to be installed, for the purposes of patching? Or are you asking for a utility that checks a mod against the files changed in a new patch released by stardock? Both can be easily done, if there is, as you say, proper versioning of the files made available.

If there is a version number indicated somewhere inside the files (I cannot remember if there was) then this would be extraordinarily easy, and I would have no problem providing such a utility. However, if there is not, then the only way I can really tell is by checking the date modified tag, which will not always be an accurate method since people can edit the files themselves.

 

Reply #6 Top

I think Eville wants to be able to tell what files were changed and where.

 

Basically, it takes two folders, and compares their sizes and contents and displays their contents and sizes highlighting the different folders and files.  File size and date modified would be used for these.  Also integration with your entity editor for quick in-depth comparisions would be useful.

 

And no, Sins's editor is a full 3d renderer allowing rotation and movement in all three axes.  Its nice, it just resets all settings to default and has no ability to render particles like how they appear in-game.

Reply #7 Top

Okay, well, I will wait for Eville to give his input to make sure I understand exactly what he wants.

 

I can do the date modified comparison (you don't need a file size comparison, just date modified would suffice); however, I would like to use version comparison instead, because it is more reliable. Either way, it is certainly doable, and quite easy. I will do this as soon as Eville makes it clear to me exactly what he wants.

I will be making the GameInfo file editor for all text-based files that use a parent -> child node structure.

I am sorry, but I cannot make a particle editor at this time. I do not know anything about particles and I do not have the time to invest into learning how they work and how to render them. I am very inexperienced when it comes graphics.

So far, the planned utilties are the file editor and the file comparator.

You can contact me directly on MSN at [email protected]

or on my irc channel, #ruin on irc.gameradius.net

-Ian

Reply #8 Top

Yeah, I know the particle editor was too much.  And I don't think Sins has version numbers for its files.

Reply #9 Top

I will take a look.

I am sure you are correct, though.

I can do a date modified comparison, it's not a big problem. However, if the modified date gets messed up (some file packers do not properly restore file metadata), then the program could miss files that should be updated because they are old; however, due to metadata mismanagement, the file shows as newly modified (and perhaps even created), and is thus considered up-to-date.

This situation should not occur often. Most good file packers properly store metadata and restore it unpon unpacking.

Reply #10 Top

If you get blocky particles in the Forge, that probably means you either have a problem with your pipeline effect files, or you have sellected a wrong pipeline effect for that particular file type. Or there is a problem with your graphics card, some cards interpret alpha information differently.

Personally the only way I can get a blocky particle is if I use "Non-Additive" with .tga textures. Otherwise the particle forge works fine.

Reply #11 Top

Well there ya go! Looks likes particle forge is fine then :).

ManSh00ter, I have heard that you are quite a well known and skilled modder.

Any suggestions?

Reply #12 Top

Actually, if you could provide the modding community with a GUI editor for entity files, it would not only speed up the modding process, it would save a lot of headache for people like me who can juggle pwetty models and textures all day long but when it comes to coding... eh. I mean, y'know, I can do it... I'm just too damn lazy. And always make invisible typos. Its magical sometimes. Anyway, I have a large number of .entity files to do for abilities and such and I occasionally dream of checkboxes and drop-down lists... ;)

Reply #13 Top

Consider that done. I will get working on it relatively soon (maybe tonight, but I doubt it).

Do you think the ability to completly delete/add data items would be necessary? Or just edit existing ones.

Reply #14 Top

Making new entity files would be useful, and AFAIK adding/removing data items to the entity files would either do nothing or break Sins with a minidump as the result.

Reply #15 Top

Okay, well, making new entity requires that I also give the user the ability to add/remove items. All entity files are not identical in the types of settings they provide, even if the sub type (Ability files, for example), is the same.

Reply #16 Top

As far as I can tell, the .entity files all follow the same syntax structure - that is, they have a set number of required entry fields, of which some can be empty, but have to be present. Having the ability to assemble entirely new .entity files would be great - and I think it could be done simmilar to how the Particle Forge works - you have a set number of fields, some of which you can edit, some of which you can leave at default values, and the program assembles the correct text file for you. It would be more complex than that, of course, since if you want to make new .entity files, you probably would want to be able to make new abilities and buffs, each of which has their own set of parameters.

And that's the crux of the problem - at least for me, editing ship .entity files is not a hassle, since its just replacing existing stuff in Notepad. Making new abilities and buffs is what is the most time consuming and most prone to error, especially if you want to make new combinations of parameters and effects. So the program should really, I think, be a sort of an Ability Forge.

Reply #17 Top

Okay, well, I will work on editing first since it is easier. Right now I have to work on creating a new component that will allow for tree view and list view in one component. To do this I require the Windows SDK, which is 1.2 GB in size, and is downloading quite slowly. So, I will not be starting this tonight :P.

I the adding of new files following a template I can do just fine; however, given that I am very short on time, do not expect that feature to be present for quite a while.

Reply #18 Top

a quick and dirty tool that would be really helpful would be a utility that checks a mod directory for the files listed as changed in a new version (it would also need to check if entities types are modified in custom files) this would require the devs to give us a standard format for version changes, but that would be easy enough.
End of quote

Beyond Compare does just that, and allows you to very quickly move changes from one file to the other for quick updating.

Reply #19 Top

Well then I will just focus on the file parser.

Reply #20 Top

Beyond Compare isn't a free program.  There's only a 30-day trial for it.

Reply #21 Top

Can you modify the spore creature/ship editor for sims? But make it actually cool rather than cartoony?

 

LOL

 

In all seriousness, some of the proposals here are really good. What i'm doing right now is filling out tons of spreadsheets for all the ships and then I'll copy and paste that info into the actual entities. If I could use an easy ability forge or ship forge that would help immensely!

Reply #22 Top

Pufff..man, with the spreadsheet technique youll be done in no time once you start codding! What else do you want :) a mod is all about investing time and passion into what you do! If anyone could make a mod in 30 secs...game wouldnt be as cool!!

 

On the other side, I also fully agree with editors and all ;) 'cus if it can help other people..then it is a must :)

Reply #23 Top

I have an idea.

 

I am a coder, and I belive quite a good one.

I am currently working on a Pirate mod, the beta of which should be out soon as stardock uploades it.

 

I think an Entity edditor would be AWSOME!

 

Not one that can just make ships, but abilities as well.

 

Abilities are the hardest things to code and get right. Particles are a sinch in comparison (I do all my own particle effects)

 

the problem with abilities is not so much typos (thogh they are hard)

But STRUCTURE STRUCTURE STRUCTURE!!!

For example  the Modifier list here (https://forums.sinsofasolarempire.com/306405)  is great, but it doesn't explain what the structure is.

For example, an ability could have the line that says "passive" but what lines follow? If it requires resources, then thier must be a line defining the reasource cost following. Or if it uses Antimatter, thier are lines that define how much antimatter it uses.

Understand what I am saying?

It would be awsome to have a tool that simply has a series of lines asking you questions, depending on the question, you type in an answer, or you scroll through a list.

The program will ask you "What does the ability cost?"

you can answer "Passive" "Antimatter" or "Resources."

and if you pick "Antimatter"

A new series of questions comes up saying "how much antimatter for level one?" ect.....

 

Same thing for buffs.

Unfortunatly, this will be difficult as you will have to go though and figure out what the struture for every possible entry is.  And this would have to be updated every time Sins is.

 

One idea is to make it so a user of this program can add more modifiers if a new one is seen. Anouther idea, is have it so when the entity file (buff, ability, ect) is opened, the program checks to make sure the constrants match the current known constraints.

If they do not, the user has a few options, one of which is "Automaticly add new constraint" Which makes it eaisier on you, you can just start opening abilities and buffs and clicking "Automaitcly add new constraint" to add all the constraints!

Or you could be mean and make the user upload all the constraints.....

 

Reply #24 Top

Damn now thats a genius idea :)!

*Looks around himself...so whos up to try and get that program running? :) I would do it if I knew squat about programming :( (though i more than willing to learn)!

Reply #25 Top

the important part of a file comparison wouldn't be the actual diff portion, but actually telling me what IC actually changed (in fact we just need IC to give us a read only CVS stub, all problems solved, we could pull the diff ourselves. all this text file comparison is so clunky)

ability/buff editor would probably be the most useful, mainly because having a drop down selection for the different sections is vastly better than trying to ref the forums.