Project Orbiter MMU (oMMU) development thread

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,636
Reaction score
2,613
Points
203
Location
Dallas, TX
But for landed vessels. You need a location of the place the person hits the surface. Then that EVA vessel moves around. And if near the same spot they exited. They "enter" the vessel. They are destroyed. My ALPCA does that. If entered show a mesh of a guy inside. If exited then don't show the guy inside.

So really maybe a surface based movement guy vessel and the means of entereing/exiting. Transfer via docks. Now that you can have landed docked vessels in 2016. You may need to be able to transfer crew
 

n72.75

Move slow and try not to break too much.
Orbiter Contributor
Addon Developer
Tutorial Publisher
Donator
Joined
Mar 21, 2008
Messages
2,687
Reaction score
1,337
Points
128
Location
Saco, ME
Website
mwhume.space
Preferred Pronouns
he/him
100% agree with not bloating the core/api.

If you were to impliment something like an "astronaut" class it would need to be very abstract. Most of the functionality is already contained in the VESSEL class, except for the EVAing, and transferring.
 

Owenmck

Read the documentation!
Joined
Apr 18, 2020
Messages
125
Reaction score
117
Points
58
Location
Scotland
Hmph... Now that I think about it, considering there's by now a lot of vehicles, sibbling classes to the VESSEL interface for crew and vehicles might not be a bad idea...
This is along the lines of what I was thinking. The way in which uMMU moved was very strange, and from what I have heard about making such addons, it is quite hack-y. A new class would allow different controls and possibly a more realistic movement. However, I also agree with keeping the core code tidy and not massively blowing it up
 

4throck

Enthusiast !
Joined
Jun 19, 2008
Messages
3,502
Reaction score
1,008
Points
153
Location
Lisbon
Website
orbiterspaceport.blogspot.com
I think attachments might be a good basis for this. An 'astronaut' is basically a vessel that becomes invisible when attached and magically frees up the attachment port....
So some sort of attachment manager might be needed. The scenario editor already handles docking and fuel tanks. Ideally it could manage attachments.

As for dropping on to the surface and walking, I think that's related to generic landed vessel handling. Not 'astronaut' specific.
A starting point would be to integrate the improvements from "ParkingBrakeMFD".
Vessels already drive around, but some good core functions to handle that (WASD) would be great.
 

jedidia

shoemaker without legs
Addon Developer
Joined
Mar 19, 2008
Messages
10,842
Reaction score
2,105
Points
203
Location
between the planets
If you were to impliment something like an "astronaut" class it would need to be very abstract. Most of the functionality is already contained in the VESSEL class, except for the EVAing, and transferring.
Very abstract for sure. My idea would be to unpack some functionality from the vessel class into some kind of "DynamicObject" class or somesuch, from which vehicles, vessels and astronauts would derive, so you can reuse the code they all share.

EDIT: Alternatively, I guess the whole VESSEL could be restructured as an ECS, so different behaviour can be switched out by composition... But that would pretty much break all backward compatibility. That would be more like a VesselV2 interface...
I think attachments might be a good basis for this. An 'astronaut' is basically a vessel that becomes invisible when attached and magically frees up the attachment port....
I strongly disagree with such hacks. Anything that happens inside a vessel should stay inside that vessel. Leave it to vessel implementations what they do with astronauts on board. That is exactly the kind of thing I would keep out of the core like the pest. What the core would need to provide is a common interface for vessels to accept or spawn astronauts, and perhaps some minimally functional base class for the astronaut when it's outside any vehicle.
As soon as it's inside anywhere, it should really seize to exist for the core, or at least be removed from any calculations.
 
Last edited:

Urwumpe

Not funny anymore
Addon Developer
Donator
Joined
Feb 6, 2008
Messages
37,588
Reaction score
2,312
Points
203
Location
Wolfsburg
Preferred Pronouns
Sire
I agree - leave it to the vessel implementation. Same for the astronaut base class. This could also be done by a framework. Much more important would be a common definiton which astronaut vessel to spawn.

Also, from a roleplaying game fan perspective, any kind of standard, how to describe an astronaut to be exchanged, would be nice. In the worst case, its protocol buffers, XML or JSON and its still fine, as long as frameworks can support it.

An Orbiter Standard Framework library would be nice, but:

 

n122vu

Addon Developer
Addon Developer
Donator
Joined
Nov 1, 2007
Messages
3,196
Reaction score
51
Points
73
Location
KDCY
I agree with not utilizing attachments. That presents problems with larger vessels, and I may have been the only one to see them thus far when coding dll versions of the Cortez and Agamemnon., namely (and I'm going by memory from years ago) that anything attached to an attachment point farther than 999.99 m from the vessel's center of gravity seems to cause the vessel mesh to disappear. See this post in the Cortez development thread. It references UCD and UCGO's included limitations, but I found that when using good old-fashioned attachment points and defining them in the config any farther than this caused the core to bug out. If I pulled the number below this threshold, everything worked fine.
 

gattispilot

Addon Developer
Addon Developer
Joined
Oct 17, 2007
Messages
8,636
Reaction score
2,613
Points
203
Location
Dallas, TX
For non surface eva. creating the person and docking them seems to work. Docking at the hatch. That way they don't float away. For surface i guess a location needs to be stated.

For the shuttle 2016. I use attachment point. But that is so the guys can be moved,.....
 

Xyon

Puts the Fun in Dysfunctional
Administrator
Moderator
Orbiter Contributor
Addon Developer
Webmaster
GFX Staff
Beta Tester
Joined
Aug 9, 2009
Messages
6,922
Reaction score
789
Points
203
Location
10.0.0.1
Website
www.orbiter-radio.co.uk
Preferred Pronouns
she/her
Do you want to make this discussion about frameworks for implementing generic Astronaut entites its own thread so that @Woo482 can keep his thread about this specific project on-topic?
 

jedidia

shoemaker without legs
Addon Developer
Joined
Mar 19, 2008
Messages
10,842
Reaction score
2,105
Points
203
Location
between the planets
Aren't fuel tanks handled by Orbiter's API ?
I assume they're handled by the VESSEL base class. And it's not always advantageous. I would sure have appreciated if propellant resources themselves were an overrideable base class, exactly because if you want to implement fuel mix, they keep getting in the way...
 

Urwumpe

Not funny anymore
Addon Developer
Donator
Joined
Feb 6, 2008
Messages
37,588
Reaction score
2,312
Points
203
Location
Wolfsburg
Preferred Pronouns
Sire
Aren't fuel tanks handled by Orbiter's API ? You don't need to add any custom code, unless you want implement fuel mix or something like that.

The propellant tanks are also needed externally - for the mass of the spacecraft. If you need special behaviour beyond Newton, you need to write a wrapper around the propellant resources.
 

Face

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 18, 2008
Messages
4,390
Reaction score
577
Points
153
Location
Vienna
I assume they're handled by the VESSEL base class. And it's not always advantageous. I would sure have appreciated if propellant resources themselves were an overrideable base class, exactly because if you want to implement fuel mix, they keep getting in the way...
Yes, consumption is done in Vessel.cpp in the UpdateThrustForces function: https://github.com/orbitersim/orbit...5b6b06d8bc605802/Src/Orbiter/Vessel.cpp#L3852 . It is also initialized or reset in that class.
 

Xyon

Puts the Fun in Dysfunctional
Administrator
Moderator
Orbiter Contributor
Addon Developer
Webmaster
GFX Staff
Beta Tester
Joined
Aug 9, 2009
Messages
6,922
Reaction score
789
Points
203
Location
10.0.0.1
Website
www.orbiter-radio.co.uk
Preferred Pronouns
she/her
Do you want to make this discussion about frameworks for implementing generic Astronaut entites its own thread so that @Woo482 can keep his thread about this specific project on-topic?
Don't make me tap the sign.
 

Face

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 18, 2008
Messages
4,390
Reaction score
577
Points
153
Location
Vienna
Don't make me tap the sign.
I think those initially starting it read your statement as question. I wouldn't mind if you move or delete my post during a clean-up.
 

Xyon

Puts the Fun in Dysfunctional
Administrator
Moderator
Orbiter Contributor
Addon Developer
Webmaster
GFX Staff
Beta Tester
Joined
Aug 9, 2009
Messages
6,922
Reaction score
789
Points
203
Location
10.0.0.1
Website
www.orbiter-radio.co.uk
Preferred Pronouns
she/her
I think those initially starting it read your statement as question. I wouldn't mind if you move or delete my post during a clean-up.
I've been a parent too long, it's one of those questions where the answer is fine as long as it's "yes"
 

n72.75

Move slow and try not to break too much.
Orbiter Contributor
Addon Developer
Tutorial Publisher
Donator
Joined
Mar 21, 2008
Messages
2,687
Reaction score
1,337
Points
128
Location
Saco, ME
Website
mwhume.space
Preferred Pronouns
he/him

Urwumpe

Not funny anymore
Addon Developer
Donator
Joined
Feb 6, 2008
Messages
37,588
Reaction score
2,312
Points
203
Location
Wolfsburg
Preferred Pronouns
Sire

Face

Well-known member
Orbiter Contributor
Addon Developer
Beta Tester
Joined
Mar 18, 2008
Messages
4,390
Reaction score
577
Points
153
Location
Vienna
Ummu was fairly ubiquitous back in the O2006/O2010 days. I would gather that this was due, in no small part, to the number of compatible vessels it shipped with.
All those addons will be obsolete in the x64 era, anyway.
 

n72.75

Move slow and try not to break too much.
Orbiter Contributor
Addon Developer
Tutorial Publisher
Donator
Joined
Mar 21, 2008
Messages
2,687
Reaction score
1,337
Points
128
Location
Saco, ME
Website
mwhume.space
Preferred Pronouns
he/him
Would @dbeachy1 be interested in releasing an oMMU xr fleet?

That would really motivate people to use it.
 
Top