Join us at the Oolite Anniversary Party -- London, 7th July 2024, 1pm
More details in this thread.

The Feudal States

Discussion and information relevant to creating special missions, new ships, skins etc.

Moderators: another_commander, winston

User avatar
pagroove
---- E L I T E ----
---- E L I T E ----
Posts: 3035
Joined: Wed Feb 21, 2007 11:52 pm
Location: On a famous planet

Post by pagroove »

Don't forget the space castle instead of the stations :wink:
For P.A. Groove's music check
https://soundcloud.com/p-a-groove
Famous Planets v 2.7. (for Povray)
Image
https://bb.oolite.space/viewtopic.php?f=4&t=13709
User avatar
Ramirez
---- E L I T E ----
---- E L I T E ----
Posts: 628
Joined: Mon Nov 07, 2005 9:52 am
Location: London, UK

Post by Ramirez »

I've been getting to grips with random mission generation and there's something I've come across.

I'd like to make use of the name generator elements within the Oolite application to give names to various NPCs, rather than having to create a new list of possible names from scratch. However, the elements in Oolite's main description.plist only seem to generate surnames and as a result they don't always sound right in certain contexts. For example, names with endings like -son and -dottir won't really work when used as a first name. Looking at the passenger contracts screen, the first names there seem to 'work' even though most of them are completely made up. Does anyone know how Oolite goes about creating the names on the F8 screen, and whether there's a way of accessing this code for other uses?
Download Resistance Commander plus many other exciting OXPs HERE
User avatar
LittleBear
---- E L I T E ----
---- E L I T E ----
Posts: 2867
Joined: Tue Apr 04, 2006 7:02 pm
Location: On a survey mission for GalCop. Ship: Cobra Corvette: Hidden Dragon Rated: Deadly.

Post by LittleBear »

Using [%R] gives a reasonable good random first name but also works as a surname without the sons endings [nom11] is a bit more pleasing as well. I use [%R] to generate a first name for the posters on the BBs. For the surnames of guards and hunters in Random Hits I'm currently using:-

<key>random_hits_guard_surname</key>
<array>
<string>[nom11]</string>
<string>[%R]</string>
</array>

but you could also add a chance of a Mc O' or La for example being added with:-

<key>random_hits_guard_surname</key>
<array>
<string>[random_hits_guard_surname_start][nom11]</string>
<string>[random_hits_guard_surname_start][%R]</string>
</array>

<key>random_hits_guard_surname_start</key>
<array>
<string>Mc</string>
<string>O'</string>
<string>La</string>
<string></string>
<string></string>
<string></string>
<string></string>
<string></string>
<string></string>
<string></string>
</array>

So in that example 30% (probabley too many) would have one of the three pre-fixes.

I also used several subtables of about 400 real world first names C&Ped from a baby names site, so feel free to pinch that if you want! I can PM you the tables if you like to rename and c&p in.
OXPS : The Assassins Guild, Asteroid Storm, The Bank of the Black Monks, Random Hits, The Galactic Almanac, Renegade Pirates can be downloaded from the Elite Wiki here.
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 6557
Joined: Wed Feb 28, 2007 7:54 am

Post by another_commander »

For slightly better results, you can also use the %N qualifier instead of the %R. This is for the 1.72 version or later only, though.
User avatar
JensAyton
Grand Admiral Emeritus
Grand Admiral Emeritus
Posts: 6657
Joined: Sat Apr 02, 2005 2:43 pm
Location: Sweden
Contact:

Post by JensAyton »

another_commander wrote:
For slightly better results, you can also use the %N qualifier instead of the %R. This is for the 1.72 version or later only, though.
It’ %N from 1.73. In earlier versions, it’s %X. See https://bb.oolite.space/viewtopic.php?p=63115#63115.
User avatar
JameSpal
Competent
Competent
Posts: 40
Joined: Sun Jan 04, 2009 7:33 pm

Post by JameSpal »

Recently I was thinking about this idea of a Feudal States OXP. I like the idea of someone doing this. To me Feudalism and Piracy kind of go hand in hand. Since it's not possible for the player to create their own "Pirate Cove" and if it were, it's probably still wouldn't be possible to save the game when docked there, perhaps a safe haven for pirates could be introduced into the game through as part of a Feudal States OXP.

Traditionally I have assumed that Feudal systems in Elite were systems where the inhabitable planet had a Feudal type social structure. Instead of one world government there were many Feudal states battling it out with each other, struggling to increase the size and scope of their empires.

I assumed this was why Feudal states were nearly as dangerous as Anarchies, because any local GalCop resources would be so busy trying to keep the peace among the local factions, they didn't have time to patrol the space lanes or worry about nefarious outsiders coming and going from the station.

But perhpas in the current Ooniverse, most Feudal states inside of Feudal systems have started cooperating with each other on these planets to try to run GalCop out of the solar system. This could have lead to a situation where Feudal worlds are starting to fight amongst themselves in an attempt to expand their local empires throughout the galaxy.


If this were the case, then perhaps part of an atmospheric Feudal States OXP could include a feature whereby the player can ally themselves with one particular Feudal World. The local government of that Feudal world will allow you safe passage around the system - to the standard station, perhaps to a "space castle", where ever you want to go - regadless of your legal status, in exchange for a tithing when you do business there.

So like if you decide to live the life of a Space Scoundrel, you will still have a "homeworld" where you will not be fired on by GalCop or other system vessels. Instead as an Offender or Fugitive, you will be welcomed and protected within that system because a bad legal status with GalCop will indicate to the Feudal lords that you have no sympathy for the galactic establishment.

At the same time, however, being in "good standing" with one Feudal world will mean that other Feudal worlds will see you as an even bigger threat and even if you are "clean" their system vessels will treat you as an offender - not assist you in docking, not send system vessels to assist you if you are ambushed by pirates, etc.

Perhaps you could ally yourself with one Feudal system in each Galaxy, or maybe one at each end of each Galaxy, but you could not befriend two Feudal states that are too close to each other.

In your Ships Manifest screen - like where the UPS OXP says "UPS considers you..." or where the mission status is displayed - it could say something about "The Lord of *whatever Feudal World* considers you a loyal subject in good standing".

It wouldn't have to include missions against other Fedual Worlds - although those could be part of it - instead it can just give you a safe place to go and save your game when you get tired after a long night of Space Piracy, you'll just have to pay a small tithing (perhaps 5% of your cash on hand) to the Lords of the system.

Maybe there could also be missions like the Galactic Navy missions - where you meet up with other ships to fight off a Thargoid invasion on some planet, but instead you go meet up with other ships to wreak havoc in a neighboring system. Like a coordinated attack on GalCop or Galactic Navy facilities or on the "space castle" in other Feudal Systems or just a coordinated Pirate Raid on peaceful traders in a Corporate State world.

I don't know if anything of these things are possible in the rubric of Oolite scripting, it's just a series of ideas I had when trying to find a safe haven to save my game and pick up some equipment after a stint of mischief making - with no missiles left, a severely damaged ship, and GalCop hot on my tail.

Sorry for the long post, just throwing some ideas out there.
User avatar
Ramirez
---- E L I T E ----
---- E L I T E ----
Posts: 628
Joined: Mon Nov 07, 2005 9:52 am
Location: London, UK

Post by Ramirez »

Thanks for the name suggestions. I've now taken the basic script I had and have converted it into javascript and it seems to work OK. Being able to call separate self-contained functions certainly makes things easier!

JameSpal - those ideas aren't that far from what I'm working on. Here's an overview of things that I plan to do so far:

Noble Houses
Starting off in Galaxy 1, to keep things manageable I've created a handful of noble houses representing the more high-tech of the feudal systems. I've knocked up some basic work-in-progress coats of arms for each, based loosely on the colours of the planet or any interesting flora and fauna in the default planet description:

Image
Each house will be at various stages of conflict with another, and GalCop's only concern is to ensure any outsiders to these systems are not harmed. As far as they're concerned, the feudal systems are not a threat to the Galactic Cooperation and so they can be left to fight among themselves.

The Royal Court
Each of the noble houses holds court, and here think I may make use of Thargoid's suggestion to use his Planetfall OXP so that the court is based on the planet rather than the main space station. Here the King issues proclamations which in practice equate to random missions to go and attack/rob/kidnap ships or people from the other noble houses. As the player does more of these missions their reputation will increase and they may be asked to formally join one of the houses. From this point they can only work for the one house but they can make their way up the ranks.

The Hunting Lodge
From Caracal's earlier teaser, each house has a lodge in deep space where the basic skills of hunting are taught. As well as trying some target practice, visitors can try their skills against resident nobles in ship-to-ship combat, with moderate cash prizes on offer. This is really just a bit of fun for players who don't want to join a house.

The Royal Tournament
Every so often one of the houses hosts a tournament where nobles from around the galaxy are invited to compete. Once a player has attained a suitable rank they can join in the fun and make some big money. One of the big events I'm planning will be the 'Battle Royale', a simulation of a space battle where a large number of randomly-generated nobles fight it out until a certain number are left standing. I've already got the basic scripting for this part sorted.
Download Resistance Commander plus many other exciting OXPs HERE
User avatar
JensAyton
Grand Admiral Emeritus
Grand Admiral Emeritus
Posts: 6657
Joined: Sat Apr 02, 2005 2:43 pm
Location: Sweden
Contact:

Post by JensAyton »

Ramirez wrote:
I've now taken the basic script I had and have converted it into javascript and it seems to work OK. Being able to call separate self-contained functions certainly makes things easier!
I’m glad someone appreciates that. ;-)
User avatar
Disembodied
Jedi Spam Assassin
Jedi Spam Assassin
Posts: 6881
Joined: Thu Jul 12, 2007 10:54 pm
Location: Carter's Snort

Post by Disembodied »

If you want to avoid an overly-European look you could always make some coats-of-arms using Japanese mon:

Image

And there are some Russian family sigils which could be used, too. Not so colourful, but it would help break things up.
User avatar
Ramirez
---- E L I T E ----
---- E L I T E ----
Posts: 628
Joined: Mon Nov 07, 2005 9:52 am
Location: London, UK

Post by Ramirez »

So far, so good. Randomly generated ships are appearing with the correct roles, IDs and AIs etc and I've done a few more models.

A question: I want to use random number to set a system number as a mission variable and then use that to get the system name. I'm not quite sure how to use the pseudoRandom255 property to do this though. I need something like

missionVariables.feudal_mission_location_no = (random no between 0 and 255)

I've tried a few variations but I don't think I've got the syntax right. Any ideas?
Download Resistance Commander plus many other exciting OXPs HERE
User avatar
Svengali
Commander
Commander
Posts: 2370
Joined: Sat Oct 20, 2007 2:52 pm

Post by Svengali »

To use the pseudoRandom:

Code: Select all

missionVariables.feudal_mission_location_no = system.pseudoRandom256;
or the other variants

Code: Select all

missionVariables.feudal_mission_location_no = system.pseudoRandomNumber;
missionVariables.feudal_mission_location_no = system.pseudoRandom100;
But the pseudoRandomNumber is maybe not what you want. If I get this right your want to get a random system name, right?

Code: Select all

system.systemNameForID(Math.floor(Math.random()*256));
Last edited by Svengali on Wed Jan 21, 2009 7:54 pm, edited 1 time in total.
User avatar
JensAyton
Grand Admiral Emeritus
Grand Admiral Emeritus
Posts: 6657
Joined: Sat Apr 02, 2005 2:43 pm
Location: Sweden
Contact:

Post by JensAyton »

To be clear, the pseudoRandomFoo properties are constant for each system; that is, system.pseudoRandom255 is 41 at Lave and will never not be 41 at Lave.
User avatar
Ramirez
---- E L I T E ----
---- E L I T E ----
Posts: 628
Joined: Mon Nov 07, 2005 9:52 am
Location: London, UK

Post by Ramirez »

Thanks for the clarification. I've seen math.floor and math.random in other people's scripts but have never understood quite how they work. I've put it into my script and it works a treat.
Download Resistance Commander plus many other exciting OXPs HERE
User avatar
pagroove
---- E L I T E ----
---- E L I T E ----
Posts: 3035
Joined: Wed Feb 21, 2007 11:52 pm
Location: On a famous planet

Post by pagroove »

Definitely a OXP I want to see in-game. Keep up the good work Ramirez :D

I like random things!
For P.A. Groove's music check
https://soundcloud.com/p-a-groove
Famous Planets v 2.7. (for Povray)
Image
https://bb.oolite.space/viewtopic.php?f=4&t=13709
User avatar
Ramirez
---- E L I T E ----
---- E L I T E ----
Posts: 628
Joined: Mon Nov 07, 2005 9:52 am
Location: London, UK

Post by Ramirez »

I accidentally created a spawning feedback loop in a script and and ended up with this rather scary scenario:

Image

It actually ran OK for a while before eventually my 2.8GHz iMac gave up! However it might serve as a useful test. All these are clones of the same ship - the big battles I was planning for this OXP will generally use only a handful of different textures at one time, so having a large number of ships (>20 or so) fighting it out shouldn't be much of a problem.
Download Resistance Commander plus many other exciting OXPs HERE
Post Reply