Death Comms OXP

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

Moderators: another_commander, winston

User avatar
cim
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 4018
Joined: Fri Nov 11, 2011 6:19 pm

Re: Death Comms OXP

Post by cim »

It's worth saying I think that compared with a lot of game addon architectures, the OXP architecture as designed by Giles is already very good at avoiding conflicts compared with a lot of other games
- you can save your game, add, remove and upgrade lots of OXPs, load your game, and have it work
- you can do this repeatedly, while incrementally upgrading the core game, for years
- as a player you basically never have to care about load order; as an OXP developer, rarely

It's also worth noting that a lot of types of OXP conflicts are inevitable due to resource conflicts - a planet can only have one diffuse map, a ship can only have one AI - or due to conceptual conflicts - OXP A removes all stations from a system; OXP B expects the player to dock there.

In this particular case, I would recommend that Death Comms checks the ship.autoWeapons setting as a general "permission granted to apply global effects to this ship" flag.
popsch wrote:but why not internalize this in Oolite by registering and de-registering listeners for events?
Essentially for almost all cases this is already available - most script types are defined such that every OXP can set up multiple scripts which are independent of each other and of scripts in other OXPs, and add event handlers to each. (World scripts are the main type which actually uses this feature)

The exceptions are the ship script and the ship AI script.

The AI script should only be listening for events so that it can execute its AI code, so it shouldn't need multiple listeners for one event - you can replace the entire script, of course, if you want it to listen to different events and do different things with them.

The ship script so far hasn't been worth writing exceptions for because it's very rare in practice that an OXP writes to the ship script of a ship it doesn't own - but also, it's the area for which technical and conceptual conflicts are most likely to occur, so just allowing a slightly nicer way for two OXPs to define independent handlers for the same event on the same ship isn't going to solve any of the underlying issues. There are ways to implement Death Comms, for example, which don't involve editing the ship script at all (they're more complicated and slower, but it could be done) and they'd still have the same issue of "what if that ship's owning OXP already defines a death message for it?".

There is also a compatibility issue: with very limited exceptions we try to ensure that any OXP which worked in stable version X will also work in stable version X+1 - rewriting how event handlers are applied to ship scripts would break a lot more OXPs than I would be willing to do without a very strong case for its necessity.

Anonymissimus
---- E L I T E ----
---- E L I T E ----
Posts: 299
Joined: Mon Apr 27, 2015 9:03 pm

Re: Death Comms OXP

Post by Anonymissimus »

The probability of a death message appearing seems a little too high. Make it dependant on the player's kills perhaps. In the beginning fighting is too dangerous and rare, that is, you flee much more rather than kill. Once you're so far too kill several assassins/pirates every few jumps there are several messages in every battle or so.
warning sound if a missile is inbound: Missile warning

ralph_hh
---- E L I T E ----
---- E L I T E ----
Posts: 297
Joined: Tue Nov 11, 2014 12:42 pm
Location: Germany

Re: Death Comms OXP

Post by ralph_hh »

Something wrong with the OXP? I installed it last weekend, killed 50 or so ships since then, but did not receive one single special words to say good bye...?

User avatar
phkb
Commodore
Commodore
Posts: 2529
Joined: Tue Jan 21, 2014 10:37 pm
Location: [p]laying [h]ard and [k]icking [b]utt somewhere in G7...

Re: Death Comms OXP

Post by phkb »

I'll take a look. I thought it was working...

User avatar
phkb
Commodore
Commodore
Posts: 2529
Joined: Tue Jan 21, 2014 10:37 pm
Location: [p]laying [h]ard and [k]icking [b]utt somewhere in G7...

Re: Death Comms OXP

Post by phkb »

OK, I think it is working, but in the 1.5 release I reduced the chance of comms messages being sent to just 20% of the time. Also factor in that if the NPC ejects no comms are sent and it might just be the luck of the draw. I'll keep testing from my end, and I might increase the chance a touch.

If you install "Comms Log MFD", even if you don't need the MFD, you get a handy "Communications Log" F4 interface which will list all the comms messages you receive. That way you can quickly scan the messages for evidence (or not) of Death Comms in action.

User avatar
phkb
Commodore
Commodore
Posts: 2529
Joined: Tue Jan 21, 2014 10:37 pm
Location: [p]laying [h]ard and [k]icking [b]utt somewhere in G7...

Re: Death Comms OXP

Post by phkb »

Apparently this wasn't an original idea! This link (http://aegidian.org/bb/viewtopic.php?f=4&t=13046) is ShipBuilder's discussion thread on this topic, 4 years ago. So there really is nothing new under the sun! There were a number of very cool suggestions in the thread, so I've compiled them all into Death Comms. Thanks go to ShipBuilder, Smivs, Disembodied, Diziet Sma, Wildeblood, maaarcooose, Gimbal Locke, Knotty, and Tricky who contributed ideas to the thread.

Version 1.6 of Death Comms is now available, and there is a Wiki page now as well: [EliteWiki] Death Comms

User avatar
Svengali
---- E L I T E ----
---- E L I T E ----
Posts: 2370
Joined: Sat Oct 20, 2007 2:52 pm

Re: Death Comms OXP

Post by Svengali »

You could also check CMcL's [EliteWiki] Personalities.oxp if you need some more inspiration.

Post Reply