Permanent GalDrive OXP

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

Moderators: winston, another_commander

User avatar
Wildeblood
---- E L I T E ----
---- E L I T E ----
Posts: 2453
Joined: Sat Jun 11, 2011 6:07 am
Location: Western Australia
Contact:

Permanent GalDrive OXP

Post by Wildeblood »

Sensible GalDrive OXP ver. 0.9
Date: November 20th, 2011

http://www.boxcn.net/s/0721l5ga2anm0qyu5o2n

This OXP removes the traditional, 5000cr, one-shot, "Galactic Hyperdrive" from the game, and re-implements it as a 40000cr, permanently-installed "Long-Range Hyperdrive". This changes Oolite's gameplay somewhat - it will be deemed an obvious improvement by some players and heresy by others. To use, place the Sensible GalDrive OXP into your "AddOns" folder.

After purchasing the Long-Range Hyperdrive from any planet of technical level 11 or higher, use the prime-able equipment (N-key) menu to arm or disarm the hyperdrive. Whenever the hyperdrive is armed, you can make a long-range jump to a new galactic sector in the familiar way (g-key by default).
There you go. That's as far as I've got with this idea.

See also: Switeck's Quantum Drive System v0.2 and my GalDrive Programmers.
Last edited by Wildeblood on Sun Nov 20, 2011 9:23 am, edited 2 times in total.
In your heart, you know it's flat.
User avatar
RyanHoots
---- E L I T E ----
---- E L I T E ----
Posts: 958
Joined: Fri May 20, 2011 8:10 pm
Location: Nowhere
Contact:

Re: Permanent GalDrive OXP

Post by RyanHoots »

Wildeblood wrote:
Sensible GalDrive OXP ver. 0.8
Date: November 15th, 2011

http://www.boxcn.net/s/m8syt8h6h0rr9mbecm52

This OXP removes the traditional, 5000cr, one-shot, "Galactic Hyperdrive" from the game, and re-implements it as a 40000cr, permanently-installed "Long-Range Hyperdrive". This changes Oolite's gameplay somewhat - it will be deemed an obvious improvement by some players and heresy by others. To use, place the Sensible GalDrive OXP into your "AddOns" folder.

After purchasing the Long-Range Hyperdrive from any planet of technical level 11 or higher, use the prime-able equipment (N-key) menu to arm or disarm the hyperdrive. Whenever the hyperdrive is armed, you can make a long-range jump to a new galactic sector in the familiar way (g-key by default).
There you go. That's as far as I've got with this idea.
It's a very good idea. The normal wutchspace drive needs fuel, so why can't this one? How about five light years to go to a new galaxy?
Image
User avatar
Kaks
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 3009
Joined: Mon Jan 21, 2008 11:41 pm
Location: The Big Smoke

Re: Permanent GalDrive OXP

Post by Kaks »

If you consider it 'sensible' for it to consume fuel (i.e. if you're diverging from the canon 'all galactic drive requirements are self-contained') it could well stand to reason that the permanent gal drive might need more fuel than a standard 7ly hop...

Why not a full 7ly tank plus an external 3ly fuel pod? :twisted:



Still, - and I know, I am repeating myself - this idea would be a lot more sensible if you didn't make changes to standard equipment that actually 'break' one of the standard Oolite missions.
As it is now, this oxp makes it extremely unlikely for the nova mission to ever happen, and - in case it acutally happens - it would make an already difficult to solve problem into one that's basically impossible to solve without prior knowledge.
Hey, free OXPs: farsun v1.05 & tty v0.5! :0)
User avatar
Mauiby de Fug
---- E L I T E ----
---- E L I T E ----
Posts: 847
Joined: Tue Sep 07, 2010 2:23 pm

Re: Permanent GalDrive OXP

Post by Mauiby de Fug »

Suggestion: why not simply make it only available to be bought after the nova mission has taken place, explanation being that the tragedy of a planet having been destroyed and the difficulties faced by those helping to evacuate inspired its creation?
User avatar
DaddyHoggy
Intergalactic Spam Assassin
Intergalactic Spam Assassin
Posts: 8515
Joined: Tue Dec 05, 2006 9:43 pm
Location: Newbury, UK
Contact:

Re: Permanent GalDrive OXP

Post by DaddyHoggy »

Mauiby de Fug wrote:
Suggestion: why not simply make it only available to be bought after the nova mission has taken place, explanation being that the tragedy of a planet having been destroyed and the difficulties faced by those helping to evacuate inspired its creation?
Good suggestion/compromise - except it won't satisfy/pacify the "now now now" element...
Selezen wrote:
Apparently I was having a DaddyHoggy moment.
Oolite Life is now revealed here
User avatar
maik
Wiki Wizard
Wiki Wizard
Posts: 2028
Joined: Wed Mar 10, 2010 12:30 pm
Location: Ljubljana, Slovenia (mainly industrial, feudal, TL12)

Re: Permanent GalDrive OXP

Post by maik »

Wildeblood wrote:
There you go. That's as far as I've got with this idea.
Added it to the WIP section of the [wiki]OXP List[/wiki].
User avatar
Kaks
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 3009
Joined: Mon Jan 21, 2008 11:41 pm
Location: The Big Smoke

Re: Permanent GalDrive OXP

Post by Kaks »

Mauiby de Fug wrote:
Suggestion: why not simply make it only available to be bought after the nova mission has taken place, explanation being that the tragedy of a planet having been destroyed and the difficulties faced by those helping to evacuate inspired its creation?
Suddenly more sensible already! :D

Maybe a random number of jumps afterward you get news on docking that due to safety concerns blah, blah... mind you, the new gal drive would still make things more difficult for a pilot in a similar situation...
Hey, free OXPs: farsun v1.05 & tty v0.5! :0)
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

Re: Permanent GalDrive OXP

Post by Cmdr. Maegil »

As long as the core galdrive still exists alongside with the permanent one, it can always be rationalized as a company using the event to launch and advertise (read spin-doctor) a new must-have safety gadget - possibly interacting with YAH and the newscasts...Astral phenomena are known to produce this kind of overreaction in RL.
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
Wildeblood
---- E L I T E ----
---- E L I T E ----
Posts: 2453
Joined: Sat Jun 11, 2011 6:07 am
Location: Western Australia
Contact:

Re: Permanent GalDrive OXP

Post by Wildeblood »

Mauiby de Fug wrote:
Suggestion: why not simply make it only available to be bought after the nova mission has taken place, explanation being that the tragedy of a planet having been destroyed and the difficulties faced by those helping to evacuate inspired its creation?
I would have thought the oobvious thing to do was only make it available in Sector 8.
User avatar
Smivs
Retired Assassin
Retired Assassin
Posts: 8408
Joined: Tue Feb 09, 2010 11:31 am
Location: Lost in space
Contact:

Re: Permanent GalDrive OXP

Post by Smivs »

Wildeblood wrote:
I would have thought the oobvious thing to do was only make it available in Sector 8.
Why not design a little mission which allows you to win one when you get to G8? The native missions end after G5 and this would be a nice little extra.
Commander Smivs, the friendliest Gourd this side of Riedquat.
User avatar
Thargoid
Thargoid
Thargoid
Posts: 5528
Joined: Thu Jun 12, 2008 6:55 pm

Re: Permanent GalDrive OXP

Post by Thargoid »

Umm, Nova starts with a fuel leak, and the new drive thingie needs a full tank to work.

So where is the issue, other than people using an extra fuel tank, which breaks the mission anyway...? For me the new one doesn't break anything (indeed it unbreaks something, as the current one can be used to escape the nova system).
User avatar
Wildeblood
---- E L I T E ----
---- E L I T E ----
Posts: 2453
Joined: Sat Jun 11, 2011 6:07 am
Location: Western Australia
Contact:

Re: Permanent GalDrive OXP

Post by Wildeblood »

Kaks wrote:
Still, - and I know, I am repeating myself - this idea would be a lot more sensible if you didn't make changes to standard equipment that actually 'break' one of the standard Oolite missions.
As it is now, this oxp makes it extremely unlikely for the nova mission to ever happen, and - in case it acutally happens - it would make an already difficult to solve problem into one that's basically impossible to solve without prior knowledge.
Righto, I just did the mission in question. The result was an almost 1 megabyte log file full of this junk:-
Latest.log wrote:
17:13:34.736 [ai.error.stackOverflow.dump]: 7: route1traderAI.plist: HEAD_FOR_PLANET
17:13:34.736 [ai.error.stackOverflow.dump]: 6: exitingTraderAI.plist: EXIT_SYSTEM
17:13:34.736 [ai.error.stackOverflow.dump]: 5: route1traderAI.plist: HEAD_FOR_PLANET
17:13:34.736 [ai.error.stackOverflow.dump]: 4: exitingTraderAI.plist: EXIT_SYSTEM
17:13:34.736 [ai.error.stackOverflow.dump]: 3: route1traderAI.plist: HEAD_FOR_PLANET
17:13:34.736 [ai.error.stackOverflow.dump]: 2: exitingTraderAI.plist: EXIT_SYSTEM
17:13:34.737 [ai.error.stackOverflow.dump]: 1: route1traderAI.plist: HEAD_FOR_PLANET
17:13:34.737 [ai.error.stackOverflow.dump]: 0: exitingTraderAI.plist: EXIT_SYSTEM
17:13:34.737 [exception]: Squashing exception OoliteException:AI stack overflow for <ShipEntity 0xa549088>{"Sidewinder Scout Ship" position: (12671.9, 1111.07, 593688) scanClass: CLASS_NEUTRAL status: STATUS_IN_FLIGHT} in AI handler route1traderAI.plist:GO_TO_STATION.NO_STATION_FOUND
17:13:35.222 [ai.error.stackOverflow]: ***** ERROR: AI stack overflow for <ShipEntity 0x20bb43b8>{"Sidewinder Scout Ship"} in exitingTraderAI.plist: EXIT_SYSTEM -- stack:

17:13:35.222 [ai.error.stackOverflow.dump]: 31: escortAI.plist: FLYING_ESCORT
17:13:35.223 [ai.error.stackOverflow.dump]: 30: exitingTraderAI.plist: EXIT_SYSTEM
17:13:35.223 [ai.error.stackOverflow.dump]: 29: route1traderAI.plist: GO_TO_STATION
17:13:35.223 [ai.error.stackOverflow.dump]: 28: exitingTraderAI.plist: EXIT_SYSTEM
17:13:35.223 [ai.error.stackOverflow.dump]: 27: route1traderAI.plist: HEAD_FOR_PLANET
17:13:35.223 [ai.error.stackOverflow.dump]: 26: exitingTraderAI.plist: EXIT_SYSTEM
17:13:35.223 [ai.error.stackOverflow.dump]: 25: route1traderAI.plist: HEAD_FOR_PLANET
17:13:35.223 [ai.error.stackOverflow.dump]: 24: exitingTraderAI.plist: EXIT_SYSTEM
17:13:35.223 [ai.error.stackOverflow.dump]: 23: route1traderAI.plist: HEAD_FOR_PLANET
17:13:35.223 [ai.error.stackOverflow.dump]: 22: exitingTraderAI.plist: EXIT_SYSTEM
17:13:35.223 [ai.error.stackOverflow.dump]: 21: route1traderAI.plist: GO_TO_STATION
17:13:35.223 [ai.error.stackOverflow.dump]: 20: exitingTraderAI.plist: EXIT_SYSTEM
17:13:35.223 [ai.error.stackOverflow.dump]: 19: route1traderAI.plist: HEAD_FOR_PLANET
17:13:35.223 [ai.error.stackOverflow.dump]: 18: exitingTraderAI.plist: EXIT_SYSTEM
17:13:35.223 [ai.error.stackOverflow.dump]: 17: route1traderAI.plist: HEAD_FOR_PLANET
17:13:35.223 [ai.error.stackOverflow.dump]: 16: gotoWaypointAI.plist: GO_TO_WAYPOINT
17:13:35.223 [ai.error.stackOverflow.dump]: 15: exitingTraderAI.plist: EXIT_SYSTEM
17:13:35.223 [ai.error.stackOverflow.dump]: 14: route1traderAI.plist: GO_TO_STATION
17:13:35.223 [ai.error.stackOverflow.dump]: 13: exitingTraderAI.plist: EXIT_SYSTEM
17:13:35.223 [ai.error.stackOverflow.dump]: 12: route1traderAI.plist: HEAD_FOR_PLANET
17:13:35.223 [ai.error.stackOverflow.dump]: 11: exitingTraderAI.plist: EXIT_SYSTEM
17:13:35.223 [ai.error.stackOverflow.dump]: 10: route1traderAI.plist: HEAD_FOR_PLANET
17:13:35.223 [ai.error.stackOverflow.dump]: 9: exitingTraderAI.plist: EXIT_SYSTEM
17:13:35.224 [ai.error.stackOverflow.dump]: 8: route1traderAI.plist: HEAD_FOR_PLANET
17:13:35.224 [ai.error.stackOverflow.dump]: 7: exitingTraderAI.plist: EXIT_SYSTEM
17:13:35.224 [ai.error.stackOverflow.dump]: 6: route1traderAI.plist: HEAD_FOR_PLANET
17:13:35.224 [ai.error.stackOverflow.dump]: 5: exitingTraderAI.plist: EXIT_SYSTEM
17:13:35.224 [ai.error.stackOverflow.dump]: 4: route1traderAI.plist: HEAD_FOR_PLANET
17:13:35.224 [ai.error.stackOverflow.dump]: 3: exitingTraderAI.plist: EXIT_SYSTEM
17:13:35.224 [ai.error.stackOverflow.dump]: 2: route1traderAI.plist: HEAD_FOR_PLANET
17:13:35.224 [ai.error.stackOverflow.dump]: 1: exitingTraderAI.plist: EXIT_SYSTEM
17:13:35.224 [ai.error.stackOverflow.dump]: 0: route1traderAI.plist: HEAD_FOR_PLANET
17:13:35.224 [exception]: Squashing exception OoliteException:AI stack overflow for <ShipEntity 0x20bb43b8>{"Sidewinder Scout Ship" position: (1605.23, 8365.99, 597061) scanClass: CLASS_NEUTRAL status: STATUS_IN_FLIGHT} in AI handler exitingTraderAI.plist:EXIT_SYSTEM.WITCHSPACE UNAVAILABLE
17:19:25.151 [texture.load.unknownType]: Can't use ../AddOns/Wildefire Avionics.oxp as a texture - extension "oxp" does not identify a known type.
17:20:26.850 [gameController.exitApp]: .GNUstepDefaults synchronized.

Closing log at 2011-12-16 17:20:26 +0800.
User avatar
Eric Walch
Slightly Grand Rear Admiral
Slightly Grand Rear Admiral
Posts: 5536
Joined: Sat Jun 16, 2007 3:48 pm
Location: Netherlands

Re: Permanent GalDrive OXP

Post by Eric Walch »

Wildeblood wrote:
Righto, I just did the mission in question. The result was an almost 1 megabyte log file full of this junk:-
By the look of it, there are multiple bugs here.

The stack overflow is because of 'exitingTraderAI' uses a "setAITo:" when failing to jump. That raises the stack, but the AI it jumps to has no 'exitAI' command by which it could return. I'll change that to a "switchAITo:" command.

That still would lead to hopping between two AIs because it can't find a station as arriving trader and has not enough fuel as exiting-trader.

But the main bug seems to be the addition of traders in a system that has no station at all :P

EDIT to above.

I think we introduced this bug by adding the 'hyperspace_motor' motor to the sidewinder. Normally the nova mission uses the special command 'sendAllShipsAway' That command gives all ships a full fueltank and sets them in an exitingTraderAI. In the past this was enough to send all ships away, but now the ones without hyperspace motor are trapped in the system. Although, that being trapped in the system was sort of the intention of the hyperspace_motor :lol:
User avatar
Eric Walch
Slightly Grand Rear Admiral
Slightly Grand Rear Admiral
Posts: 5536
Joined: Sat Jun 16, 2007 3:48 pm
Location: Netherlands

Re: Permanent GalDrive OXP

Post by Eric Walch »

Doing some tests by excluding the ships with hyperspace motor in the 'sendAllShipsAway()' code helps a bit. Escorts are now unaffected and follow their mother through their wormhole.

During experimenting, I found also some buggy oxps that use a role "none". That role is a NONO in use. All kind of code used this role to exclude ships from being added.
e.g.
some code adds a 'none' station to a system. (that used to work, but does not longer)
the sendAllShipsAway(0 code uses this role to prevent copies from being added at the witchpoint. But when there exists ships with a 'none' role, the whole entry point gets covered with such ships. One that I found had the name "weapons Array' but there were dozens of those ships near the entry point :(

Clearly a bug in XeptatisSword :twisted:
User avatar
Wildeblood
---- E L I T E ----
---- E L I T E ----
Posts: 2453
Joined: Sat Jun 11, 2011 6:07 am
Location: Western Australia
Contact:

Re: Permanent GalDrive OXP

Post by Wildeblood »

Eric Walch wrote:
Doing some tests by excluding the ships with hyperspace motor in the 'sendAllShipsAway()' code helps a bit. Escorts are now unaffected and follow their mother through their wormhole.
With, or without?
Post Reply