To all SSC Station occupants
Thank you for the donations over the past year (2024), it is much appreciated. I am still trying to figure out how to migrate the forums to another community software (probably phpbb) but in the meantime I have updated the forum software to the latest version. SSC has been around a while so their is some very long time members here still using the site, thanks for making SSC home and sorry I haven't been as vocal as I should be in the forums I will try to improve my posting frequency.
Thank you again to all of the members that do take the time to donate a little, it helps keep this station functioning on the outer reaches of space.
-D1-
I figure, game wise, the only major element needed to make the Prometheans work is to have a way to define factions that don't actually controll any permanent territory. It isn't just for my idea, either... the concept of a society forced into (or choosing) a nomadic existence is quite common in history, fiction and myth. If a simple way to define a faction with no permanent base isn't already present, such a feature would be highly useful in constructing a variety of different types of faction. Some nomadic groups will be refugees, like the Galactica and my Prometheans idea... others will be powerful factions in their own right like The Culture or the traders from Homeworld. Permanent territory would be out of reach to some... and just a needless headache to others!
oops, sorry, things got a bit glitchy here and I double posted...
What I mean is that you need to include factions, without fruitless discussions. No matter if they are blue, red, green, pink, facción1, faccion2, faccion3 or faccion4.
Is need to take that "first step". That is costing a lot to give.
Ok I see, I think.
Is this in relation to the Factions commit that is up on GitHub?
Well yes it is taking a while to get the Factions commit accepted but that's because there are things that could be better, in fact there might be things that are broken, or missing but look like they're working when we test it with the simple things that I've put in so far.
It needs to get people to do a code review of it so that I can then fix any issues that are found but people are currently busy doing other things. It's ok because it's a while until the next Alpha build and even then it won't be going away if it doesn't make it in just yet.
This first commit has to be solid so that then people can add as many factions as they like using the modding ability to test and share factions etc before they become part of the main distribution.
I figure, game wise, the only major element needed to make the Prometheans work is to have a way to define factions that don't actually controll any permanent territory.
There's no direct support for nomadic factions however there is already the "independent" faction which has no homeworld and controls a large volume of space centred on Sol, since they start there.
I'm not sure, that's one of the ropey areas of the code that I'm not quite happy with but haven't found a way to do better.
The next question is if the factions stuff suits your Prometheans at all.
This system as it stands now is all about who controls certain volumes of space and the politics, police, military, trade values, legality and so forth that happen within those volumes.
If your Prometheans don't control a volume of space, or settle worlds, at all then the system is going to require a rethink.
In fact, what do they do or have and how would the player interact with them given that player interaction is done via spacestations or worlds whose legalities and trade are all set based on which faction they belong too?
You see?
A nomadic faction doesn't necessarily have to be part of the general faction system. It could be defined entirely by a script, or set of scripts.
I kind of like the idea of non-human factions. While not actually necessary, they could add a bit of an ELITE flavor with their hoopy casinos, etc. I wonder what Subzeroplainzero, who did the faces, thinks of the workload that would be involved.
Well, the first step has been taken. Now, @fluffyfreak, can you explain how to generate a custom system?
We could start by Epsilon Eridani, CIS system?
what about temporary stations/starports. as an idea the Prometheans when in a star system set up small colony's and space stations that are removed when they move on. this would allow the normal level of interaction with the faction using the current system
Custom systems are still erm... CustomSystems, that side of things hasn't changed.
The new Factions are defined in the factions scripts within "/data/factions".
Those are just example ones and each faction currently has it's own Lua file but there's no reason that you couldn't put several into a single one or something.
Take a look at them they're hopefully not too complicated and I'll start on some proper wiki-fied documentation.
Temporary mega-tonnage objects?
I'm not sure how to implement/support a nomad faction at the moment, it wasn't designed with that in mind. It can be done, but for now its more limited.
What kind of time scale are you thinking your Prometheans would be moving around in anyway? Even with 9 Billion people it'd take us millions of years to scour this system clean.
On the shorter scale a space station as big as some of those ingame would take at least 10 / maybe-15 years to build, then it's have a lifespan of +50 years assuming that it doesn't get renovated and modernised to last longer.
"[background=rgb(33, 47, 58)]Custom systems are still erm... CustomSystems"[/background]
Actually I meant custom faction.
You can try an explanation here, before passing it to the wiki.
local f = Faction:new('Confederation of Independent Systems')
:description_short('Socially democratic grouping of independent Star Systems')
:description('Socially democratic grouping of independent Star Systems, I dunno, added them because they seem hard coded into the politics.')
:govtype('CISSOCDEM')
:homeworld(1,-1,-1,0,3) -- (6,12,0,1,3)
:foundingDate(3125.0)
:expansionRate(1.0)
:military_name('Confederation Fleet')
:police_name('Confederal Police')
:colour(0.4,1.0,0.4)
f:illegal_goods_probability('ANIMAL_MEAT',75) -- fed/cis
f:illegal_goods_probability('LIVE_ANIMALS',75) -- fed/cis
f:illegal_goods_probability('HAND_WEAPONS',25) -- cis
f:illegal_goods_probability('BATTLE_WEAPONS',50) --fed/cis
f:illegal_goods_probability('NERVE_GAS',100)--fed/cis
f:illegal_goods_probability('NARCOTICS',86)--cis
f:illegal_goods_probability('SLAVES',100)--fed/cis
f:add_to_factions('CIS')
local f = Faction:new('Confederation of Independent Systems')
:description_short('Socially democratic grouping of independent Star Systems')
:description('Socially democratic grouping of independent Star Systems, I dunno, added them because they seem hard coded into the politics.')
:govtype('CISSOCDEM')
:homeworld(1,-1,-1,0,3) -- (6,12,0,1,3)
:foundingDate(3125.0)
:expansionRate(1.0)
:military_name('Confederation Fleet')
:police_name('Confederal Police')
:colour(0.4,1.0,0.4)
f:illegal_goods_probability('ANIMAL_MEAT',75) -- fed/cis
f:illegal_goods_probability('LIVE_ANIMALS',75) -- fed/cis
f:illegal_goods_probability('HAND_WEAPONS',25) -- cis
f:illegal_goods_probability('BATTLE_WEAPONS',50) --fed/cis
f:illegal_goods_probability('NERVE_GAS',100)--fed/cis
f:illegal_goods_probability('NARCOTICS',86)--cis
f:illegal_goods_probability('SLAVES',100)--fed/cis
f:add_to_factions('CIS')
From the top then:
- local f = Faction:new('Confederation of Independent Systems')
- Creates a new faction with the name passed in as a string.
- :description_short('Socially democratic grouping of independent Star Systems')
- :description('Socially democratic grouping of independent Star Systems, I dunno, added them because they seem hard coded into the politics.')
- A short description and a longer description - not really used yet but fill them out because they will be soon.
- :govtype('CISSOCDEM')
- Ah... a bit of legacy that crept in during development I'll describe it separately below.
- :homeworld(1,-1,-1,0,3) -- (6,12,0,1,3)
- the location star system and planet for the faction, I see you've moved this one!
- the first 3 digits are the sector 1,-1-1
- the 4th digit is the star system index, you can see this if you select a system and view the star system and then it's demographics, which lists it's "Star System Number"
- the 5th digit is the system body - this one is harder to pick out and I just had to do it by trial and error - but if there's, for example, 3 planets and the 2nd one has a star port then the planet would be the 3rd "body" in the system... I think. Trial and error!
- :foundingDate(3125.0)
- :expansionRate(1.0)
- these two work together, I should really make them into a single function!
- foundingDate is the year that the homeworld was colonised...
- expansionRate is the number of light years per year that the faction expands outwards from it's homeworld.
- So if it's the year 3200, we get a sphere with a radius of: (3200-3125) * 1.0 = 75 light years radius.
- That means they'll potentially have influence over a sphere of space 150 light years across.
- :military_name('Confederation Fleet')
- :police_name('Confederal Police')
- One day these will be used on bulletin boards when dealing with the police and in future a military for getting missions etc.
- :colour(0.4,1.0,0.4)
- The colour a star system is shown in on the Sector View screen when picking your hyperspace destination.
- f:illegal_goods_probability('ANIMAL_MEAT',75) -- fed/cis
- f:illegal_goods_probability('LIVE_ANIMALS',75) -- fed/cis
- f:illegal_goods_probability('HAND_WEAPONS',25) -- cis
- f:illegal_goods_probability('BATTLE_WEAPONS',50) --fed/cis
- f:illegal_goods_probability('NERVE_GAS',100)--fed/cis
- f:illegal_goods_probability('NARCOTICS',86)--cis
- f:illegal_goods_probability('SLAVES',100)--fed/cis
- two parameters, the first is the name of the item from the "EquipType" table (I can't see any easy way of getting this without looking in the sourcecode, perhaps in the LuaConstants.h file)...
- The second is the probability that it's illegal expressed as a percentage therefore SLAVES are 100% illegal, whereas but HAND_WEAPONS will only be illegal in 25% of the systems you visit that belong to the CIS faction. It means that there's local variation between star systems within a given faction. Like how alcohol was legal in some US states but illegal in others despite it all being the USA during prohibition etc.
- f:add_to_factions('CIS')
- call this to finish up, you created the Faction in Lua using the "Faction:new" at the top, but this actually adds it to the list of factions that you will see ingame and can visit etc.
- Looking at the code it actually looks like I'm not using the parameter 'CIS' at all at the moment! I might be able to remove that <img src="' http://spacesimcentral.com/forum/public/style_emoticons//icon_e_biggrin.gi f"' class='bbc_emoticon' alt=':D' /> but for now just put whatever you like in there!
and then there's this:
- [background=rgb(33, 47, 58)]:govtype('CISSOCDEM')[/background]
- [background=rgb(33, 47, 58)]​[/background][background=rgb(33, 47, 58)]Ah... a bit of legacy that crept in during development I'll describe it separately below.[/background]
...which comes from the PolitGovType table and is supposed to describe the political behaviour of the system, it's unfortunately where it meets the existing "Polit" system in the code and I haven't come up with a good way around it yet, the options are:
NONE
EARTHCOLONIAL
EARTHDEMOC
EMPIRERULE
CISLIBDEM
CISSOCDEM
LIBDEM
CORPORATE
SOCDEM
EARTHMILDICT
MILDICT1
MILDICT2
EMPIREMILDICT
COMMUNIST
PLUTOCRATIC
DISORDER
A word of warning is that if you give two Factions the same "govType" you might get crimes shared between them... that should be considered a bug if it happens.
NONE
EARTHCOLONIAL
EARTHDEMOC
EMPIRERULE
CISLIBDEM
CISSOCDEM
LIBDEM
CORPORATE
SOCDEM
EARTHMILDICT
MILDICT1
MILDICT2
EMPIREMILDICT
COMMUNIST
PLUTOCRATIC
DISORDER
A word of warning is that if you give two Factions the same "govType" you might get crimes shared between them... that should be considered a bug if it happens.
I want to congratulate you for the work done. Everyone has done an amazing job in this alpha, with many new and beatiful features. <img src="' http://spacesimcentral.com/forum/public/style_emoticons//good.gi f"' class='bbc_emoticon' alt=':good:' />
Although much remains to be done, raise our glasses. <img src="' http://spacesimcentral.com/forum/public/style_emoticons//drinks.gi f"' class='bbc_emoticon' alt=':drinks:' />
I'm currently giving the spacestations color schemes based on their names using selector2() and selector3(). It would be nice if I could use the faction :colour on them too, so I'm wondering how to pull out that value so I can use it.
Many things could be done if we had something like this:
if faction == red then Comms.ImportantMessage('You entered in red territory, watch your wallet') end
<img src="' http://spacesimcentral.com/forum/public/style_emoticons//popcorm1.gi f"' class='bbc_emoticon' alt=':popcorn:' />
Ok I'll begin work on exposing the factions data to Lua starting with their colour and name identifiers <img src="' http://spacesimcentral.com/forum/public/style_emoticons//icon_e_smile.gi f"' class='bbc_emoticon' alt=':)' />
I've done some initial work on this just here: https://github.com/pioneerspacesim/pioneer/issues/1568
However as its says in the description this is the first major piece of C++ Lua system work I've done so it will need some scrutiny and certainly won't go in for this Fridays code freeze!
It will be coming though <img src="' http://spacesimcentral.com/forum/public/style_emoticons//icon_e_biggrin.gi f"' class='bbc_emoticon' alt=':D' />
Thanks! <img src="' http://spacesimcentral.com/forum/public/style_emoticons//biggrin.gi f"' class='bbc_emoticon' alt=':biggrin:' />
"[background=rgb(33, 47, 58)]I've done some initial work" [/background] <img src="' http://spacesimcentral.com/forum/public/style_emoticons//fan_1.gi f"' class='bbc_emoticon' alt=':fan:' />
[background=rgb(33, 47, 58)]" and certainly won't go in for this Fridays code freeze!" [/background]
Yes, it would be too much to ask. Better add important change after Friday.
Alfa 27, as it is, has many interesting news for the user.
But you do not stop! <img src="' http://spacesimcentral.com/forum/public/style_emoticons//locomotive.gi f"' class='bbc_emoticon' alt=':locomotive:' />
But you do not stop! <img src="' http://spacesimcentral.com/forum/public/style_emoticons//locomotive.gi f"' class='bbc_emoticon' alt=':locomotive:' />
Yeah, it's because I'm trying to get as much done as possible before I get a new job <img src="' http://spacesimcentral.com/forum/public/style_emoticons//icon_e_biggrin.gi f"' class='bbc_emoticon' alt=':D' />
Had an interview today that went really brilliantly so I am hopeful that I will soon have a lot less time on my hands.
[background=rgb(33, 47, 58)]"Had an interview today that went really brilliantly"[/background]
I I really am happy for that possibility. I hope you get the job you want and greet to your friends on the forum from time to time. <img src="' http://spacesimcentral.com/forum/public/style_emoticons//ok.gi f"' class='bbc_emoticon' alt=':ok:' />
And do not forget to play Pioneer! <img src="' http://spacesimcentral.com/forum/public/style_emoticons//victory.gi f"' class='bbc_emoticon' alt=':victory:' />
After correcting a small problem, I compile on Linux. I'm testing #1568, works great! <img src="' http://spacesimcentral.com/forum/public/style_emoticons//fan_1.gi f"' class='bbc_emoticon' alt=':fan:' />
1568 merged with master. Abemus faction <img src="' http://spacesimcentral.com/forum/public/style_emoticons//icon_e_smile.gi f"' class='bbc_emoticon' alt=':)' />
Is there a simple way to change the way the HUD and interface? I was looking around for how to mod Pioneer and all I could find was ways to change game assets. Is there a simple way to tweak the interface like that? I was flying around and thinking it would be really nice to have more numbers available, actual deltaV instead of a fuel bar, hull/weapon temp in kelvin instead of a heat bar, escape velocity of the current reference body and probably a few other things...
Also, is there a way to add a "Telescope View" basically the same as the Sidereal View but first person?