"Personal Base" OXP Concept (Open to Ideas)
Moderators: winston, another_commander
-
- ---- E L I T E ----
- Posts: 503
- Joined: Sat Jun 11, 2011 7:46 pm
"Personal Base" OXP Concept (Open to Ideas)
I got a really good idea for an OXP that I plan on building, but I would LOVE some input on the concept.
I think it would add a lot of realism to the game to have a "personal base" that can be built. You purchase the marker and crew from a station (expensive, tho, I'm sure). Then, you fly to the system where you want the base to be built, and jettison the marker. Given a certain amount of time, the base will be built at a default location in the system.
The base allows you to own and store multiple ships, and store additional weapons and cargo. Whenever you dock in your base, you can pick up and drop off anything, the same as you would at a regular base (except, you don't pay anything, since you already own it.) You can also add additional things to it, such as a base defense system or repair drones.
In order to make it possible to own a second ship, a small craft would also be included that can be transported in the cargo bay of most ships (it would weigh about five tons). As such, you probably would only want to make purchases in your local system, lest you run into trouble with pirates on the way to buy the ship.
Any thoughts? Questions? Comments? Ideas? I'm open!
Coding tips would also be appreciated. I am a programmer, but if anyone has ideas on how to make this OXP work with Oolite, lemme know.
I think it would add a lot of realism to the game to have a "personal base" that can be built. You purchase the marker and crew from a station (expensive, tho, I'm sure). Then, you fly to the system where you want the base to be built, and jettison the marker. Given a certain amount of time, the base will be built at a default location in the system.
The base allows you to own and store multiple ships, and store additional weapons and cargo. Whenever you dock in your base, you can pick up and drop off anything, the same as you would at a regular base (except, you don't pay anything, since you already own it.) You can also add additional things to it, such as a base defense system or repair drones.
In order to make it possible to own a second ship, a small craft would also be included that can be transported in the cargo bay of most ships (it would weigh about five tons). As such, you probably would only want to make purchases in your local system, lest you run into trouble with pirates on the way to buy the ship.
Any thoughts? Questions? Comments? Ideas? I'm open!
Coding tips would also be appreciated. I am a programmer, but if anyone has ideas on how to make this OXP work with Oolite, lemme know.
- Smivs
- Retired Assassin
- Posts: 8408
- Joined: Tue Feb 09, 2010 11:31 am
- Location: Lost in space
- Contact:
Re: "Personal Base" OXP Concept (Open to Ideas)
It won't be possible to have more than one ship, I'm afraid, because of the way the player is the ship. They are inextricably linked.
Most of the rest is do-able but you also won't be able to save there as that can only be done at main stations.
Most of the rest is do-able but you also won't be able to save there as that can only be done at main stations.
Commander Smivs, the friendliest Gourd this side of Riedquat.
- Staer9
- ---- E L I T E ----
- Posts: 570
- Joined: Fri Feb 18, 2011 4:53 pm
- Location: Hatfield, Hertfordshire (poor industrial)
Re: "Personal Base" OXP Concept (Open to Ideas)
there is however this waySmivs wrote:It won't be possible to have more than one ship, I'm afraid, because of the way the player is the ship. They are inextricably linked.
Most of the rest is do-able but you also won't be able to save there as that can only be done at main stations.
- Smivs
- Retired Assassin
- Posts: 8408
- Joined: Tue Feb 09, 2010 11:31 am
- Location: Lost in space
- Contact:
Re: "Personal Base" OXP Concept (Open to Ideas)
Which sadly wouldn't work as becomes clear as you read down the thread.Staer9 wrote:there is however this waySmivs wrote:It won't be possible to have more than one ship, I'm afraid, because of the way the player is the ship. They are inextricably linked.
Most of the rest is do-able but you also won't be able to save there as that can only be done at main stations.
Commander Smivs, the friendliest Gourd this side of Riedquat.
-
- ---- E L I T E ----
- Posts: 503
- Joined: Sat Jun 11, 2011 7:46 pm
Re: "Personal Base" OXP Concept (Open to Ideas)
Basically, most of this will be achieved by making something of a semi-clone of a station, but removing the credits aspect of everything. Then, making the inventory linked to a datafile of its own, and having it modify solely depending on what the player drops off.
In that sense, you aren't flying more than one ship - you are merely "buying" one from yourself (as far as the game sees it), for a mere 0 creds. And, as far as the game is concerned, you only own one ship at a time. The multiple ownership is purely thanks to your home base inventory save file.
On further reflection, perhaps it would be simplest just to add a "delivery" feature to purchasing a ship? You buy the ship, but you press a different key other than "enter" to have it delivered to your base for an extra charge (depending on how far away your base is). I can even add in a small probability that the delivery fails due to piracy, for extra realism.
In that sense, you aren't flying more than one ship - you are merely "buying" one from yourself (as far as the game sees it), for a mere 0 creds. And, as far as the game is concerned, you only own one ship at a time. The multiple ownership is purely thanks to your home base inventory save file.
On further reflection, perhaps it would be simplest just to add a "delivery" feature to purchasing a ship? You buy the ship, but you press a different key other than "enter" to have it delivered to your base for an extra charge (depending on how far away your base is). I can even add in a small probability that the delivery fails due to piracy, for extra realism.
- RyanHoots
- ---- E L I T E ----
- Posts: 958
- Joined: Fri May 20, 2011 8:10 pm
- Location: Nowhere
- Contact:
Re: "Personal Base" OXP Concept (Open to Ideas)
I think having a personal base is great, but unfortunately nowadays you need to write a station OXP (or have someone do it for you) to get one. I think being able to buy a pylon-mounted marker and dropping it at the station's future site is a good solution to the problem, and extra security systems like lasers or hired fighters would be a nice improvement.
Being able to send a ship to your station for a fee sounds interesting, too. If this OXP is made, let me know.
Being able to send a ship to your station for a fee sounds interesting, too. If this OXP is made, let me know.
- Mauiby de Fug
- ---- E L I T E ----
- Posts: 847
- Joined: Tue Sep 07, 2010 2:23 pm
Re: "Personal Base" OXP Concept (Open to Ideas)
I like the idea of hiring a crew to build a station for you at a point specified by a pylon marker. You could see it gradually grow over time (although you'd have to create models for each stage of development). All the relevant information (system, location within system, build progress etc) could easily be stored as mission variables in a save file.
As far as the garage/multiple ships idea goes, Smivs is correct. That's essentially impossible.
I don't know enough about how the trading/cargo stuff works to be able to tell you what you can do with it. Same with the equipment. Although there's quite a bit of stuff that's exposed to javascript. You can easily script it so that your ship is automatically refuelled for free when docking there, for example. It may be possible to do similar things with other stuff.
As far as the garage/multiple ships idea goes, Smivs is correct. That's essentially impossible.
I don't know enough about how the trading/cargo stuff works to be able to tell you what you can do with it. Same with the equipment. Although there's quite a bit of stuff that's exposed to javascript. You can easily script it so that your ship is automatically refuelled for free when docking there, for example. It may be possible to do similar things with other stuff.
-
- ---- E L I T E ----
- Posts: 503
- Joined: Sat Jun 11, 2011 7:46 pm
Re: "Personal Base" OXP Concept (Open to Ideas)
What can I say? I thrive on the impossible. And if I use the method I described above, how could it be impossible?
- Mauiby de Fug
- ---- E L I T E ----
- Posts: 847
- Joined: Tue Sep 07, 2010 2:23 pm
Re: "Personal Base" OXP Concept (Open to Ideas)
If I understand you correctly, you're saying that you'll store the name of the previously owned ship in the save file, and then when you switch back, you'll make sure that you don't lose any money?
The problem is, there is no way to control what appears in the shipyard of a station at any time. You can use conditions to choose which ships are allowed to appear, but what does is beyond your control. Hence why many peoples' research into the multiple ship concept has come to an abrupt standstill.
I'm willing to be proved wrong, but I still can't understand how you can achieve this.
The problem is, there is no way to control what appears in the shipyard of a station at any time. You can use conditions to choose which ships are allowed to appear, but what does is beyond your control. Hence why many peoples' research into the multiple ship concept has come to an abrupt standstill.
I'm willing to be proved wrong, but I still can't understand how you can achieve this.
-
- ---- E L I T E ----
- Posts: 503
- Joined: Sat Jun 11, 2011 7:46 pm
Re: "Personal Base" OXP Concept (Open to Ideas)
Then I clone the shipyard. We don't even have to use a standard shipyard system...I can build a new one reliant on something similar to the savefile. Then, I just use actions similar to that of the shipyard.
- Wildeblood
- ---- E L I T E ----
- Posts: 2453
- Joined: Sat Jun 11, 2011 6:07 am
- Location: Western Australia
- Contact:
Re: "Personal Base" OXP Concept (Open to Ideas)
I've done a one-click equipment install. Instead of buying this and that on the equipment screen you can buy "Gimme the lot" and have a script delete and install several items of equipment at once. And you could, although I haven't, store the previous state of the equipment in mission variables before you delete them, to be restored later. I assume that is what Thargoid's multibay script does every time you change missile bays. I can't write the script myself, but I understand conceptually what's going on there.
What I'm saying is, if you gave up your ship and later bought the same model back again, a script could set up all the equipment so it was just the way you remembered it. That's the easy problem.
Like others, I perceive the hard problem to be getting the right model of ship back again. The only way to do it through the shipyard screen would seem to be to delete all the shipdata for ships you don't like, so the game has no option but to offer the ones you want in the shipyard. But that turns every shipyard into a magic garage everywhere you travel. That's not the desired effect.
So, is there another way to swap ships, other than through the shipyard screen?
Or, is there a way to change the current ship without swapping it?
A script can change the texture of the player ship (where are the adaptive camouflage scripts, people!?), but can it change the 3D model and the performance specifications? My understanding is that apart from texture and display name, the parameters in the shipdata file are not changeable.
What I'm saying is, if you gave up your ship and later bought the same model back again, a script could set up all the equipment so it was just the way you remembered it. That's the easy problem.
Like others, I perceive the hard problem to be getting the right model of ship back again. The only way to do it through the shipyard screen would seem to be to delete all the shipdata for ships you don't like, so the game has no option but to offer the ones you want in the shipyard. But that turns every shipyard into a magic garage everywhere you travel. That's not the desired effect.
So, is there another way to swap ships, other than through the shipyard screen?
Or, is there a way to change the current ship without swapping it?
A script can change the texture of the player ship (where are the adaptive camouflage scripts, people!?), but can it change the 3D model and the performance specifications? My understanding is that apart from texture and display name, the parameters in the shipdata file are not changeable.
-
- ---- E L I T E ----
- Posts: 503
- Joined: Sat Jun 11, 2011 7:46 pm
Re: "Personal Base" OXP Concept (Open to Ideas)
Here's an idea...since the player and ship ARE tied via the savefile, what if the garage module reads the current savefile when you dock and creates the ship definition in its own savefile? We would just need to add a single boolean variable to the savefile to indicate whether the current ship is known to the garage.
A similar method could be used for "ship delivery", except pulling the values off of the shipyard instead of the savefile.
Leaving the next major obstacle to - how do we allow the player to upgrade equipment on a ship to be delivered?
A similar method could be used for "ship delivery", except pulling the values off of the shipyard instead of the savefile.
Leaving the next major obstacle to - how do we allow the player to upgrade equipment on a ship to be delivered?
- Capt. Murphy
- Commodore
- Posts: 1127
- Joined: Fri Feb 25, 2011 8:46 am
- Location: UK South Coast.
Re: "Personal Base" OXP Concept (Open to Ideas)
Unless you are thinking of a third party application (Linux, Mac and Windows versions of course) I think you'll find that's there is no way via JS to get the current Oolite Game Engine to save anything other than the standard save game files or logs, or load anything other than a save file. However you can save whatever data you like in the standard save file as mission variables.
Cloning the shipyard - don't think it can be done given current limitation on accessing shipyard data variables and shipyard.plist data variables via script. I also don't think there is anyway via JS to actually change the current player ship even if you had saved the attributes in a save file. The only mechanism is via the standard hard coded shipyard code.
I had in the back of mind a 'rent a dry dock' idea. The premise being that in 2 or 3 systems per galaxy the shipyard is replaced with a custom version which gave the option of storing your old ship rather than trading it in when you buy a new one. You pay a rent up front, and then if you return to a system where you have stored a ship the shipyard gives you the option of swapping it for your current ship (you pay an additional fee at this point). Was thinking that the shipyards would also transport the stored ship to your new Galaxy when you hop (for a fee).
Unfortunately I don't think this is possible - mainly because of the lack of JS control over the shipyard and the lack of a JS mechanism to change ships without using the shipyard code. I got quite inventive, thinking of a dummy shipyard.plist entry for your stored ship and some script to run under the playerBoughtNewShip handler to fix up any anomolies. No way to guarantee that the dummy ship would actually show up in the shipyard when you visit......grr.
Have a good peruse of the JS documentation on the wiki ( http://wiki.alioth.net/index.php/Oolite ... ject_model) and work out a list of what would have to be script accessible to do what you want to do and submit it as a script request. Be aware that it is very unlikely that any requests will be implemented until after the next stable (non beta) release.
Cloning the shipyard - don't think it can be done given current limitation on accessing shipyard data variables and shipyard.plist data variables via script. I also don't think there is anyway via JS to actually change the current player ship even if you had saved the attributes in a save file. The only mechanism is via the standard hard coded shipyard code.
I had in the back of mind a 'rent a dry dock' idea. The premise being that in 2 or 3 systems per galaxy the shipyard is replaced with a custom version which gave the option of storing your old ship rather than trading it in when you buy a new one. You pay a rent up front, and then if you return to a system where you have stored a ship the shipyard gives you the option of swapping it for your current ship (you pay an additional fee at this point). Was thinking that the shipyards would also transport the stored ship to your new Galaxy when you hop (for a fee).
Unfortunately I don't think this is possible - mainly because of the lack of JS control over the shipyard and the lack of a JS mechanism to change ships without using the shipyard code. I got quite inventive, thinking of a dummy shipyard.plist entry for your stored ship and some script to run under the playerBoughtNewShip handler to fix up any anomolies. No way to guarantee that the dummy ship would actually show up in the shipyard when you visit......grr.
Have a good peruse of the JS documentation on the wiki ( http://wiki.alioth.net/index.php/Oolite ... ject_model) and work out a list of what would have to be script accessible to do what you want to do and submit it as a script request. Be aware that it is very unlikely that any requests will be implemented until after the next stable (non beta) release.
Capt. Murphy's OXPs
External JavaScript resources - W3Schools & Mozilla Developer Network
Win 7 64bit, Intel Core i5 with HD3000 (driver rev. 8.15.10.2696 - March 2012), Oolite 1.76.1
External JavaScript resources - W3Schools & Mozilla Developer Network
Win 7 64bit, Intel Core i5 with HD3000 (driver rev. 8.15.10.2696 - March 2012), Oolite 1.76.1
- Staer9
- ---- E L I T E ----
- Posts: 570
- Joined: Fri Feb 18, 2011 4:53 pm
- Location: Hatfield, Hertfordshire (poor industrial)
Re: "Personal Base" OXP Concept (Open to Ideas)
Wheres CSOTB... He loves it when someone says something is impossibleMauiby de Fug wrote:As far as the garage/multiple ships idea goes, Smivs is correct. That's essentially impossible.
- Killer Wolf
- ---- E L I T E ----
- Posts: 2279
- Joined: Tue Jan 02, 2007 12:38 pm
Re: "Personal Base" OXP Concept (Open to Ideas)
could you not hold your other ships as "equipment" and when you cycle through and activate one (like you'd activate a pylon weapon, you change the player ship to that item and your current ship takes its place. the option to do this should only occur if you're docked at your home base of course.