In space/at a base... Blurring the distinction

For collaboration on developing the mod capabilities of VS; request new features, report bugs, or suggest improvements

Moderator: Mod Contributor

Post Reply
chuck_starchaser
Elite
Elite
Posts: 8014
Joined: Fri Sep 05, 2003 4:03 am
Location: Montreal
Contact:

In space/at a base... Blurring the distinction

Post by chuck_starchaser »

This is a feature request on behalf of Vegatrek, rather than PU, this time: VT need the means to move to various places in the command bridge to check various LCARS displays.
I know that in VS you can dock with a larger ship and go places just like you can at a base; though going to the cockpit is not allowed.
If we took that a step further and allowed visiting the cockpit... --and viceverse, going from the cockpit to the bar, say, it would kind of wrap things up:
The idea is to be able to go to various fixed views in a cockpit, bridge, or whole ship, and use point and click interfaces (the various LCARS in VT)...

Image

...like the navigation ones at the front,

Image

...and the Engineering and Tactical LCARS elsewhere.

Image

Basically, a few of the black areas above would have emissive displays that respond to clicks. I think I can figure out the python to do the
buttons and overlays; but I would need for there to be a way to stand up, click-go places and to have python accessible, as you would at a base.
Would this be a lot of work?

EDIT:
We could key-bind the various views to F-keys, for the time being; but the question of python during flight would still be open.
ace123
Lead Network Developer
Lead Network Developer
Posts: 2560
Joined: Sun Jan 12, 2003 9:13 am
Location: Palo Alto CA
Contact:

Re: In space/at a base... Blurring the distinction

Post by ace123 »

That would be really cool.

We would need a way to launch the base interface during flight. I'm thinking some sort of key binding that's similar to Shift-M like launchOwnBase... this would be useful for its own sake anyway. In the case of your own base we can just keep F1,2,3,4 bring you back to cockpit views, or maybe have F4 which used to be the rear-view instead launch your own base (which could by default just be the rear-view image in the cockpit file) while F1,2,3 are straight,left,right views from where you are "sitting". So basically you hit F4 and then you can click around, and if you hear enemies shooting you, hit F1 for quick captain's chair access.

maybe I should add Base.RenderUniverse(LocalPosition, Facing, Orientation, Scaling)
The the orientation should be (0,0,1) for the default (facing "up"). Most of time time LocalPosition is 0, but I could imagine a planet where this is greater than 0
Set the scaling if it is a computer screen and not real glass--I can make that do an appropriate glViewport call (I think that would be the right one)
If you want to see this, you should be able to set transparent pixels in the background texture and have that view show through

Or, optionally have all cockpits be bases, (which would be ... interesting, but not necessarily useful

Still, this is not as fun as having a 3D base. Would a 3D base be something similar to creating a custom camera at (0,0,0), and adding a Mesh and render it? EDIT: Or just set your ship-local position to (0,0,0) and render the universe. Then if you are in some ship that has a special cockpit in the mesh you can wander around that.
Then bind the arrow keys to turn and move forward/backward (and optionally wasd for gamer types) Of course there would be no physics and you would only be able to move along the XZ-plane. We could make some "distance from center" constraints to make sure you don't wander outside of the base walls.

Of course in this case, using the computer screen in this case would require doing a "render to texture" and binding that to a texture in the model, so may require a fair amount of new code there... or you could make that section transparent but it would look like glass and not a computer screen.
This could possibly be really cool but creating displays for this would be more difficult (and probably require additional code).

So moving back to my original idea, the only components in the engine required to do this are:
  • A RenderUniverse python call,
  • Making F4 launch a special version of your base (if one exists), and only if otherwise just show your rear-view cockpit... (smarter bases would show by default this picture but create links to other bases).
  • Keep VS keys bound when in these special bases (this would make saving/loading in the base computer impossible without adding more checks and setting proper keyboard event handlers). This allows for easy escaping.
  • Make F1,2,3 switch back to your cockpit and unload the current base.... also add checks in docking code to unload your ship's base if you are docked since only one BaseInterface can be loaded at any time.
chuck_starchaser
Elite
Elite
Posts: 8014
Joined: Fri Sep 05, 2003 4:03 am
Location: Montreal
Contact:

Re: In space/at a base... Blurring the distinction

Post by chuck_starchaser »

Glad you like the idea.

My discussion with the VT guys was not about having real time 3D walking around the ship; only about having renders of the room I showed above, --the bridge
of the Galaxy (I'm about to model the Defiant's bridge for them this weekend). Anyways, what we envisaged was rather modest: A number of renders at various
locations around the bridge. Note: The captain's position is the central chair under the wooden arch. The two seats at the front are called CONN, I think (I'm not
a Startrek fan; I could be wrong) and are for pilots. Way at the back, that wide black area has the Engineering LCARS console. Behind the wooden arch there's
another LCARS for weapons: Tactical. And there's at least one more LCARS somewhere for the computer Library.

http://www.ex-astris-scientia.org/galle ... bridge.jpg

My plan is to use texture overlays for the LCARS: In the model I'm going to unwrap the LCARS to separate textures, so we can make glowy LCAR textures that
we can switch and make multiple renders for the various LCAR modes (emissive, like add mode blending); then we cut pieces from the renders with the LCARS
on, and we can show them overlayed on top (of the render with all LCARS icons off (black)), just like animations are overlayed on bars' backgrounds in PU.

We discussed also the problem of piloting the ship while looking at a screen in perspective, and how to click on the LCARS screens when the mouse is used for
steering. I suggested to them that perhaps there should be a cockpitless mode like in Vegastrike, and they liked the idea. The way it would work is like this:
If you are anywhere in the bridge, pressing F1 takes you to the cockpitful front seat:

Image

In this position, you'd see the outside like a projection on a screen. Now, I've no idea how easy or hard that would be. Render to texture comes to mind, but
it might be expensive; not sure. If the matrix could be tweaked to produce the same effect it might be better; then we make the screen transparent and
that's that. But anyways, in this position you don't steer with the mouse, and you don't have an HUD. You can use the mouse to click on the LCARS screen in
front of you (the black slab below) and possibly have some kind of high-level interaction with the autopilot that way. Perhaps in a "keep heading" autopilot
mode you could sort of steer using arrow keys on the LCARS, very clumsily.
But there would be a special icon on this LCARS that if you click it you go to cockpitless mode, facing forward, and have an HUD. This mode could stand for
wearing goggles or having data piped straight to your brain :D. The less said the better.

While in cockpitless mode, you can press F1 to get back to the seated position; so F1 is a very simple, non-staty keybind. Always takes you to the same
place.

Which implies also that, at least in VT, you wouldn't "launch the base"; --because it would be the default. You could think of it as "flying the base" :D

Now, we could use other F-keys to go to Tactical, Engineering, Library and whatever other LCARS/perspectives; but it would be more natural to just use
the mouse to move around, sort of like in Myst.
Besides, as Gorbalad suggested, perhaps the F-keys could switch the screen to show various outside camera facings, instead; rather than turn your head.
OTOH, perhaps such switchings could be done via the LCARS.
OTOH, maybe function keys are better, as we'd need to add screen view icons to every LCARS around the bridge, otherwise.
Besides, just like it took me 10 hours or so to do this bridge, in 4 hours I could model the engine room; and in 5 hours the Observation deck, and we'd
soon run out of function keys.
BTW, the observation deck should have windows, I suppose; so we're talking about a flying base that has rooms which have views. The observation deck
is possibly where, as captain, you'd meet visitors to your ship, --hopefully to offer you a juicy mission and having the money to pay for it. Or no; that
would be the Reception; Observation is where you go to be alone and then a crewmember comes after you. Not sure.

Having said all that, going 3D would be the ultimate.
OTOH, it might take a lot longer to get going, not only from the software side (collision detection, etc.) but from the data side as well: All I had to do to
get the above renders was to model the room and hit the render button. If it was for an in-game 3D model, I'd have to UV-unwrap it and texture it, which
takes at least 10 times longer than just modeling it. And we'll need to worry about modeling people, keyframe animations, inverse kinematics, and
special vertex shaders for skinning. I think that just getting ship interiors to work in 2D the way bases do would be a huge step forward for now, and
a bridge to the Mecca of 3D ship interiors and bases, in the sense that ship interiors would start getting modeled, for renders' sake. Then later, once we
have tons of ship interior models, it will make tons of sense to go 3D.
chuck_starchaser
Elite
Elite
Posts: 8014
Joined: Fri Sep 05, 2003 4:03 am
Location: Montreal
Contact:

Re: In space/at a base... Blurring the distinction

Post by chuck_starchaser »

I'm thinking it could even be done in three stages/milestones:
STAGE 1) Ship interiors are 2D and use existing python base code. Preferably, there'd be a View class in addition to the Room class, which would
function the same way, code-wise, but would keep the data more intuitively organized. Views would be contained data within room objects; and
a click in an area of the screen from within any Room->View would take you to another Room->View (whether in the same room or another).
Portals to outside viewing would be alpha=0 holes in the renders.
So a view calls a pre-rendered "background" overlay, and an optional outside view frustrum that's visible through the background.
STAGE 2) 3D bases introduced, but without collision detection or walking around. The only new freedom is that, from each fixed position the
player can turn the head/body around and see the whole panorama; but not walk around.
Optionally, we could have render-to-texture introduced, for displays.
STAGE 3) Walking physics and collision added, plus triggers, like for doors that open automatically.

To round up the concept, views of the outside could be made available to bases, at the same time; the view class could be made available to
bases, later bases made 3D... IOW, we'd blur the distinction between ship interiors and bases, and between being at a base or in space, until
at some point the distinction could be eliminated altogether.

BTW, this could be a "view" background at the position you're at when you enter the bridge from rear turbolift:

Image

From there you can click on the front chair to the right, for example, and be in the pilot chair, viewing the screen up close and able to click
on the icons of the LCARS in front of you at the bottom of the screen, --including the goggles icon that would take you to cockpit-less view.
Or you could click in a few other places of the screen, like towards the right are the Engineering LCARS. Clicking on them would take you
to a standing position facing the LCARS on the back wall.

View from port side turbolift:

Image
Deus Siddis
Elite
Elite
Posts: 1363
Joined: Sat Aug 04, 2007 3:42 pm

Re: In space/at a base... Blurring the distinction

Post by Deus Siddis »

chuck_starchaser wrote:STAGE 3) Walking physics and collision added, plus triggers, like for doors that open automatically.
When VS gets to this stage or when fractal planetary surface generation starts to get implemented, we need to look at a physic system more comprehensive than 'walking physics' (especially when you already have more than just humans or 'humanoids' walking around) on top of the existing spaceflight physics.

Something abstract and powerful enough to handle everything from walking, swimming, flying, floating, et cetera for any reasonable realistic actor types moders can come up with-- human marines, rlaan powered armor wardens, kilwrathi, veloxi, yoda, ed-209's, mammoth tanks, battlemechs, repulsorlift craft, oscar mayer weinermobiles, mechanist gunships, gunstars, star destroyers, giant space buttocks-- whatever.

To do this you add on to the current physics engine an approximate simulation for high velocity fluid drag with inputs for guestimate profile area-times-drag-coefficient values on all 3 axes which are intelligently averaged together by the engine based on the actor's direction of travel relative to its 3 local axes, as well as a fluid wave drag approximation, and surface friction/traction with inputs for guestimate friction coefficients for both each actor and each designated surface type ('ice', 'gravel', 'floor', etc.)

Obviously there are no advanced fluid particle simulations or whatever realistic shit going on within VS in realtime to determine how things move- it is the job of the game designer to tweak and find realistic values and settings to approximately simulate different combinations of specific environments and actors in the physics engine.
Sindwiller
Merchant
Merchant
Posts: 32
Joined: Sun Aug 10, 2008 10:31 pm
Location: Zürich, Switzerland

Re: In space/at a base... Blurring the distinction

Post by Sindwiller »

There's no need for walking around for starters though. :| You can just as well do it like Freelancer did it, a 3d model with a fixed camera and a bunch of stuff that can be selected - basically just like Vegastrike is now, just in realtime. Go from there :)
Fendorin
Elite Venturer
Elite Venturer
Posts: 725
Joined: Mon Feb 26, 2007 6:01 pm
Location: France, Paris

Re: In space/at a base... Blurring the distinction

Post by Fendorin »

i like the 2D picture for my opinion i won't a All 3D game (2D picture is good for imagination...) Full of 3D is little bit boring

And i m agreed with Deus Siddis first it would be better to have a fractal planet texturation and for my part some real asteroid ring or large dust cloud

and a Special Effect improvement: (explosion, glow thruster, missile Glow, ship/station derelict after be destroyed....etc)

Walking?? for do what??
chuck_starchaser
Elite
Elite
Posts: 8014
Joined: Fri Sep 05, 2003 4:03 am
Location: Montreal
Contact:

Re: In space/at a base... Blurring the distinction

Post by chuck_starchaser »

Guys, as I said from the start of the first post, this is a feature request for the VegaTrek mod. Deus Siddis' post is a thread hijack attempt, as always; and the next two, I don't know, but it seems to me they are about Vegastrike-the-game, no?.

This is a feature the VegaTrek guys want.

Maybe the name of the engine should be changed so that people stop confusing the engine with the game by the same name.
BTW, that's why this forum is called the Modding Engine Room. It's a place where people doing other mods based on the Vegastrike engine can ask questions or suggest engine (NOT game-) features.

But if you were indeed talking about VegaTrek, there's an official VegaTrek forum for Ideas, Suggestions and Feature Requests.
Deus Siddis
Elite
Elite
Posts: 1363
Joined: Sat Aug 04, 2007 3:42 pm

Re: In space/at a base... Blurring the distinction

Post by Deus Siddis »

chuck_starchaser wrote:Guys, as I said from the start of the first post, this is a feature request for the VegaTrek mod. Deus Siddis' post is a thread hijack attempt, as always; and the next two, I don't know, but it seems to me they are about Vegastrike-the-game, no?.
Well I can't really understand why you're aiming fire at me personally out of the blue, but I was making an Engine suggestion, to go ontop of your "Stage 3" engine suggestion, all of which will help Vega Trek, in addition to Vega Strike the game, in addition to almost any mod you can think of (which is why I listed examples of things from like a dozen different universes). I never meant VS the game, only VS the engine.

And I wasn't trying to hijack anything, just saying "it would be more efficient if your stage 3 suggestion came as part of a broader engine feature, by which I mean this".
Fendorin
Elite Venturer
Elite Venturer
Posts: 725
Joined: Mon Feb 26, 2007 6:01 pm
Location: France, Paris

Re: In space/at a base... Blurring the distinction

Post by Fendorin »

hello
chuck_starchaser wrote:Guys, as I said from the start of the first post, this is a feature request for the VegaTrek mod. Deus Siddis' post is a thread hijack attempt, as always; and the next two, I don't know, but it seems to me they are about Vegastrike-the-game, no?.
First i m appologies for did this mistake..i m really sorry, next time i will try to translate ALL and checking 7 times before answer...

second: the picture is very nice, is it made with blender? if yes, could you think is possible to have the master file ? i want study for make a inside ship 2D view for Vegastrike the (great) game

thank you
chuck_starchaser
Elite
Elite
Posts: 8014
Joined: Fri Sep 05, 2003 4:03 am
Location: Montreal
Contact:

Re: In space/at a base... Blurring the distinction

Post by chuck_starchaser »

@Deus Siddis: As I was just telling you by PM, I once had a thread with a very simple feature request to solve the exploits possible due to having ships in "Your Fleet" delivered so easy. I think my request might have been granted had you not posted to that thread complicating everything and suggesting that the game be changed instead of the engine, and in ways that PU could NOT be changed due to canon considerations. The way I feel you're doing the same thing again in this thread. There seems to be hope it might be granted; Ace123 seems interested; and I was trying to keep the complexity of the request at a minimum; but then you post saying it should be "part of a larger package" that includes the Moon, and several planets. "Thread hijack" is an exaggeration; --it's my Italian blood from my mother's side--; I'm sure you have no bad intentions; but come on; think a bit when you're about to post; you do this very often I PM'd you about it before: Look at the title of this thread. Does it mention Physics? No? Then your long post about physics has no place here. If you think it relates to this thread as "package inclusion", then just say "I think this should be part of this physics package" and put a link to YOUR own thread describing the physics package. And by the way, I do NOT concur that this should be part of any such physics package.
Fendorin wrote:hello
chuck_starchaser wrote:Guys, as I said from the start of the first post, this is a feature request for the VegaTrek mod. Deus Siddis' post is a thread hijack attempt, as always; and the next two, I don't know, but it seems to me they are about Vegastrike-the-game, no?.
First i m appologies for did this mistake..i m really sorry, next time i will try to translate ALL and checking 7 times before answer...
No sweat, Fendorin. ;-)
second: the picture is very nice, is it made with blender? if yes, could you think is possible to have the master file ? i want study for make a inside ship 2D view for Vegastrike the (great) game
thank you
Here you go:
http://wcjunction.com/temp_images/eg_br ... idge.blend
chuck_starchaser
Elite
Elite
Posts: 8014
Joined: Fri Sep 05, 2003 4:03 am
Location: Montreal
Contact:

Re: In space/at a base... Blurring the distinction

Post by chuck_starchaser »

Re-posting my last post before this thread went off a tangent:

I'm thinking it could even be done in three stages/milestones:
STAGE 1) Ship interiors are 2D and use existing python base code. Preferably, there'd be a View class in addition to the Room class, which would
function the same way, code-wise, but would keep the data more intuitively organized. Views would be contained data within room objects; and
a click in an area of the screen from within any Room->View would take you to another Room->View (whether in the same room or another).
Portals to outside viewing would be alpha=0 holes in the renders.
So a view calls a pre-rendered "background" overlay, and an optional outside view frustrum that's visible through the background.
STAGE 2) 3D bases introduced, but without collision detection or walking around. The only new freedom is that, from each fixed position the
player can turn the head/body around and see the whole panorama; but not walk around.
Optionally, we could have render-to-texture introduced, for displays.
STAGE 3) Walking physics and collision added, plus triggers, like for doors that open automatically.

To round up the concept, views of the outside could be made available to bases, at the same time; the view class could be made available to
bases, later bases made 3D... IOW, we'd blur the distinction between ship interiors and bases, and between being at a base or in space, until
at some point the distinction could be eliminated altogether. As a matter of fact, if you think of it, bases are moving through space; and
planets are spinning. The only difference between a base and a ship is that ships have thrusters, cockpit, and appear in masters parts list.


Anyways, stages 2 and 3 can be worried about later. What's really important right now for VT is stage 1.
charlieg
Elite Mercenary
Elite Mercenary
Posts: 1329
Joined: Thu Mar 27, 2003 11:51 pm
Location: Manchester, UK
Contact:

Re: In space/at a base... Blurring the distinction

Post by charlieg »

Does VS support 2D cockpits?
Free Gamer - free software games compendium and commentary!
FreeGameDev forum - open source game development community
chuck_starchaser
Elite
Elite
Posts: 8014
Joined: Fri Sep 05, 2003 4:03 am
Location: Montreal
Contact:

Re: In space/at a base... Blurring the distinction

Post by chuck_starchaser »

The problem with 3D cockpits is that there's no 'render-to-texture' feature,
currently in the VS engine; so you can't map the gauges to, say, monitor
screens in the 3D cockpit; you have to live with the gauges being overlays.
Otherwise I would probably have modeled all the cockpits in PU already,
by now.
Post Reply