Project XR Rolling Repair

Lucy

in the sky, with diamonds.
Administrator
Moderator
Orbiter Contributor
Addon Developer
Webmaster
GFX Staff
Beta Tester
Joined
Aug 9, 2009
Messages
7,110
Reaction score
1,304
Points
203
Location
10.0.0.1
Website
www.orbiter-radio.co.uk
Preferred Pronouns
she/her
This project of mine started out so simply.

Initially, it was going to be a "Damage GUI" for the XRs.

Then, it was going to be an MFD showing the state of an XR vessel in higher granularity than the in-panel MSD.

Then, it was going to be a fully-fledged random damage and failure system for the XRs.

Now - well, now, it's all of those, and also an addon which gives you the capacity to repair your XR vessel after it's been damaged by means of an EVA (this is done by combining the UMMU action area feature and the XR API).

It is not finished, though I think at this point I'm reaching the end of the Alpha phase. Beta testing is kind of already under-way, and is being done privately so that I could hold off on announcing it. It may change. It is significantly more complex than it used to be.

However, I feel confident enough in my capacity to finish it to a reasonable standard to happily announce:



XR Rolling Repair

  • A configurable random damage and failure simulator for XR vessels;
  • An MFD to illustrate the current state of any XR vessel in-simulation with greater fidelity than the in-panel displays;
  • A system to leverage the UMMU action areas introduced in UMMU 2.0 to allow users to perform EVA missions to repair their damaged XR vessels;
  • Different difficulty levels;
  • Safety interlocks (Disable the random damage entirely, protect critical systems from being damaged by it, disable it during reentry - all configurable);



I emphasise that this is still a project and is not finished. I do not expect to finish very soon, but my internal criteria for announcing this was whether I both could finish it and had the time to devote to finishing it.

Don't just take my word for it, though. Some screenshots littered here and there have already shown some of the features, or shown me poking about with various aspects of them.

devscrnrndm01.png

This XR2 is broken. Honest.
steampoweredxr2.png

See? I told you! Particle effects are not properly implemented yet, but this visual flair is definitely an optional component. I promise it won't look this daft.
devscrnrndm02.png

I think it's broken, Scotty. Get the box spanner out and put down that continuum transfunctioner.



Brief video of me testing the random damage logic, with disclaimer:
This is set to "insane" level, initially created for debugging purposes only, but now implemented as a feature. Actually having this happen in-game is somewhat annoying, but the lower-end settings provide a happy balance between OMG NOO DAMAGE and a realistic approach to the concept. You can of course turn it off entirely.

(Watch the videos on YouTube itself for higher quality)


Video of a full EVA from egress to ingress covering repair of one damaged aileron (Yes I know it says it was damaged on ascent, but this is actually a generated test scenario - power of the imagination, creative license, whatever :P).



Before you ask:

  • Yes, this supports all three currently in-operation XR vessels.
  • Yes, I plan to add support for new XR vessels as and when they are developed.
  • Yes, this will be for Orbiter 2010-P1 exclusively. It cannot be made for 2006-P1 or 2010 for various reasons.
  • No, it isn't finished yet.
  • Yes, it will be released on the obligatory Tuesday, and not even I know which Tuesday yet - spare time is fluid, and oftentimes I have none to devote to the project, but I am enjoying making it, and am putting as much time as I can into it.
  • Yes, the system is being tested. The current version can be found here. See below for how to download.
  • No, the particle effects may not make their way into the final version unless I can make them look right and work how I want them to.

How to download the project:

XRRR is now hosted in a BitBucket mercurial repository, and has become open-source. To download with mercurial, I recommend using Tortoise HG. With it, you can create a folder (I recommend using a fresh Orbiter unpack / install), right click on it, and from the Tortoise HG menu item use "clone".

In the dialogue that opens up as a result, copy-paste the "source" item as:

Code:
https://bitbucket.org/Xyon/xrrr

In the "destination" box, ensure that the path is correct:

Code:
C:\Path\To\Your\Clean\Orbiter\Installation\Or\One\You\Dont\Mind\Breaking

Once those are correct, press "Clone". You'll download a copy of "default" branch, which is the stable beta release at the moment. For an overview of what you will be downloading before you pull it, see the web browser page first.

The bleeding-edge branch is called "indev". This holds the most recent updates and it may very well cause Orbiter to crash. The only rule I have before committing to indev is that it compile successfully. However, indev is the testing version; it is where the cool things are developed.

To get indev, do this:

  1. Navigate to where you cloned "default" to by following the above instructions.
  2. CD into ".hg"
  3. Open "branch" in notepad or similar
  4. This file has one word in it. Change it from "default" to "indev" (without the "" characters)
  5. Save the file and exit
  6. Move back out of .hg and back out of the parent directory
  7. Right-click on the top-level directory and choose "Tortoise hg -> Update"

That should give you a copy of the latest commit in the XRRR indev branch. To revert to default, change the contents of ".hg/branch" back to "default" and do "hg update" again with the Tortoise HG shell extension, or whatever your preferred tool is if you don't like tortoises.

If all that was double-dutch or didn't work then you can also download packaged snapshots from bitbucket. See this page for those.
 
Last edited:
Epic add-on, mate! Great stuff!! :cheers:
 
Awesome addon Xyon! The beta has been pretty fun to play with so far and I can't wait for the finished addon :cheers:
 
Awesome looking add-on! I've wanted something like this for a while, and I can't wait until it's done. Great job so far :thumbup:
 
Great! I currently see no reason to use UMMU for some of my flights because I have no jobs for them, this will change the XR class dramatically! I'll have no problem with a long time of waiting for this add-on...
 
I think the basic idea is very good, but the actual damage simulation should be in the XR vessels DLL, simply because it knows best and would have less problems doing stuff like propagating failures (You overlook a small problem, and it turns big).

Also, the XR vessels lack access panels, maybe Coolhand should have them on the mesh wishlist.

But well... thats just my view.
 
I would really like this for the DGIV.

Well, this is made possible by dbeachy1's API for the XR vessels. Last I heard, the DGIV didn't have an API to allow external control of its vessel object, so I doubt it'd be as easy, if possible at all, for anyone other than DanSteph to implement it to the DGIV.

Urwumpe said:
I think the basic idea is very good, but the actual damage simulation should be in the XR vessels DLL, simply because it knows best and would have less problems doing stuff like propagating failures (You overlook a small problem, and it turns big).

Also, the XR vessels lack access panels, maybe Coolhand should have them on the mesh wishlist.

But well... thats just my view.

Fine points. The XR DLL does handle the damage side of things, but the logic of when to break stuff is handled by this module. I'll look into propagated failures later down the line, as that kind of detail / realism level wasn't in the original feature list, but I really like it. :P

Agh, scope creep already. >.<
 
Fine points. The XR DLL does handle the damage side of things, but the logic of when to break stuff is handled by this module. I'll look into propagated failures later down the line, as that kind of detail / realism level wasn't in the original feature list, but I really like it. :P

Oh - that is fine for me. don't know if it is possible to script failures by Lua, which would be another nice feature, but a MFD handling random failures is pretty for making flights more fun. Maybe it would be better as custom function (CTRL+F4 dialog) and have a MFD just for displaying more information about the failure than possible by the standard XR panels.
 
The MFD just displays vessel status - there is a launchpad config utility for settings which I can easily swing to the F4 menu as well for in-flight setting adjustments.
 
Looks promising. :)
With this, trips around cislunar space will pose an actual challenge!

I would really like this for the DGIV.
Well maybe this addon (well, addon-for-an-addon :lol:) will convert you to the brotherhood of XR-users. :cheers:
 
The MFD just displays vessel status - there is a launchpad config utility for settings which I can easily swing to the F4 menu as well for in-flight setting adjustments.

Ok, then we are really on the same frequency here. :thumbup::cheers:
 
I think the basic idea is very good, but the actual damage simulation should be in the XR vessels DLL, simply because it knows best and would have less problems doing stuff like propagating failures (You overlook a small problem, and it turns big).


Fine points. The XR DLL does handle the damage side of things, but the logic of when to break stuff is handled by this module. I'll look into propagated failures later down the line, as that kind of detail / realism level wasn't in the original feature list, but I really like it. :P

Agh, scope creep already. >.<

To clarify the point, Xyon's XRRR is invoking the officially-supported XRVesselCtrl APIs to damage and repair vessel systems, so there should no compatibility problems at all. The XRVesselCtrl API layer invokes the exact same damage/repair methods that the XR vessel DLLs invoke "under the covers". As such, any systems marked as damaged by XRRR will behave exactly as if they were damaged by normal means (e.g., wing stress).

Of course, XRVesselCtrl API client code such as XRRR is able to create any cascaded failures that it wants. All I want to stress here is that since XRRR uses the XRVesselCtrl APIs, there should be no compatibility or vessel stability issues -- unless it uncovers a bug in the XRVesselCtrl APIs, of course -- but that wouldn't be XRRR's fault. :)
 
there should be no compatibility or vessel stability issues -- unless it uncovers a bug in the XRVesselCtrl APIs, of course -- but that wouldn't be XRRR's fault. :)
... unless I stamp on a pointer somewhere :P

---------- Post added at 21:38 ---------- Previous post was at 21:14 ----------

Ah - another thing. Regrettably, we are not able to instantly repair a vessel which has suffered a hull breach at mach 21.7 in the ionosphere due its upper hull being exposed to 416,472 celcius temperatures with the kind of tools a standard UMMU is capable of carrying. Unfortunately this currently requires a total vehicle rebuild.

We apologise for being so inept.

(In other words, crash or blow up your XR, and you're still dead. XRRR cannot un-bork your craft from a crash.)
 
Would it be possible to salvage the wreck at least? ^^

Disclaimer: Really just kidding.
 
Mesh me it and I'll do a support vehicle fleet... later.
 
Mesh me it and I'll do a support vehicle fleet... later.

Me and meshing... you are slightly masochistic, aren't you? :rofl:

That is the last mesh I did, I only do it for stuff that nobody else would want to do :lol:

CLLauncher-wip0.jpg
 
I mesh only as a last resort, and with less skill than that.
 
I mesh only as a last resort, and with less skill than that.

Less skill means you make two-edged triangles...are you sure? :cheers:
 
Back
Top