Custom Upgrades to Player Ships (changes made by Javascript)

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

Moderators: winston, another_commander

Post Reply

Opinion on Idea:

Crazy
2
25%
Neat
3
38%
Both
3
38%
 
Total votes: 8

User avatar
Commander Wilmot
Deadly
Deadly
Posts: 206
Joined: Thu Mar 17, 2011 10:12 pm
Location: Somewhere in galaxy 1, flying my Diamondback

Custom Upgrades to Player Ships (changes made by Javascript)

Post by Commander Wilmot »

I had an idea (it's probably CRAZY) for an oxp. What if you had a ship that you could modify? Example purchase a cargo upgrade from the equipment screen and upgrade from thirty tons to a hundred tons max cargo space, but you lose .10 ls from your max speed. The crazy part is that it would require separate ship data entries for each ship and a script to correctly switch the ship for another ship of the correct type.
Example:
The player's current version of the Modular Ship MK.I (MS from here on) is the MS s+ (speed upgrade) e+ (energy bank upgrade, adds an extra energy bank)
The player desires to add the cargo upgrade (c+), resulting in his ship being replaced by the MS sec+ variant.

this.playerboughtequipment or whatever the command is has to trigger a script that would replace the MS se+ variant with the MS sec+ variant and not the MS c+ variant.

Other complications: certain equipment should be restricted, such as a cargo upgraded variant probably shouldn't have mil shield boosters, but the speed upgraded variants with standard cargo capacity should. What should be done with mil shield boosters if player upgrades to a c+ variant? Should it be removed but some money refunded (both are rhetorical questions, though suggestions might be nice.)?

What do you think? If enough people like it, and I get around to learning blender over the summer, I might give it a go.
User avatar
Gimi
---- E L I T E ----
---- E L I T E ----
Posts: 2073
Joined: Tue Aug 29, 2006 5:02 pm
Location: Norway

Re: Custom Upgrades to Player Ships (changes made by Javascr

Post by Gimi »

Good idea. I assume you can both upgrade and downgrade in this setup, and thus totally change the role of your ship. You need to be careful though, as this may become a ship that sort of renders all other ships undesirable, at least to new players who, unlike me, don't have an affiliation for the Old Elite ship set. A ship "setup" like this would need careful balancing to fit neatly into the game.
"A brilliant game of blasting and trading... Truly a mega-game... The game of a lifetime."
(Gold Medal Award, Zzap!64 May 1985).
User avatar
Commander McLane
---- E L I T E ----
---- E L I T E ----
Posts: 9520
Joined: Thu Dec 14, 2006 9:08 am
Location: a Hacker Outpost in a moderately remote area
Contact:

Re: Custom Upgrades to Player Ships (changes made by Javascr

Post by Commander McLane »

Methinks that it would be hugely simpler to make the respective player ship properties read/write than to have a host of subtly different ships. The latter doesn't really seem practical.

Besides, it's impossible to switch ships via script anyway, and I guess the code-rewriting to make that possible would be much more extensive than for r/w properties.

I have no idea whether any of this is currently on the table for Oolite 2. You could turn the basic idea into a suggestion, though.
User avatar
CommonSenseOTB
---- E L I T E ----
---- E L I T E ----
Posts: 1397
Joined: Wed May 04, 2011 10:42 am
Location: Saskatchewan, Canada

Re: Custom Upgrades to Player Ships (changes made by Javascr

Post by CommonSenseOTB »

Hey there, just taking a break and came across this thread. You know Commander McLane is quite correct but if it wouldn't potentially destabilize the game by making the variables read/write there would definately have to be general agreement for all developers that upgrades could only improve ships by a set percentage MAX. Once you open pandora's box to this there's no going back.

You know a while back many moons ago I pondered this same idea and I decided that it WAS doable without much scripting but was still impractical due to the amount of work and the end result might not be useable by most of the community.

Here was my idea.

Build piece of equipment "upgrade ship" sell for no cost. It explains(and requires) that you go immediately to the ship screen after purchase. When you buy it a script takes an inventory of your ships' equipment and stores it on a set of mission variables and the equipment sets its' own missionvariables for some condition checks. You then go to the shipyard screen and now see a bunch of ships that look like yours except they are labelled, for example "add port turret" or "remove port turret" or "add engine booster" etc,etc. The player would have to just ignore the trade in price stuff as the price would be 0 and the listed price would be in the name. Now, the ships' shipyard files would have conditions met by the missionvariables set by the equipment"upgrade ship"allowing them to appear. When you buy the ship(actually the upgraded version of your ship) an event would trigger a script to reinstall all the equipment you had before and adjust the cash properly. Cool huh?! 8)

I may have missed something obvious that might prevent this sequence from taking place but that is the idea/approach that I would try if I wanted to bypass the the ships properties being read only. I haven't tried it yet but if no one does I probably will and the cobra mk3 will become the most upgradable ship around(good reason to still own one, ehh? :wink: )Now back to the huds...

You know I ALWAYS wanted a fully customizable Cobra Mk III so why don't we just make the ship properties read/write because someone will just find a way around anyway(if it is possible).

CommonSenseOTB(Always thinking Outside-The-Box) :)
Take an idea from one person and twist or modify it in a different way as a return suggestion so another person can see a part of it that can apply to the oxp they are working on.


CommonSense 'Outside-the-Box' Design Studios Ltd.
WIKI+OXPs
User avatar
Commander McLane
---- E L I T E ----
---- E L I T E ----
Posts: 9520
Joined: Thu Dec 14, 2006 9:08 am
Location: a Hacker Outpost in a moderately remote area
Contact:

Re: Custom Upgrades to Player Ships (changes made by Javascr

Post by Commander McLane »

CommonSenseOTB wrote:
The player would have to just ignore the trade in price stuff as the price would be 0 and the listed price would be in the name.
You'd need to spend some more thoughts here.

If the price of your new ship is 0, its resell value—should you ever want to buy another ship—will be 0 as well. Players will complain about that.

And even if you give it a correct price, the player is always going to lose a lot of money for each upgrade, because each upgrade actually means selling your current ship and buying a new one. Of course the script can deal with that, but at least it's an issue that you have to keep in mind.
Last edited by Commander McLane on Thu May 19, 2011 7:50 am, edited 1 time in total.
Zireael
---- E L I T E ----
---- E L I T E ----
Posts: 1396
Joined: Tue Nov 09, 2010 1:44 pm

Re: Custom Upgrades to Player Ships (changes made by Javascr

Post by Zireael »

I love the idea, but from what I read above implementing it will be tricky.
User avatar
Lone_Wolf
---- E L I T E ----
---- E L I T E ----
Posts: 546
Joined: Wed Aug 08, 2007 10:59 pm
Location: Netherlands

Re: Custom Upgrades to Player Ships (changes made by Javascr

Post by Lone_Wolf »

1 problem is that it's impossible to guarantee that a specific ship will be available in shipyard.

The conditions in shipdata.plist only result in that ship being an option for that specific shipyard.
given it chance 1 only increases the change the probability it will be available for sale, nothing more.

(this could ofcourse be solved by a feature request to add a specific ship to a shipyard at run-time).

As for the general idea :

Currently oolite ships (vanilla and oxp) are designed by a developer who makes certain choices.
The business model is imo very similar to that of car design :
the manufacturer makes design choices, decides which options and versions will be available.
The buyer chooses from what's available.
Some buyers will have the skill to change the design dramatically (like putting a formula 1 motor on a city car chassis), but this effectively means they create a new car design.

Your approach seems more like :
A hull is chosen for the ship, then it's decided what is put into it. ( building blocks approach )
All ships would have the same base, it's specs would be determined by what you put into it.
(The invulnerable General Products hulls from Larry Niven's stories that are set in his 'Known Space' work like this).

While this is also a viable business model for ship development, it's very different from the way Oolite ship design works.
Bad idea imo.
OS : Arch Linux 64-bit - rolling release

OXPs : My user page

Retired, reachable at [email protected]
User avatar
Commander Wilmot
Deadly
Deadly
Posts: 206
Joined: Thu Mar 17, 2011 10:12 pm
Location: Somewhere in galaxy 1, flying my Diamondback

Re: Custom Upgrades to Player Ships (changes made by Javascr

Post by Commander Wilmot »

Thanks for the feedback. I mis-read a proposal on a garage oxp, that gave me the impression that it would be possible to change ships by script. Also my thought was that the ship would have to be designed to be modular, in other words you couldn't, for example, just modify a python with a cargo bay upgrade. The modular ship would be designed in such a way that a work crew could cut apart the ship sections and weld a new piece in. The work crew removes the old 30 ton capacity cargo bay and welds a new 100 ton capacity cargo bay into the front cockpit\crew quarters section and the rear engine section.
Currently oolite ships (vanilla and oxp) are designed by a developer who makes certain choices.
The business model is imo very similar to that of car design :
the manufacturer makes design choices, decides which options and versions will be available.
The buyer chooses from what's available.
Some buyers will have the skill to change the design dramatically (like putting a formula 1 motor on a city car chassis), but this effectively means they create a new car design.

Your approach seems more like :
A hull is chosen for the ship, then it's decided what is put into it. ( building blocks approach )
All ships would have the same base, it's specs would be determined by what you put into it.
(The invulnerable General Products hulls from Larry Niven's stories that are set in his 'Known Space' work like this).
Exactly my idea
User avatar
Commander Wilmot
Deadly
Deadly
Posts: 206
Joined: Thu Mar 17, 2011 10:12 pm
Location: Somewhere in galaxy 1, flying my Diamondback

Re: Custom Upgrades to Player Ships (changes made by Javascr

Post by Commander Wilmot »

However I realized I might have given the wrong impression. The modular upgrades won't just improve your ship. For example, if you add a cargo bay, it won't just improve your cargo capacity, it will also subtract from your ship's thrust (and possibly subtract from the ship's speed as well.) The modular ship will also probably not be quite as good as the equivalent vanilla oolite ship. A M.S. c+ will have the same cargo capacity and speed as a Python, but might only have the four energy banks of a standard enhanced M.S, which have stats equal to a Cobra III. Or an M.S. c- s+, a variant with no cargo bay and a speed enhancement, would be equivalent to an asp except it might only go to .38 ls. The ship would not be quite as good as a base ship, but it would be much cheaper. Of course for the moment this is a mute point, as there is no ability to change ships via script, unless Commander McLane has a solution (I thought I heard him say he has a script in Cataclysm which gives you the chance to buy a unique ship upon completing the mission.)

Also certain modules could exclude others, limiting the number of ships needing a entry in a .plist. An M.S. with c++ upgrade, a variant which is equivalent to a boa, could not accept a s+ (a speed upgrade).
User avatar
DaddyHoggy
Intergalactic Spam Assassin
Intergalactic Spam Assassin
Posts: 8515
Joined: Tue Dec 05, 2006 9:43 pm
Location: Newbury, UK
Contact:

Re: Custom Upgrades to Player Ships (changes made by Javascr

Post by DaddyHoggy »

I've just realised where I've come across your idea of modular space ships before...

HERE
Selezen wrote:
Apparently I was having a DaddyHoggy moment.
Oolite Life is now revealed here
User avatar
CommonSenseOTB
---- E L I T E ----
---- E L I T E ----
Posts: 1397
Joined: Wed May 04, 2011 10:42 am
Location: Saskatchewan, Canada

Re: Custom Upgrades to Player Ships (changes made by Javascr

Post by CommonSenseOTB »

:D

Lego rocks! Now all we need is the Elite set of ship kits and I'll pick up a Cobra Mk III tomorrow! :)
Take an idea from one person and twist or modify it in a different way as a return suggestion so another person can see a part of it that can apply to the oxp they are working on.


CommonSense 'Outside-the-Box' Design Studios Ltd.
WIKI+OXPs
User avatar
Commander McLane
---- E L I T E ----
---- E L I T E ----
Posts: 9520
Joined: Thu Dec 14, 2006 9:08 am
Location: a Hacker Outpost in a moderately remote area
Contact:

Re: Custom Upgrades to Player Ships (changes made by Javascr

Post by Commander McLane »

Commander Wilmot wrote:
Of course for the moment this is a mute point, as there is no ability to change ships via script, unless Commander McLane has a solution (I thought I heard him say he has a script in Cataclysm which gives you the chance to buy a unique ship upon completing the mission.)
Nope, no solution. Switching ships is not possible, because for the game the player is his ship. The important word inside the parenthesis is "buy", which is not "award by script". And it requires the manipulation of a whole system in order to manipulate its shipyard. And there is no guarantee that this manipulation actually works (in my trials it worked with a rate of about 3 in 4).
User avatar
Commander Wilmot
Deadly
Deadly
Posts: 206
Joined: Thu Mar 17, 2011 10:12 pm
Location: Somewhere in galaxy 1, flying my Diamondback

Re: Custom Upgrades to Player Ships (changes made by Javascr

Post by Commander Wilmot »

I can't claim credit for this idea. I got it from the Evochron series of games. The latest one is Evochron Mercenary.
User avatar
Commander Wilmot
Deadly
Deadly
Posts: 206
Joined: Thu Mar 17, 2011 10:12 pm
Location: Somewhere in galaxy 1, flying my Diamondback

Re: Custom Upgrades to Player Ships (changes made by Javascr

Post by Commander Wilmot »

I put a request in the Oolite 2.0 Looking Ahead Forum. My interest in using script ship changing as opposed to a read/write format (though I put in a request for both) is because then the ship model can visually change via the use of sub-ents in the plist.
Post Reply