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

More than one station per planet?

An area for discussing new ideas and additions to Oolite.

Moderators: winston, another_commander

User avatar
Eric Walch
Slightly Grand Rear Admiral
Slightly Grand Rear Admiral
Posts: 5536
Joined: Sat Jun 16, 2007 3:48 pm
Location: Netherlands

Post by Eric Walch »

LittleBear wrote:
It would be pretty easy with an OXP to add 3 or 4 stations in orbit around the planet (basically a few K of planetinfo.plist). However, Oolite will only allow you to save your game at the MAIN station (ie the one Oolite itself put there). This could become very annoying! When you see 4 Corrolis Stations in orbit, you woudn't know which one to go to
It is not only the player having problems with it. Also the build it traders have problems with it. Until version 1.55 traders were flying to the planet and when arrived, were instructed to go to just the closest station. In Oolite version 1.65 this was changed into "goto main station" (=systemStation). This is to prevent that traders go to custom added stations. e.g. galacticNavy adds an additional station around the main planet.
The upcoming buoyRepair.oxp will also add a station around some main planets. In playtesting this one, I noticed that ships from some old ship.oxp's that were written in the pre-1.65 time, also visited our station. Our own ships have extra code that lets them find and visit our custom station.
To have additional stations that behave like the main station, the core game needs additions. e.g. traders just going to the closest station were the "has_trader_traffic" key is true. This key is currently only used for trader launching.
User avatar
LittleBear
---- E L I T E ----
---- E L I T E ----
Posts: 2866
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 »

I woudn't say the NPC ships heading for other stations is a problem though, it'd be rather cool to see NPCs pealing off from the Space Lanes to visit any OXP stations in the system.
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.
User avatar
Cmdr. Maegil
Sword-toting nut-job
Sword-toting nut-job
Posts: 1294
Joined: Tue Feb 27, 2007 10:28 pm
Location: On the mend in Western Africa

Post by Cmdr. Maegil »

LittleBear wrote:
I woudn't say the NPC ships heading for other stations is a problem though, it'd be rather cool to see NPCs pealing off from the Space Lanes to visit any OXP stations in the system.
It would be nice, but not indiscriminately - much more should be entering a convenience store than a Bank or Hoopy, very few'd search for astro gulags, the pirate cove patrons should be at least offenders, and in any case the main station(s?) should have the bulk of traffic. If this is to go ahead, a frequency selector would be in order
You know those who, having been mugged and stabbed, fired, dog run over, house burned down, wife eloped with best friend, daughters becoming prostitutes and their countries invaded - still say that "all is well"?
I'm obviously not one of them.
User avatar
Eric Walch
Slightly Grand Rear Admiral
Slightly Grand Rear Admiral
Posts: 5536
Joined: Sat Jun 16, 2007 3:48 pm
Location: Netherlands

Post by Eric Walch »

I woudn't say the NPC ships heading for other stations is a problem though, it'd be rather cool to see NPCs pealing off from the Space Lanes to visit any OXP stations in the system.
I agree. When in 1.65 the AI of traders was changed to explicit go to the main station, it was to avoid that traders went to abandoned stations around the planet. Or other special stations. But since 1.69 stations have a attribute "has_NPC_traffic" in shipData.plist. This way on oxp writer can explicit allow trader traffic. One can think adding an AI command: "setTargetToTraderStation" that selects the nearest station that allows traders. As opposed to "setTargetToStation" that just selects the nearest station.

But with the current Oolite it is already possible by giving a trader a script of its own. In the AI update event of the trader one adds the scriptMessage: checkStation. And that one is defined in the script by:

Code: Select all

this.checkStation = function()
{
	let station = system.shipsWithRole("station", this.ship, 50000)[0]
	if (Math.random() < 0.05 && station != system.mainStation && station.hasNPCTraffic)
         {this.ship.target = station.ID; this.ship.AIState = "GOTO_TRADER_STATION"}
}
Whenever the ship now passes a station that allows for NPC traffic within 50 000 meters he has a 5% chance to switch course and jump to the AI state "GOTO_TRADER_STATION" that will handle further approach to that new found station.
Last edited by Eric Walch on Thu May 08, 2008 7:21 pm, edited 1 time in total.
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 »

Is it possible to give a station a certain ship capacity so that when a Coriolis is 'full' traders are directed to another one? It's a bit like looking for a free parking space in a city. Then more Coriolis stations are actually needed. But then we have a market problem. :?

For example

Corolius station 10 docking places (others reserved for ship showroom)

When entering orbit: or Safety zone you then get the message:

No docking places free in Lave Coriolis 1 please hold 2 minutes or go to Coriolis Lave 4. :
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
elite
Deadly
Deadly
Posts: 128
Joined: Thu Jun 21, 2007 9:26 am

Post by elite »

pagroove wrote:
Is it possible to give a station a certain ship capacity so that when a Coriolis is 'full' traders are directed to another one? It's a bit like looking for a free parking space in a city. Then more Coriolis stations are actually needed. But then we have a market problem. :?

For example

Corolius station 10 docking places (others reserved for ship showroom)

When entering orbit: or Safety zone you then get the message:

No docking places free in Lave Coriolis 1 please hold 2 minutes or go to Coriolis Lave 4. :

I love that idea.
User avatar
Dr Beeb
Dangerous
Dangerous
Posts: 127
Joined: Sun Mar 23, 2008 10:28 pm
Location: Mt. Vista, Oosa, Biarge System, Galaxy 1

Post by Dr Beeb »

elite wrote:
pagroove wrote:
Is it possible to give a station a certain ship capacity so that when a Coriolis is 'full' traders are directed to another one? It's a bit like looking for a free parking space in a city. Then more Coriolis stations are actually needed. But then we have a market problem. :?

For example

Corolius station 10 docking places (others reserved for ship showroom)

When entering orbit: or Safety zone you then get the message:

No docking places free in Lave Coriolis 1 please hold 2 minutes or go to Coriolis Lave 4. :

I love that idea.
Me too. I remember in Elite that there were several stations at different heights, dont remember if you always launched from the same one though irrespective of where you docked. Anyway I am sure that storing a station id in the save file would deal with that issue.

I read somewhere that for each system the generator first decides which of three categories (Cori, Dodec, Iso) of stations exist and then OXPs get to change, influence, what station design is chosen in that category. But only 1 space station per system.

One idea is to change the trunk? of Oolite so that once the category of station is chosen (based on Tech level and other things ?) the total number of stations at the planet can be set by the (already procedurally generated) productivity of that planet. In Elite/Oolite the total productivity range is 768 M Cr to 56320 M Cr and remains fixed for a given planet. A Coriolis 'costs' 768 M Cr so that the lowest, poorest, Anarchy gets at least one. As productivity goes up add more Coriolis sequentially to list of pre-defined possible orbits. If a Dodec requires x4, 3072 M Cr, then could aggregate from 4 Cori down to 1 Dodec, if system allows the Dodec category of space station. Similarly at 4x4x768 = 12288 M Cr could aggregate down to 1 Ico, if Ico category permitted. Richest system would have floor( 56320/12288 ) = floor( 4.58 ) = 4 Icos. I dont know when each category of space station is permitted so probably need more than a list of just 4 pre-defined oribits in case they're needed, and id number [0:9?] reserved for space stations at each planet.
White dots were so much easier to hit
User avatar
Amen Brick
Deadly
Deadly
Posts: 187
Joined: Sat May 10, 2008 5:22 pm
Location: Bolton!

Post by Amen Brick »

How about a different flag for the save game station (green/purple flashing, say)?
User avatar
DaddyHoggy
Intergalactic Spam Assassin
Intergalactic Spam Assassin
Posts: 8512
Joined: Tue Dec 05, 2006 9:43 pm
Location: Newbury, UK
Contact:

Post by DaddyHoggy »

Or just giving the option (finally) to save at non-main stations?

Same rule would apply for these stations as oxp ships - pull the oxp that created the station and you lose the ability to load that game.

I know there is a big argument for not saving at non-main stations because some of these things are random chance BUT some oxps add permanent objects to the Ooniverse - the game should be given the chance to cope with saving at these.

Players who have chosen the life of a pirate should have the chance to save at Pirate Coves and the like - it seems only fair.
Selezen wrote:
Apparently I was having a DaddyHoggy moment.
Oolite Life is now revealed here
User avatar
Dr Beeb
Dangerous
Dangerous
Posts: 127
Joined: Sun Mar 23, 2008 10:28 pm
Location: Mt. Vista, Oosa, Biarge System, Galaxy 1

Post by Dr Beeb »

Dr Beeb wrote:
One idea is to change the trunk? of Oolite so that once the category of station is chosen (based on Tech level and other things ?) the total number of stations at the planet can be set by the (already procedurally generated) productivity of that planet. In Elite/Oolite the total productivity range is 768 M Cr to 56320 M Cr and remains fixed for a given planet.
Hmm, ran into a problem here. The Dodecs only start at Tech Level 12 (+1 for what the player sees vs what the code uses)

Code: Select all

defaultStationDesc = @"coriolis";
	if (techlevel > 10)
	{
		if (system_seed.f & 0x03)   // 3 out of 4 get this type
			defaultStationDesc = @"dodecahedron";
		else
			defaultStationDesc = @"icosahedron";
	}
so the productivity of a planet can get quite high and need 18? Coriolis stations before a Dodec is allowed.

Does anyone remember if Dodecs only existed for TL>=12 for the BBC disk version of Elite? I dimly recall Diso had a Dodec, whose TL is only 8.

As Icos didn't exist in the BBC version what are other's opinions on keeping Icos, say, for TL >=14?. Right now very high tech worlds (>=12) only have a 25% probability to get an Ico, irrespective of how high their TL actually is.
White dots were so much easier to hit
User avatar
Dr Beeb
Dangerous
Dangerous
Posts: 127
Joined: Sun Mar 23, 2008 10:28 pm
Location: Mt. Vista, Oosa, Biarge System, Galaxy 1

Post by Dr Beeb »

Dr Beeb wrote:
Dr Beeb wrote:
Does anyone remember if Dodecs only existed for TL>=12 for the BBC disk version of Elite? I dimly recall Diso had a Dodec, whose TL is only 8.
Dead silence. So I went and found out for myself. Found a BBC emulator for Mac called BeebEm3 and fired up Classic Elite. :D

I posted a video (sorry it's in Apple Quicktime, hopefully someone can convert it into other formats)
http://www.box.net/shared/5ypeib7ld3
of arriving and docking at Leesti: TechLevel =11 but it has a Dodec; whereas Oolite has a Coriolis at Leesti as indicated in the Oolite code in previous posting. Maybe Leesti isn't the industrial power-house it was 24 years ago :wink:

In Classic TL=10 has Coriolis, including Diso down at TL=8.

Back to the main topic of this thread, Classic definitely has the appearance of more than 1 station per planet. One can enter the range of one, see it come up on the compass, ignore it and fly-off somewhere else near the planet and find another one etc. I am guessing that since Elite was player-centric the code spawns a Space Station once you are close enough and attempts to recreate it in other places if you dont take the first bait ? The graphics meant that you had to fly towards a space station for a while before its white dot becomes visible, so you were heavily dependent on the compass to find a station. Whereas in Oolite you can see the dot of the Space Station thousands ? of km away .. This may be motivation to change the distance/speed ratios in Oolite to make Stations harder to find, but more of them.

Another aside from a my nostalgia trip, seeing a brief glimpse of other ships in the docking bay area just after docking before the status screen came up is exactly what the atmosphere of Elite was all about. 8) I hope someone will be inspired to do a little OXP that does that for Oolite ?
White dots were so much easier to hit
User avatar
DaddyHoggy
Intergalactic Spam Assassin
Intergalactic Spam Assassin
Posts: 8512
Joined: Tue Dec 05, 2006 9:43 pm
Location: Newbury, UK
Contact:

Post by DaddyHoggy »

Apologies for the silence but I couldn't remember! However, I can confirm that on the C64 version too there were multiple stations per planet - it does take a horribly long time to load up from Cassette on the original C64...
Selezen wrote:
Apparently I was having a DaddyHoggy moment.
Oolite Life is now revealed here
User avatar
Killer Wolf
---- E L I T E ----
---- E L I T E ----
Posts: 2266
Joined: Tue Jan 02, 2007 12:38 pm

Post by Killer Wolf »

"I remember in Elite that there were several stations at different heights"

huh?
was that the disc version then? i played the tape version and there was only ever 1 per planet :-/
User avatar
Frame
---- E L I T E ----
---- E L I T E ----
Posts: 1477
Joined: Fri Mar 30, 2007 8:32 am
Location: Witchspace

Post by Frame »

Commander McLane wrote:
Depends on the OXP. Tori.oxp contains a planetinfo.plist that changes stations to specific forms of tori in specific systems. So the result will always be the same, as long as you keep the OXP in your AddOns-folder.

Globestations.oxp works differently, by giving the globestations a certain chance to be selected instead of - I think - icosahedrons, by their role-key in their shipdata. Now it depends on whether this chance is calculated randomly or pseudo-randomly, which only the code-wizards can find out for us. If it's determined by random, then you could get a different station at different times. If it's by pseudo-random, then you still would get the same station all the time.

The same applies to Gritty Coriolis, I think. I am not aware of other stations that are meant to replace main stations at the moment.
for which (saving at OXP stations that act as a main station. I´m currently figuring out how to determine their dock point, so this is valuable information)
Bounty Scanner
Number 935
User avatar
Dr Beeb
Dangerous
Dangerous
Posts: 127
Joined: Sun Mar 23, 2008 10:28 pm
Location: Mt. Vista, Oosa, Biarge System, Galaxy 1

Post by Dr Beeb »

Killer Wolf wrote:
"I remember in Elite that there were several stations at different heights"

huh?
was that the disc version then? i played the tape version and there was only ever 1 per planet :-/
Four posts up is the best I can describe the 'appearance/deception' of how many Space Stations there were, at least in the BB Disc version. As for the Tape version I dimly recall the situation was similar, but you seem to indicate otherwise ? I do agree that we probably all launched from the same station each time at the same fixed altitude.
White dots were so much easier to hit
Post Reply