future ship changing

Post ideas & suggestions you have pertaining to the game here.
User avatar
Xephyr
Militia Captain
Militia Captain
Posts: 857
Joined: Fri Dec 14, 2007 1:52 am
Location: Orion Arm, Milky Way
Contact:

george moromisato wrote:
digdug wrote:now, the question is: in the future, will be the player oblidged to change ships to reach Heretic (or beyond), or the little Wolfen/sapphire/freighter will be enough for everything ?
My current plan is to keep the game as it is: the starting ship class should be enough to get through Heretic. [Of course, it should be possible to change ships, if the player desires.]

But I expect that soon after Heretic the player will be more or less forced to switch to a different ship (one based on Ancient Races technology).
I think it would be most effective an addition for mods.

But if you're thinking about having the player force a playership change, I should show you the ships I've been working on; basically alien Wolfen, Sapphire, and freighter.

Initially, I thought of having you do missions to get the new ships; Militia for Sapphire, Teraton for Wolfen, and Ringer for freighter, but if you like what you see, you can steal my idea (^.^)
Project Renegade (Beta) : "The Poor Man's Corporate Command!"
Real programmers count from 0. And sometimes I do, too.
User avatar
Betelgeuse
Fleet Officer
Fleet Officer
Posts: 1920
Joined: Sun Mar 05, 2006 6:31 am

just had another thought. How will this effect resurrection. Maybe I just don't understand the current resurrection system well enough but consider this case. Say you have insurance and a scout ship. If your scout ship dies you want control to transfer to the player ship and if the original ship dies you want that ship replaced even if you are currently controlling the scout ship.
Crying is not a proper retort!
User avatar
Aury
Fleet Admiral
Fleet Admiral
Posts: 5528
Joined: Tue Feb 05, 2008 1:10 am
Location: At the VSS Shipyards in the frontier, designing new ships.

Wow, 1.02/1.03 already?

:shock:

As to the modder's use of this, I'm going to really caution people against trying to sell players capships using vanilla balance! Vanilla transcendence was NOT meant for this sort of system until heretic, at which point it would be logical to switch over...
You'd have to rebalance everything, in sort of an Escape-velocity sort of way (ie, so many items will be out of reach to starting ship types; it's either all or nothing (or ships that grow))

btw - is it possible to make a shiptype that CAN'T be switched out of? I would think this would just be handled externally)
(shpOrder gPlayership 'barrelRoll)

<New tutorials, modding resources, and official extension stuff coming to this space soon!>
User avatar
alterecco
Fleet Officer
Fleet Officer
Posts: 1658
Joined: Wed Jan 14, 2009 3:08 am
Location: Previously enslaved by the Iocrym

george moromisato wrote:In general, I am also moving away from storing player-specific data on the player ship itself. As a design pattern, I think it is better to store such data elsewhere.
I very strongly support this change :D

How about plySetData, plyGetData?

I find the <OnPlayerShipChange> event a little clunky. It would put control of these situations into the xml (read: hardcoded) and not in scripting itself.

I would much prefer to have a function that returned a list of the keys set on an object, say: (objGetDataElements obj) -> list of keys
This would allow us to inspect the objects dynamically and choose the appropriate solution. That does not necessarily mean an <OnPlayerShipChange> event is a bad idea... the more events the merrier :)
User avatar
Betelgeuse
Fleet Officer
Fleet Officer
Posts: 1920
Joined: Sun Mar 05, 2006 6:31 am

we are talking on irc and Atarlost had a cool idea about ship changing.
You could use it to change into yourself and wonder around friendly stations. This would be a good way of introducing lore and atmosphere. You could also do covert missions such as getting needed info on a warlord.

The main problem will be is walls don't currently function well enough for this to be feasible. Actions (talking) would be easy enough and you can make yourself inertialess.

Any thoughts on the idea or any other problems that might pop up?
Crying is not a proper retort!
User avatar
Betelgeuse
Fleet Officer
Fleet Officer
Posts: 1920
Joined: Sun Mar 05, 2006 6:31 am

alterecco wrote: I would much prefer to have a function that returned a list of the keys set on an object, say: (objGetDataElements obj) -> list of keys
This would allow us to inspect the objects dynamically and choose the appropriate solution. That does not necessarily mean an <OnPlayerShipChange> event is a bad idea... the more events the merrier :)
The issue that might pop up is if someone needs to put data on a ship but needs to have the ai use different data (and assuming that data needs to be kept up to date). The scripter has no idea how to treat that data key necessarily because they may not the original modder.

bonus thought:
What if the AI did ship changing to. You could have pirates that took over other ships.

eta: also thought up another use for OnPlayerShipChange, equipment that acts differently on different ships. Such as different power uses.
Crying is not a proper retort!
User avatar
alterecco
Fleet Officer
Fleet Officer
Posts: 1658
Joined: Wed Jan 14, 2009 3:08 am
Location: Previously enslaved by the Iocrym

Betelgeuse wrote:The scripter has no idea how to treat that data key necessarily because they may not the original modder.
This issue applies to so many areas of modding that it is hardly something that can be solved here. When mods are put together, strange problems are bound to happen. I think we should be more concerned with the needs of an individual mod, using advanced features.
User avatar
Prophet
Militia Captain
Militia Captain
Posts: 826
Joined: Tue Nov 18, 2008 6:09 pm

Beletgeuse wrote:You could use it to change into yourself and wonder around friendly stations. This would be a good way of introducing lore and atmosphere. You could also do covert missions such as getting needed info on a warlord.
I thought about doing that for a dockable planets mod. I'm not sure if we have the tools to paint a human-scale environment yet. Using stations to hold the environment images (unless we get some huge changes to spaceEnvironments) might be an option if the movement speed was kept below 10.
Your primary weapon could be an "interact" action with some fancy scripting in onFire and the launcher slot an equipped weapon(s).
The ship change ability would make this much more appealing. Eliminating power usage and fuel consumption (or freezing them and not showing it in the hud). Changing armor to a human-scale equivalent. Only 1 plate of armor, shields could remain. Cargo capacity and 'slot' requirements would be altered.

Betelgeuse wrote:What if the AI did ship changing to. You could have pirates that took over other ships.
I was actually doing this tonight! :D
Actually, nothing very spectacular (changing sov and ordering the ship to gate).
Having one ship inherit the AI settings of another wouldn't be such a bad thing if it were limited to certain ships or an all new class of ships. I would love to see a super-evolved version of the Luminous that would infect any and all non-organic ships that ventured too close to their mainframe.

As for dying, <OnInsuranceClaim> might hold some promise, with the help of some new functions. I was just talking to Digdug about Battlestar Galactica's Cylon Resurrection ship last night too! If the player could amass an armada, presumably with the higher tech of the ancients, cloning could be made available on a ship. Perhaps the player Uploads their consciousness into the ship and you don't truly die until every one of your ships are dead but the player could instantly switch control from one to any other ship in the same system.
alterecco wrote:I would much prefer to have a function that returned a list of the keys set on an object, say: (objGetDataElements obj) -> list of keys
I really like this idea, even before the ship change. It could help in so many situations.
Coming soon: The Syrtian War adventure mod!
A Turret defense genre mod exploring the worst era in Earth's history.
Can you defend the Earth from the Syrtian invaders?
Stay tuned for updates!
User avatar
Betelgeuse
Fleet Officer
Fleet Officer
Posts: 1920
Joined: Sun Mar 05, 2006 6:31 am

an idea from StealthX in IRC. Have different ships have different ship interiors.
Crying is not a proper retort!
User avatar
Atarlost
Fleet Admiral
Fleet Admiral
Posts: 2391
Joined: Tue Aug 26, 2008 12:02 am

Betelgeuse wrote:an idea from StealthX in IRC. Have different ships have different ship interiors.
Only if Alterecco's ship interior hook is made official. Otherwise this will conflict with critical debugging mods.
User avatar
digdug
Fleet Admiral
Fleet Admiral
Posts: 2620
Joined: Mon Oct 29, 2007 9:23 pm
Location: Decoding hieroglyphics on Tan-Ru-Dorem

don't we already have custom ship interiors ?
<PlayerSettings>
shipScreen="{unid} | {screen-name}"

A player ship may specify a custom ship screen. This allows the modder to override the screen that comes up when the player presses the key.
User avatar
Betelgeuse
Fleet Officer
Fleet Officer
Posts: 1920
Joined: Sun Mar 05, 2006 6:31 am

I don't know how feasible this is but a solution to the resurrection problem might be to register ships to be resurrected.
Crying is not a proper retort!
User avatar
digdug
Fleet Admiral
Fleet Admiral
Posts: 2620
Joined: Mon Oct 29, 2007 9:23 pm
Location: Decoding hieroglyphics on Tan-Ru-Dorem

there was a little brainstorming on ship changing on IRC, and I have a question about timers called by events on ships :

you have an event running a timer on ship A, you change to B, is the event still running ?

Betel suggests something like a method to enumerate over running timers or even events.
User avatar
Betelgeuse
Fleet Officer
Fleet Officer
Posts: 1920
Joined: Sun Mar 05, 2006 6:31 am

some more thoughts on timers. Some timers where put there by devices and if the device isn't on the new ship you don't want the timer on the new ship.
You might want the timed events to continue on the old ship. (ie device driven events)
Crying is not a proper retort!
User avatar
Atarlost
Fleet Admiral
Fleet Admiral
Posts: 2391
Joined: Tue Aug 26, 2008 12:02 am

What about if you remove all the devices so onuninstall events get applied, then copy the remaining timers, then add whatever devices the new ship gets so oninstall events run.

When leaving a ship temporarily you'd store the ship'd devices and cargo in a list for when it's returned to in the script that calls the ship swap.
Post Reply