Jump to content

[WIP] [1.12.x] MOARdV's Avionics Systems - MAS Interactive IVA! (v1.3.7, 7 April 2023)


MOARdV

Recommended Posts

What is it?  MOARdV's Avionics Systems (MAS) is a plugin and toolkit designed to provide an immersive IVA experience. It is based on experience developing and maintaining Mihara's RasterPropMonitor mod. For the player, MAS allows for a more immersive experience with better responsiveness.  For the prop and IVA designer, MAS is much more capable than RPM, with support for Lua scripting that allows truly complex functionality.

What isn't it? MAS is NOT a large collection of ready-to-play IVAs.  There are a few retro stock IVAs included in the mod that will give players and IVA designers a taste of what MAS can do.  MAS includes Module Manager patches to update the basic RPM props and IVAs from the RPM distribution to use MAS props.

3B7eyD.jpg

What's included for players? MAS includes the Mk1 (Mercury-like), a partial Mk1-3 command pod, and the Mk1 Lander Can as example IVAs.  A Module Manager patch will update the example IVAs from the RPM distribution to use MAS, instead.

What's not included?  MAS dependencies are not bundled with MAS.

CKAN? Available.  However, please direct any CKAN issues to the CKAN team - I am not involved with maintaining the CKAN data.

Download: GitHub releases.   Do not use 'Clone or Download' from the code page, unless you intend to compile MAS yourself.

What dependencies are required?  All of the following are required, but not included:

  • ASET Props (only the ASET Props models / textures are required.  You do not need to install RPM to use MAS)
  • ASET Avionics (only the ASET Avionics models / textures are required.  You do not need to install RPM to use MAS)
  • Module Manager

Recommended Mod: Reviva to allow switching IVAs from within KSP.

License? MAS source and DLL are released under the MIT license.  MAS includes components with other licenses.  Please refer to the License file for more details.

MOAR IVA? If you would like to take a look at other IVAs that use MAS, here are a couple.

The Rodan IVA includes MAS MFDs:

The Flapjack cockpit from Kerbal Flying Saucers includes a MAS-powered glass cockpit:

A Bluedog Design Bureau-compatible retro Apollo IVA (and a mostly functional glass cockpit CM):

If there are other MAS IVAs that should be included here, please let me know.

Documentation? The Mk1 IVA has an Operations Manual to help you find your way around the IVA.  The MOARdVPlus Wiki has descriptions of the advanced instruments found in the command pod.  Most of the MAS wiki contains info for people configuring props and designing IVAs for MAS.

Source? GitHub

For IVA Makers: There are already a few hundred props in the MAS catalog, along with several mostly complete MFD designs.  What I don't have yet, unfortunately, is good documentation to help you figure out which props are which.  Most of the props have names that suggest what they do, but the details are lacking.  I plan on documenting the props eventually.  There are also quite a few props that have not been imported from RPM - again, I'll get to it eventually.

For Prop Makers: Most of the GitHub documentation is information about the features of MAS.  There's a lot there, and the props that ship with MAS may help you figure out how to use it.  Prop makers who have passing familiarity with Lua will find that MAS is extremely powerful and flexible.  If the online documentation is unclear, contact me, and I'll be happy to help you figure it out (and improve the documentation).
 

Edited by MOARdV
v1.3.7
Link to comment
Share on other sites

Updated the DLL and release - there is an example IVA now in the package (the Mk3-9 from Nertea's Near Future Spacecraft) so IVA makers can see some of what MAS can do.

Link to comment
Share on other sites

Sweet! So glad to see development going forward on this.

@MOARdV

EDIT: Currently, the pack ships with a cfg that causes an issue. MOARdv/MAS_ASET/Primitives/Primitive_TRIANGLE_Beveled_DarkGray.cfg says:

PROP
{
    name = MAS_Primitive_TRIANGLE_Beveled_DarkGray

	MODEL
	{
		model = ASET/ASET_Props/Misc/Primitives/Primitive_TRIANGLE_90_Beveled
		texture = Primitive_Black,ASET/ASET_Props/Misc/Primitives/Primitive_DarkGrey
	}
}

The mismatch between the texture name and the texture name in the texture path causes the game to hang on loading.

Edited by theonegalen
Link to comment
Share on other sites

13 hours ago, theonegalen said:

Sweet! So glad to see development going forward on this.

@MOARdV

EDIT: Currently, the pack ships with a cfg that causes an issue. MOARdv/MAS_ASET/Primitives/Primitive_TRIANGLE_Beveled_DarkGray.cfg says:


PROP
{
    name = MAS_Primitive_TRIANGLE_Beveled_DarkGray

	MODEL
	{
		model = ASET/ASET_Props/Misc/Primitives/Primitive_TRIANGLE_90_Beveled
		texture = Primitive_Black,ASET/ASET_Props/Misc/Primitives/Primitive_DarkGrey
	}
}

The mismatch between the texture name and the texture name in the texture path causes the game to hang on loading.

Hmm.  Yeah, go ahead delete that prop config.  It was an experiment to see if I could get the 90 degree beveled triangles to work.  They don't, although I'm not getting a hang on load here - it simply doesn't show up in-game (although it's visible in Unity).  Hopefully alexustas can get that primitive working.

Link to comment
Share on other sites

3 hours ago, MOARdV said:

Hmm.  Yeah, go ahead delete that prop config.  It was an experiment to see if I could get the 90 degree beveled triangles to work.  They don't, although I'm not getting a hang on load here - it simply doesn't show up in-game (although it's visible in Unity).  Hopefully alexustas can get that primitive working.

Yeah... i remember getting some part loaading errors from ASET, and IIRC, that is one of the 3 or 4 textures that were throwing...

Also, @MOARdV, are you using the Yarbrough IVA for work on this? I'm hoping to get back to improving that whole capsule... I wont bother playing with RPM, Flight Systems or MAS if you're already using it for the dev work for MAS...

Edited by Stone Blue
Link to comment
Share on other sites

1 hour ago, Stone Blue said:

Yeah... i remember getting some part loaading errors from ASET, and IIRC, that is one of the 3 or 4 textures that were throwing...

Also, @MOARdV, are you using the Yarbrough IVA for work on this? I'm hoping to get back to improving that whole capsule... I wont bother playing with RPM, Flight Systems or MAS if you're already using it for the dev work for MAS...

I shelved the Yarbrough when I put MAS on hiatus over the winter.  I really like the pod, but there were some things in the exterior model that needed updating, and a couple things in the interior that I would like to have seen tweaked.  Since the author's been gone for a year or so, I figured those things weren't getting fixed.  I spent the last week using Nert's Mk3-9 pod (the in-progress version of which is currently packaged with MAS), and I spent today tweaking the KP0110 IVA for use in the BDB Kane pod.  I'll be putting that through its paces this evening, I think.

If you're interested, I can put the Yarbrough MAS IVA up on DropBox for you to use as a kicking-off point.  There are some props that may be missing from the current MAS pre-release, but I can track those down fairly easily.

Link to comment
Share on other sites

20 hours ago, MOARdV said:

If you're interested, I can put the Yarbrough MAS IVA up on DropBox for you to use as a kicking-off point.  There are some props that may be missing from the current MAS pre-release, but I can track those down fairly easily.

Yes, please do! You did an awesome job in it with the FSRedux, and I like it a lot, but I'd also like to see a more modern layout, too...I know one of the things you wanted was better interior lighting, which I think I got... Akron had helped me with the exterior texture. I need to do external lights, and redo the heatshield. I may try to reshape the the lower deck portholes, and maybe evn add some lower deck detail.

It will be nice to use the other pods as examples, to see if I can figure out the MAS props, :) too

Link to comment
Share on other sites

18 hours ago, Stone Blue said:

Yes, please do! You did an awesome job in it with the FSRedux, and I like it a lot, but I'd also like to see a more modern layout, too...I know one of the things you wanted was better interior lighting, which I think I got... Akron had helped me with the exterior texture. I need to do external lights, and redo the heatshield. I may try to reshape the the lower deck portholes, and maybe evn add some lower deck detail.

It will be nice to use the other pods as examples, to see if I can figure out the MAS props, :) too

Okay, the Yarbrough pod is on Dropbox, since I know some of the props it refers to aren't in the current dev build.  If you need some of those props updated (like the DSKY), let me know and I'll see what I can do about getting them refreshed.

I've also added a BDB Kane IVA that I'm using - that's in the 0.1.2 release of MAS that I pushed to GitHub a few minutes ago (along with more prop configs).

Link to comment
Share on other sites

Now updated with functional camera shaders.  And documentation on the wiki.  If anyone is trying this out to configure props, I'd appreciate any feedback you are willing to provide on the documentation: Is the example helpful?  Can you find the information you need?  If not, what's missing, or how can I make it easier to find?

Link to comment
Share on other sites

  • 2 weeks later...
41 minutes ago, theonegalen said:

I have so far been too intimidated by the lua aspect of MAS to give it a try. I just figured out how to make RPM props work, and the idea of having to switch is scary, although I figure I'll have to anyway eventually.

You don't really need to use Lua for most situations.  Which is fortunate, since the Lua interpreter is slow.  If you've experimented with the MATH and CUSTOM RPM variables, you will (I *hope*) find MAS easier to work with.  If you haven't needed to use those features yet, then there's really not a lot of difference between MAS and RPM from a prop configurator's perspective.  Instead of using all-caps variables with names like 'EASPEED', you'll use less shouty variables like 'fc.EquivalentAirspeed()'.  And, if you want to convert those m/s values into knots, you can do it with a simple multiplication.

Have you given the example walkthrough a look?  Does it go off into the weeds and esoterica too quickly?  I really want to get examples that aren't overwhelming, but I can't gauge my examples, since I wrote the mod and I've been writing software in some capacity for over two decades.

What I hope to do is to make something that is approachable, so IVA and prop creators can try it out, but that is very powerful and flexible, so as people use it, they'll find ways to do all sorts of things without the difficulty that RPM had.  For an example - look at alexustas's ALCOR lander.  In game, that is an incredible game play experience.  Then, take a look at all of the RPM CUSTOM and MATH variables he had to use to create that IVA, and ... wow.  It makes my brain hurt to think of the effort to bend RPM until it could do what was needed.

Link to comment
Share on other sites

Yeah, I use a lot of CUSTOM, MATH, and SELECT variables. There is a lot of bending going on, but mostly I base it around what alexustas or you or DeputyLOL did in the first place. Almost all of the props I use with Warbird Cockpits are modified in texture, model, config, or all three.

I'm going to go through the example now. One thing that has been consistently excellent in my RPM experience is the quality of the documentation wiki on github. True lifesaver.

Have you looked at Near Future Spacecraft to see if your config needs updating now that NFS is updated?

 

EDIT: First impressions.

First, I really like that we can set requiring power and a g-limit per IVA in the MASFlightComputer, however, I have a few instruments (like an analog magnetic compass) that are supposed to never be interfered with by power loss. Can I set individual instruments to override the "requiresPower" setting in MASFlightComputer?

Second, I really hope there's an easier and more modulemanager-friendly way to add NAV beacons to the NAV radios in MAS.

@MOARdV, it's clear that your penchant for great documentation is alive and well. I feel a lot better about trying MAS, although I think I'm going to stick with RPM for the next version of Warbird Cockpits.

Edited by theonegalen
Link to comment
Share on other sites

11 hours ago, theonegalen said:

Yeah, I use a lot of CUSTOM, MATH, and SELECT variables. There is a lot of bending going on, but mostly I base it around what alexustas or you or DeputyLOL did in the first place. Almost all of the props I use with Warbird Cockpits are modified in texture, model, config, or all three.

I'm going to go through the example now. One thing that has been consistently excellent in my RPM experience is the quality of the documentation wiki on github. True lifesaver.

Have you looked at Near Future Spacecraft to see if your config needs updating now that NFS is updated?

 

EDIT: First impressions.

First, I really like that we can set requiring power and a g-limit per IVA in the MASFlightComputer, however, I have a few instruments (like an analog magnetic compass) that are supposed to never be interfered with by power loss. Can I set individual instruments to override the "requiresPower" setting in MASFlightComputer?

Second, I really hope there's an easier and more modulemanager-friendly way to add NAV beacons to the NAV radios in MAS.

@MOARdV, it's clear that your penchant for great documentation is alive and well. I feel a lot better about trying MAS, although I think I'm going to stick with RPM for the next version of Warbird Cockpits.

I haven't updated NFS yet, although I've been thinking of switching back to that pod again, since I really like cockpit-style IVAs (even though I don't fly fixed-wing aircraft).

The g-limit / power requirements are opt-in per node in a prop.  Even if an IVA is configured to have those effects, the props themselves must use the `fc.Conditioned()` method for those effects to have any impact on the prop.  Thus, you can have a pitot-driven altimeter that works under all conditions, but the backlighting for it can flicker when pulling out of a dive, for instance.  Mechanical gauges wouldn't use the `fc.Conditioned()` modifier on its controlling variables.

The NAV beacons are still up in the air.  There needs to be a way to define them in a config file, and it is probably not complex (name, code, position, type, IIRC), but I need to do some learning on the topic before I dive into it.

EDIT: Oh, and thank you for feedback.  It helps *a lot* to know whether it helps, and what needs to be clearer.

Edited by MOARdV
I need to say Thanks!
Link to comment
Share on other sites

  • 4 weeks later...

I've updated the mod again (after a few quiet updates that I didn't post here).  I am now including an all-new IVA for the Yarbrough08 Mk. 1-1 A2 command pod, since I keep returning to it for IVA development (I still haven't found an IVA layout as well setup for the style of IVA I want to create).  I've arbitrarily bumped the revision a few steps, since I think the DLL interface has stabilized for the most part, and it will be ready for a 1.0 release once I get a couple of other things updated.

Link to comment
Share on other sites

Hey! I knew you were working on it, but I hand't seen this thread yet. Glad to know it's out (tho WIP) in the open!

Oh, a question. Back in the day, when Mihara was still developing RPM, I made a config that added default screen configurations to different pods and capsules. With the advent of the RPMFlightComputer (is it called that?), the screen selection became associated with a ship and not a part, and my configs wouldn't work anymore.

Will I be able to do a similar thing here?

Link to comment
Share on other sites

44 minutes ago, monstah said:

Hey! I knew you were working on it, but I hand't seen this thread yet. Glad to know it's out (tho WIP) in the open!

Oh, a question. Back in the day, when Mihara was still developing RPM, I made a config that added default screen configurations to different pods and capsules. With the advent of the RPMFlightComputer (is it called that?), the screen selection became associated with a ship and not a part, and my configs wouldn't work anymore.

Will I be able to do a similar thing here?

If I follow what you're asking correctly, yes.  You could write a MM patch to add entries to the PERSISTENT_VALUES node in the MASFlightComputer config for the pod in question (or just edit the pod config, of course).  That should set the initial page that is selected at part load time to whatever you specify.  You would need to identify the MFDs, but even that's pretty easy to do with a tweak to the page configs.

Link to comment
Share on other sites

  • 3 months later...
  • 1 month later...

MAS v0.11.0 is now available on GitHub.  This is a HUGE update that gets MAS close to full release (take a peek at the change log on the release page!).

Some (but not all) of the major new features - a modernized MFD (MFD2, visible in the latest first post screen shot and installed in two of the three left cockpit MFDs in the Yarbrough IVA).  Capability to interact with mods that support RasterPropMonitor MFD pages (SCANsat and DPAI, for instance).  Vastly expanded MFD configuration options.  Support for custom waypoints (selecting the waypoints from the MFD, tracking range and bearing to waypoint).  Radio Navigation support (VOR, NDB, DME, and ILS), including over three dozen navigation beacons scattered around Kerbin defined by @alexustas for the ASET Avionics mods (see the Jebbesen Kerbin Aerocharts).

Many thanks to @alexustas for critical feedback and help on features.  That feedback was a primary force behind many of the improvements in this release.

Because the MAS IVA is complex, I've created a Quickstart Guide for the Yarbrough Mk.1-1A2 cockpit.  I realize the Yarbrough command pod is outdated - I am looking for a suitable command pod that could be used for future development.  This release of MAS includes a Module Manager patch to update the Yarbrough pod to 1.3.1 standards.

I would very much appreciate feedback on this IVA - particularly, how does your KSP game perform when you're flying this pod from IVA?  Does the game lag?  Does game play in IVA feel similar to RPM?  Better?  Worse?  In what way?  Feel free to PM me if you don't want to put the feedback in this thread.  What I want to find out is whether other people using this mod see any performance problems that aren't present when playing with RPM.  My own experience with it is that it feels much more responsive than RPM, and I don't see garbage collections (the pause and the yellow flash of the clock) 

Link to comment
Share on other sites

WOW!   Very well done!  I cannot wait to learn all the ins and outs of the props

Trying to zoom in to read the bottom buttons on the two large MFD2's.   View will not aim down far enough.   Is that something you can change in your IVA of the Yarbrough?

Link to comment
Share on other sites

12 minutes ago, nukeboyt said:

WOW!   Very well done!  I cannot wait to learn all the ins and outs of the props

Trying to zoom in to read the bottom buttons on the two large MFD2's.   View will not aim down far enough.   Is that something you can change in your IVA of the Yarbrough?

That's interesting - I don't have a problem seeing them.  What resolution is your screen?  The screenshots I took were at 1920 x 1080 windowed.

Link to comment
Share on other sites

I can read them if I try.  What I'm really looking for is to be able to zoom in on those buttons and the bottom of the screen.   Presently, you cannot "focus you view" any lower than the center of the screen.   When you zoom in, the bottom of the screen (and the buttons) go out of your field of view.     

 

Also:   The "Next / Previous" buttons on the small monitor do not seem to function.   They switch cameras on the large monitor, but not on the small one.

Edited by nukeboyt
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...