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

49ers OXP - The Oolite Gold Rush (was: Ore processor)

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

Moderators: another_commander, winston

User avatar
Dr. Nil
---- E L I T E ----
---- E L I T E ----
Posts: 985
Joined: Thu Sep 28, 2006 5:11 pm
Location: Nearest Hoopy Casino
Contact:

Post by Dr. Nil »

@Griff: I'm still completely stunned by those models and their textures. I think that it might be easier to generate most of the normal operation of the bases and ships that interact with them through AIs.

@LB: Nice mission idea. Perhaps there could be a number of different mission types related to what ideas come up for this expansion? It shouldn't be that hard to integrate a number of dependent and independent mission types into a single script -like the built-in mission script does. If the script ends up being made up from parts made by different players, it's probably a good idea to start out with a common prefix for variables and perhaps stick to some sort of naming scheme.

Thinking aloud: Damn those witchspace rings would be nice. Having a company slowly build a trans-some-galaxy 'rail-road' with caravans of new settlers further out in that galaxy and trailblazers even further. UMC operation spreading (e.g. spreads to one system more of the types it can be in with every 10 or so jump the player makes) .

Btw: Did johnsmith's idea of abandoned Rock Hermits make it into a finished expansion? I've got ideas for at least 4 variants:

Most common ones that are just empty. Some that yield a varying amount of gold (market with gold at 0.0 per kilo. Some that infest the ship with trumbles . And one which initiates a treasure hunt mission.

I've really only used script for placing some ships and the simple in-system escort missions. It's very laborious with the way the variables and everything operate. Again this will probably take quite some time.

My own first priority will probably be to try to get these models to interact with each other in the way Griff has envisioned (AIs) and think up some ideas for the non-player-centric part of the scripting - the way this oxp develops regardless of player action. If LB and or others have ideas for their interaction with the player (missions or the player-centric part of the scripting) I hope you'll just throw yourself at it.

I'll rename this thread to 49ers then we can use it to throw in ideas and debate how we all think the finished product should be.

Sorry about a messy post, nut I'd rather ramble than forget an idea ;)
Image

300 billboards in Your Ad Here!
Astromines and more in Commies.
AVAILABLE HERE along with other Oolite eXpansion Packs.
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 »

Well, I can script and AI but my modeling is poor!

Assassins has a massive script (nearly 40 Mission Briefing Screens) and was really an excause to pull together lots of cool models by Griff, Ramon, Wyven, Murgh, et all in a massive 20 mission OXP and remodel a Galaxy with lots of new non-player centric powers interacting with each other and the player. I'd like to see you do somthing similar with 49ers! Galaxy 8 is still blank Perhaps some big project here!

Its actually faily easy to do. The hard part was comming up with the ideas and the plot! The Assassins readme is massive, as I included a walk-though to the code in the hope somebody else would try somthing similar!

This is what I really like about the Oolite Community. I posted the idea for Assassins under Random Assassination Contracts and was indudated with ideas and desginers building ships to order. I had the idea for a long "story" unfolding over time, but could not have produced the 30 odd ships necessary to develope it. The Community came to the rescue of the project by building the ships and stations. That enabled me to get on with the Script, AIs and mission text to produce a Big OXP, with the Guild tying the story together and News Broadcasts advancing the plot.

EDIT: If 49s became a G8 Mission Pack, then Suggest Griffs Miner Station repaces the normal Oolite Main Station in G8. Easy to do with script/planetinfo. That would give G8 a distinct theam and a reason to go there. 8)
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
Griff
Oolite 2 Art Director
Oolite 2 Art Director
Posts: 2478
Joined: Fri Jul 14, 2006 12:29 pm
Location: Probably hugging his Air Fryer

Post by Griff »

i've placed some of the stuff here (still missing are the mining equipment objects) have a pick though and see what you think.

http://www.box.net/public/um19jjbp1s
this pack includes the mining outpost station, a freighter and the cargo unloader bots. there's a simple script to add a freighter, the mining station (find it using nav beacon T on the compass) and a group of cargo loader bots which unfortunately will just fly straight into the station side!
(the bots have an AI that scans for a custom nav_buoy so they can line up with the docking port but i couldn't ever get this nav_buoy placed adjacent to the docking bay reliably, it either shifts it's position or the station is created with a different orientation each time it's called for so the buoy no longer lines up withthe docking port. i thought i could fix this by having the buoy as a subentity of the station but it didn't work, but then again this might be a non-issue if the freighters AI gets them to park outside the station adjacent to the bay before unloading the bots, if you want to test them out what you can do is fly and dock at the station, launch, don't touch the controls but fly a short distance from the station, press shift+F, make a note of your co-ords, exit oolite and ammend the co-ords for the nav_buoy in the script to what you wrote down, with a bit of luck when you retart oolite the nav_buoy will be lined up with the docking port until you shut down your pc - or at least this is how it is on my pc! crazy!
Last edited by Griff on Sun Feb 18, 2007 10:57 am, edited 1 time in total.
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 »

Think if you had your station replace the normal Oolite station, then the bots would work with a standard dockingAI.

Eg in planetinfo as a test:-

Code: Select all

{
    "0 7" = {
            "description" = "The planet Lave is well known for testing Griffs Botts!";
 "station" = "INSERT THE ROLE OF YOUR MININING STATION";
             	};
	
}
Copy this into a planetinfo and it should make your minining station the station at Lave. To make it appear elsewhere you change the co-ordinates of the system (and description).
[/code]
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
Griff
Oolite 2 Art Director
Oolite 2 Art Director
Posts: 2478
Joined: Fri Jul 14, 2006 12:29 pm
Location: Probably hugging his Air Fryer

Post by Griff »

yeah, they did work with the dockingAI, even docking correctly with anything that has the role station, unfortunately they just went way to slowly, creeping up to the station, then backing off, creeping up again until eventually the whole station jammed up with a queue of bots politely waiting for each other to go first, i didn't think this looked very good and tried to create a constant stream of bots filing into the station, it would work but i couldn't find a way to plot a navpoint outside the station docking bay from one game to the next. is there anyway to make use of the code that places the nav buoy outside the main system station, can this be called to place a buoy out outside any oxp added station?

Oh, heck i knew this would happen, there's a bug in the loaderAI.plist script, the bots are searching for griffbase when they should be looking for griffoutpost in the HEAD_IN section of the script.
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 »

Think you can have them do this with pwm co-ordinates (have a look at Murgh's AdDroidAI in LaveOXP). The trouble is that pwm co-ordinates are specific to a system. So you could set you bots to go to pwm XXX YYY ZZZ (ie a point inside the docking port - causing them to speed dock!) and this would work fine at Lave, but the same co-ordinates at Diso would send them off into the middle of nowhere! :roll: Be OK though if your stations were mission stations appearing only in a few systems? If you had them say in 4 systems as part of a Mission OXP, no problem you just have Bot1AI, Bot2AI etc (all C&Ps of the same AI but changing the pwms for each system) and your Bots would wizz into the station, but only in these special systems, where you script them to appear.

Plot idea: The 49s have taken over ten systems from GalCop in G8 (theres Gold in that there Galaxy) and are trying to expand. The player is called in (if docked in Galaxy 8 ) to do somthing for the 49s Corp. The OXP sets up the 10 Systems at the start with script and planetinfo. What happens next is set by mission variables and the script changing other systems, dependant on what the player (or maybe NCPS as well) have chosen to do!
Last edited by LittleBear on Sun Feb 11, 2007 8:17 pm, edited 2 times in total.
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
Griff
Oolite 2 Art Director
Oolite 2 Art Director
Posts: 2478
Joined: Fri Jul 14, 2006 12:29 pm
Location: Probably hugging his Air Fryer

Post by Griff »

ah, i didn't realise pwm co-ordinates were different in each system, i'm still pretty sure though that the station gets a different orientation each time it's created (although i might be imagining this) sometimes pointing at the planet, other times pointing at some random direction into empty space, what would be cool would be a way to find a point xx number of oolite units on the stations current Z axis each time it's addd to the system, or a way to scan for subentites in a model, or have it possible for subentites to have a role that can be scanned for rather than giving up all their properties to the parent object.
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 »

Hmm,

A get around would be you place your Miner Station (as a non-main station) at a PWM, with an Add ShipsPrecicleyAt: pwm: XXX YYY ZZZ and then tell the bots to go to a point in pwm that is within the docking port. That should do it! In Assassins I often placed ships or stations at speific PWM co-ordinates and then added ships with a AddShipsWithinRadius XXX YYY ZZZ {radius} and that seemed to work for always ensuring that the added ships were nearby the ship/station I'd added at the first PWM position.
Last edited by LittleBear on Sun Feb 11, 2007 11:14 pm, edited 1 time in total.
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
Griff
Oolite 2 Art Director
Oolite 2 Art Director
Posts: 2478
Joined: Fri Jul 14, 2006 12:29 pm
Location: Probably hugging his Air Fryer

Post by Griff »

LB, thanks for the help
i'm going to try the addshipradius now, hmm this looks interesting as well:-

from the 'methods' page on the wiki

Code: Select all

spawnShip: <shipdata.plist key>
// adds a ship with the unique shipdata.plist key given
// the position and facing of the ship are determined by a spawn dictionary in the
// ship's shipdata.plist entry with position and facing_position as strings describing
// coordinates according to one of the schemes above
seems to allow position and facing options, any experience using this? prehaps i should be spawning the station & the bots nav_buoy?
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 »

I think the variable radius just means a random radious (in meters) from your orginial point. So: (from Assassins Script) :-

Code: Select all

{
	conditions = ( 
 						"galaxy_number equal 6",
						"planet_number equal 203", 
						"status_string equal STATUS_LAUNCHING" 
					); 
					do = ( "checkForShips: beatlestat", 
						{ conditions = ( "shipsFound_number equal 0" ); 
						do = ( "addShipsAtPrecisely: beatlestat 1 pwm 16703 38655 137951"); 
						}, 
					); 
				},
Puts the Repaire station at these co-cordinates when you launch. I use a C&P of the above to also put it there if you enter the systen from Hyperspace (changing it to string equal STATUS_EXITING_WITCHSPACE to put the object there if you enter the system from W.S)

This code surounds the station with minesweepers:-

Code: Select all

{
					conditions = ( 
 						"galaxy_number equal 6",
						"planet_number equal 203", 
						"status_string equal STATUS_EXITING_WITCHSPACE" 
					); 
					do = ( "checkForShips: minesweeper", 
						{ conditions = ( "shipsFound_number lessthan 20" ); 
						do = ( "addShipsWithinRadius: minesweeper 2 pwm 16703 38655 137951 1000"); 
						}, 
					); 
				},
I use several varietions to ensure that there is a large field of minesweepers, plus the powerdown ships near the base.

Spawn: is more usefull when you whant the death of a ship to replace itself (used in the Triad/Mafia Missions & the BattleBots Missiles!!!)

EDIT : PWMs are absolte, but the Planet and Sun move about! So a PWM will always put your ship in a certain place. BUT you cannot depend on it being in a place relative to the Sun and planet. The Sun and planet also move about over time. So if I place a station at pwm XXX YYY ZZZ it maybe in a line from the w.s beacon from my pov on my ships clock, but not at yours!
Last edited by LittleBear on Sun Feb 11, 2007 10:19 pm, edited 1 time in total.
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
Griff
Oolite 2 Art Director
Oolite 2 Art Director
Posts: 2478
Joined: Fri Jul 14, 2006 12:29 pm
Location: Probably hugging his Air Fryer

Post by Griff »

drat, the addshipswithinradius wasn't accurate enough, the nav buoy needs to be placed around the front of the station, plus the station seems to change orientation every time it's called.

I'm going to try and dig up some more info on the spawnship: command, it appears to be a seperate command from spawn: and seems to allow the following keys, (if i understand the wiki correctly)

edit
found this in the Tionisla Orbital Graveyard thread, page 18

Selezen wrote: "Can you tell me how to change the orientation of the station, or is it set to face the planet?"

Aegidian wrote: "It's not currently possible. I could add another routine that adds ships at a location facing another location.
But considering the increasing complexity of this, I think it'd be better to begin to think about setting up ships by setting a
spawn position and orientation (and any other spawning characteristics) within the shipdata.plist entry.
This could look like:

Code: Select all

 
<key>spawn</key><!-- data for when ship is spawned --> 
<dict> 
<key>position</key><!-- optional, sets the spawn position --> 
<string>psm 0 0 200000</string> 
<key>facing_position</key><!-- optional, sets the direction faced --> 
<string>psm 0 0 0</string> 
<key>spawn_actions</key><!-- optional, works like launch_actions --> 
<array/><!-- no actions (empty array) for now --> 
</dict> 


Then we could have a simple "spawnShip: togy_station" in the script that would set it up. It wouldn't be too hard to write and might simplify scripts somewhat. "

I wonder if this got implemented? -:edit2: - yes it didanyway, you're right, time for bed! thanks again for your help on this, and doc, sorry about going off-topic on your thread!
Last edited by Griff on Mon Feb 12, 2007 4:10 pm, edited 2 times in total.
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 »

@Griff

See {edited} post. I donlt think you can do what you are trying. An easier solution is to put the station at precise PWM and have them fly in!

Going to bed now!
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
Dr. Nil
---- E L I T E ----
---- E L I T E ----
Posts: 985
Joined: Thu Sep 28, 2006 5:11 pm
Location: Nearest Hoopy Casino
Contact:

Post by Dr. Nil »

@LB: Interesting plot idea. And a good idea to use Galaxy 8 to get that frontier feeling (not to be confused with Frontier). Perhaps we should even let The Company start with only a single system.

49ers are not the name of one company but a collective name for the first miners to join the Great Galaxy 8 Gold Rush of 3149. Parallel to the 49ers of the California Gold Rush in 1849 (Wiki article here) and 3149 being the last year in Selezen's timeline - it fits really nice together. In The Gap Cycle the United Mining Company has it's own police force too, the UMCP and in Deadwood George Hearst uses Pinkertons.

There's plenty of interesting historical and fictional material to draw on. Nice little details like that the historical (and fictional) George Hearst arrived in California in 1850 and that his company which eventually became the largest private mining firm in the US owned a mine called the Anaconda copper mine. :) From here

@Griff: I've been looking for a way to determine which way an entity turns. The solution I tried to get the commie sun stations to face the right direction was to give them a veeeery slow max flight speed and have them fly in the direction you want them to face. I wasn't very successful at it but not that persistent either.

I also couldn't spot the magic words that unlocked the facing part of the command you've been looking at. I just assumed it had something to do with quarternizations and shew away from.

Your files have been downloaded, but it might be some days, before I get to look seriously at them and see if I can come with any additional ideas. It sounds like a really tough one. Perhaps you could have the station launch the beacon. When I had trouble with an AI for one of the mining pods in Commies it just launched and sat there perhaps 1-200 meters in front of the dock. Now if the beacon was given an AI to make it fly just a little further out without turning and stop and just sit there. I don't know...
Image

300 billboards in Your Ad Here!
Astromines and more in Commies.
AVAILABLE HERE along with other Oolite eXpansion Packs.
User avatar
Griff
Oolite 2 Art Director
Oolite 2 Art Director
Posts: 2478
Joined: Fri Jul 14, 2006 12:29 pm
Location: Probably hugging his Air Fryer

Post by Griff »

@Doc, there's some info about the spawnship: command on page 18 of the tionisla orbital graveyard thread, i've copied and pasted it into my edited post above, that's a very cool idea to have the station flying along very slowly towards the sun! i tried launching the beacon from the station but i couldn't ever get it to launch.

i just wonder if it's best to place the beacon first, then addshipwithinradius the station then give the station an AI to
1. scan for and target the beacon,
2. setDestinationToTarget
3.performFaceDestination
"FACING_DESTINATION"= switch the ai to the normal stationAI, with a bit of luck that should line them up.
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 »

Love the plot idea Doc!

I was thinking (having just watched Pale Rider on ITV3) of the player riding into town (Eastwood style) as "The Preacher":-

"And I beheld a pale Commander;
Commanding a pale ship;
And of Him that Commanded the Ship;
His name was Death;
And Hell Followed with Him." :evil:
Last edited by LittleBear on Sun Feb 11, 2007 11:35 pm, edited 1 time in total.
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.
Post Reply