Fractal Softworks Forum

Please login or register.

Login with username, password and session length
Advanced search  

News:

Starsector 0.9.1a is out! (05/10/19); Blog post: Skills and Story Points (07/08/19)

Pages: [1] 2 3 ... 9

Author Topic: [0.8][UTILITY] EZ Faction 0.6a  (Read 27846 times)

xenoargh

  • Admiral
  • *****
  • Posts: 4751
  • naively breaking things!
    • View Profile
[0.8][UTILITY] EZ Faction 0.6a
« on: May 27, 2017, 09:11:24 AM »


One of this mod's components requires LazyLib to operate.  If you don't have LazyLib installed, do so before running this mod.

This is a "utility" mod.  It does not interfere with the base game in any significant way.

What this does:  

This is a mod developed to make it much easier for non-coders to develop their own Factions.  Currently, Starsector's requirement for a Faction mod includes some fairly extensive knowledge of Java; I've decided that it's time to make this far easier for people who are primarily artists and designers, not coders.

EZ Faction:

A.  Builds customized planets with Markets, Conditions, Missions, etc., etc. for the Faction.
B.  Places them appropriately in the SS strategic map.
C.  Hooks them into the Economy.
D.  Gives them initial resources, etc., so that they're roughly functional, in terms of Stability.
E.  Allows non-coders an easy, intuitive way to define which Factions are "hated" or "loved" by the new Faction, so that they can participate in dynamic events, etc.

All of this with a very short text file that's pretty easy to understand.

How it works:

If you wish to build your own custom Faction using EZ Faction, you only need two things:

1.  A .faction file.
2.  A folder labeled "ezfaction" in your "data" directory, with an .ezfaction file in it.  

The .ezfaction file's contents are, hopefully, pretty self-explanatory.  The code does all the work behind the scenes; modders don't have to know any Java to make a Faction mod that works with 0.8 (and hopefully 8.1+).


Performance Note:  Until the performance of Markets can be improved, please try and limit your Faction to 5 or fewer colonies, per Alex!
« Last Edit: September 21, 2017, 08:33:58 AM by xenoargh »
Logged
Check out my SS projects :)

Ryxsen1421

  • Captain
  • ****
  • Posts: 277
    • View Profile
    • Facebook
    • Email
Re: [0.8][UTILITY] EZ Faction
« Reply #1 on: May 27, 2017, 09:51:31 AM »

I'd donate you some money if I could for this, thank you kindly for making this! I'm surely gonna give this a try and see if I can make a faction of my own without needing other's help.
Logged

xenoargh

  • Admiral
  • *****
  • Posts: 4751
  • naively breaking things!
    • View Profile
Re: [0.8][UTILITY] EZ Faction
« Reply #2 on: May 27, 2017, 09:55:46 AM »

Thank you for your kind words!  

I've always thought the game needed simplicity in this area; we've lost so many good mods over the years because of the base game changing; this is hopefully going to provide a good path forward.  I'll almost certainly maintain this for the community as SS gets closer to Done.

Anyhow, just look at the example mod and let me know if you run into problems; I know it passed testing here, but, well, it's Alpha :)
« Last Edit: May 27, 2017, 09:57:28 AM by xenoargh »
Logged
Check out my SS projects :)

Aklyon

  • Commander
  • ***
  • Posts: 192
    • View Profile
Re: [0.8][UTILITY] EZ Faction
« Reply #3 on: May 27, 2017, 10:19:01 AM »

Sounds pretty great!

xenoargh

  • Admiral
  • *****
  • Posts: 4751
  • naively breaking things!
    • View Profile
Re: [0.8][UTILITY] EZ Faction
« Reply #4 on: May 27, 2017, 10:20:29 AM »

Try it out, let me know if you have any problems :)
Logged
Check out my SS projects :)

Ryu116

  • Lieutenant
  • **
  • Posts: 56
    • View Profile
    • Email
Re: [0.8][UTILITY] EZ Faction
« Reply #5 on: May 27, 2017, 10:52:58 AM »

xenoargh,

This is genius idea!  Easier it is for modder to work with Starsector, the more mods we will see for Starsector.  More tools are made for Starsector modding community, the merrier!

Thank to you, when I get chance in near future, I might want to start modding starsector with your tools.  I was considering about making mods someday and noticed the many tools for modding starsector.  I am looking forward to modding starsector when I have enough free time someday.

Please keep going on with creating the utilities / tools for modding starsector!

:D
Logged

PyroFuzz

  • Lieutenant
  • **
  • Posts: 85
  • PyroFuzz? PyroFuzz.
    • View Profile
    • Email
Re: [0.8][UTILITY] EZ Faction
« Reply #6 on: May 27, 2017, 11:36:16 AM »

Dang this guy is amazing!
Logged
PyroFuzz

Alex

  • Administrator
  • Admiral
  • *****
  • Posts: 14939
    • View Profile
Re: [0.8][UTILITY] EZ Faction
« Reply #7 on: May 27, 2017, 12:09:53 PM »

This is very cool!

One thing I have a concern about: this makes it very easy for a mod, without meaning to or being aware of it, have a major performance impact on the game - by adding a lot of markets. To play nice with other mods, I'd say a mod should add somewhere between 1 and 5 markets total, with only bigger/more impactful mods being on the high end of that spectrum.

Some stuff in the economy is quadratic in the number of markets, and while the idea of a whole sector populated with markets is a neat one, it's just way outside of what the engine can currently support. My concern would be that people would do it anyway, and then run into all sorts of stability/memory/performance issues, without knowing what the culprit is, since it's so easy to just set the number of markets and not think twice about it.

I mean, this is a utility mod, so this isn't really its responsibility, but I can totally see it happening. If not a hard cap on the maximum market number, maybe a warning about it somewhere?
Logged

xenoargh

  • Admiral
  • *****
  • Posts: 4751
  • naively breaking things!
    • View Profile
Re: [0.8][UTILITY] EZ Faction
« Reply #8 on: May 27, 2017, 12:33:55 PM »

I hear you on that.

This has been a problem since 0.72 introduced Markets; we could see this clearly in Nexerelin, where there is plenty of CPU-chug if there are a bunch of Factions enabled.

About the only fixes I can think of are:

1.  Write a simpler Market implementation that eats a lot less CPU (which I don't know if it's even possible with the current API, and that's a little out-of-scope for this). 

Kind of tempting if I could spare the time, frankly.  I could also revive the code from Vacuum that vastly lowered the amount of CPU Fleets required by largely simulating their existence / interactions outside what the player could observe, which is the other load concern.

2.  Include the warning, hope for the best.

3.  Put a hard-coded cap into this of 5 Markets total (including hard-coded ones that already exist- I don't know whether you've tested this, but it works just fine with giving hard-coded Factions more locations).

However, I think it's going to be hard to convince people to limit their custom Factions to just 1-5 Markets, to be really honest, when the core Factions and several modded ones have considerably more.  I'm not sure I have time to implement no. 1 though, as I'm not even sure where to start right now.
Logged
Check out my SS projects :)

Alex

  • Administrator
  • Admiral
  • *****
  • Posts: 14939
    • View Profile
Re: [0.8][UTILITY] EZ Faction
« Reply #9 on: May 27, 2017, 12:43:16 PM »

I'm going to have another look at the economy - have some ideas that should make things drastically simpler, but we'll see. So I wouldn't spend too much time on it in your shoes.

A warning would be great - at least something to get the idea out there that hey, if you're running mods that add like 30+ markets in total, you're going to have a bad time.

Whether or not it's going to be hard to convince people... well, it's not exactly beside the point, but if they aren't convinced, things aren't going to work well, which seems considerably worse than people not being convinced, if you know what I mean :)


(including hard-coded ones that already exist- I don't know whether you've tested this, but it works just fine with giving hard-coded Factions more locations).

I'm not sure what you mean, could you elaborate?
Logged

xenoargh

  • Admiral
  • *****
  • Posts: 4751
  • naively breaking things!
    • View Profile
Re: [0.8][UTILITY] EZ Faction
« Reply #10 on: May 27, 2017, 12:47:43 PM »

Quote
could you elaborate?
Try copying explorer_society.ezfaction (from the tech demo) and re-labeling it pirates.ezfaction, then start a new game ;)

On the economy stuff; I'd much rather let you address that through official changes, to be frank; whatever I came up with would probably get broken (badly) and I'd be back to Maintenance Wars again, like I was with Vacuum, but if people were relying on it being maintained, well.
« Last Edit: May 27, 2017, 12:52:32 PM by xenoargh »
Logged
Check out my SS projects :)

Alex

  • Administrator
  • Admiral
  • *****
  • Posts: 14939
    • View Profile
Re: [0.8][UTILITY] EZ Faction
« Reply #11 on: May 27, 2017, 12:53:59 PM »

Quote
could you elaborate?
Try copying explorer_society.ezfaction (from the tech demo) and re-labeling it pirates.ezfaction, then start a new game ;)

Ahhh, gotcha. That's neat.
Logged

Ahne

  • Captain
  • ****
  • Posts: 322
    • View Profile
Re: [0.8][UTILITY] EZ Faction
« Reply #12 on: May 28, 2017, 10:00:49 AM »

Incredible work Xenoargh! This will help many people to actually get into modding and creating their own faction, maybe we will see some neat additions.

But please, people out there, dont underestimate the effort and time you have to put into a great faction mod even with such help from xeno.
Logged

Alex

  • Administrator
  • Admiral
  • *****
  • Posts: 14939
    • View Profile
Re: [0.8][UTILITY] EZ Faction
« Reply #13 on: May 28, 2017, 03:57:17 PM »

Hmm - gave this a try; wanted to test the impact of markets on performance etc. Mods enabled: lazylib, EZ faction, Explorer Society. New game starts, but I'm not seeing any populated systems aside from the vanilla core. What am I missing?
Logged

c plus one

  • Commander
  • ***
  • Posts: 145
  • 'Make Jumpgates Great Again'
    • View Profile
    • Email
Re: [0.8][UTILITY] EZ Faction
« Reply #14 on: May 28, 2017, 07:33:27 PM »

This is a mod developed to make it much easier for non-coders to develop their own Factions.  Currently, Starsector's requirement for a Faction mod includes some fairly extensive knowledge of Java; I've decided that it's time to make this far easier for people who are primarily artists and designers, not coders.

( -snip- )

The code does all the work behind the scenes; modders don't have to know any Java to make a Faction mod that works with 0.8 (and hopefully 8.1+).

I've always thought the game needed simplicity in this area; we've lost so many good mods over the years because of the base game changing; this is hopefully going to provide a good path forward.  I'll almost certainly maintain this for the community as SS gets closer to Done.

Xenoargh, thank you for what you have begun here and why you have begun it. Regarding your viewpoint about the need for simplicity, I strongly agree. The combination of steady long-term code churn through the beta *plus* the necessity of substantial experience with Java's dense and opaque innards has been a highly discouraging barrier to laypersons who aren't code mages.
Until now, it seems.  ;D

There are indeed numerous good, solid, enjoyable mods that have been discontinued and lost. "Maintenance Wars" are not fun. I hope that a new generation of successor mods will grace the player community and fill the void left by the absence of those fallen titans. Thanks again for EZ Faction.

Oh by the way: I really liked your old Vacuum mod! Rock on, buddy.  8)
Logged
Quote from: Lopunny Zen
you are playing them wrong then..

Don't tell me I'm playing anything wrong in a singleplayer sandbox game. Just don't.
Pages: [1] 2 3 ... 9