Hi !
I just spent 1 hour to play with vegastrike , and one of the things that i would change is the layout of the HUD .
I think in term of gameplay , it would be more efficient to :
_ be able to minimise a panel or hide it ( Do we need all the screens all the time ? )
_ Interact with buttons and switchs ( better immersion in the vessel )
_ MouseLook ( to check my enemy at my 3 o'clock ... )
I play with a joystick 2 axes + throttle ( sidewinder ) , and i know some like to use the mouse as controller .
Perhaps a trick could be done ( or exists ) to allow those players to disengage the mouse control and use the mouse
to interact with the panels ?
I imagine a solution that would engage the autopilot ( for the roll and pitch ) when the 3rd button of the mouse is clicked ,
for exemple .
So the course won't be affected by the mouse movement , and the pilot could interact safely with his panels .
Also , i think the message screen could be better used , too much lines for me ( too much visual occlusion )
Your opinions ?
2d cockpit EVOLUTION (Point and click etc... )
-
- Intrepid Venturer
- Posts: 703
- Joined: Tue Feb 11, 2014 12:47 am
- Location: FRANCE
- Contact:
2d cockpit EVOLUTION (Point and click etc... )
Code: Select all
if (!track.HasWeapons())
{
// So what are you going to threaten me with? Exhaustion gas?
return ThreatLevel::None;
}
DEV YOUTUBE CHANNEL
Vegastrike evolved wiki
-
- Elite Venturer
- Posts: 753
- Joined: Sat Apr 15, 2006 2:40 am
- Location: chthonic safety
Re: 2d cockpit EVOLUTION (Point and click etc... )
A good point. And probably the easiest to implement: we only need to add "OFF" VDU mode that doesn't really draw anything, then it's as simple as adding 3 letters and a space to arbitrary subset of cockpit VDUs. And perhaps a key to invoke it on all VDU that have it.ezee wrote:_ be able to minimise a panel or hide it ( Do we need all the screens all the time ? )
Also, some controls already invoke relevant VDU - e.g. switching weapon groups via Cockpit::MissileMode / Cockpit::ReverseMissileMode chooses Weapons VDU, while MisSelKey / ReverseMisSelKey don't.
Not sure this is always an improvement. But mostly possible - some old 3D cockpits were already made to look this way.ezee wrote:_ Interact with buttons and switchs ( better immersion in the vessel )
A mouse equivalent of HAT? Perhaps, mostly for completeness. I won't choose it over "Cockpit::ViewTarget" (default binding: "7") that views and tracks on its own the current target - but it's a matter of taste.ezee wrote:_ MouseLook ( to check my enemy at my 3 o'clock ... )
Clicking pictograms like in Frontier Elites? An entirely different can of worms. Once the clicking part itself is supported, it would be very easy to add, though - just give gauges in XML an equivalent of keybindings, perhaps state-dependent.ezee wrote:Perhaps a trick could be done ( or exists ) to allow those players to disengage the mouse control and use the mouse
to interact with the panels ?
PgDn to the end tidies it up to 8 lines.ezee wrote: Also , i think the message screen could be better used , too much lines for me ( too much visual occlusion )
"Two Eyes Good, Eleven Eyes Better." -Michele Carter
-
- Intrepid Venturer
- Posts: 703
- Joined: Tue Feb 11, 2014 12:47 am
- Location: FRANCE
- Contact:
Re: 2d cockpit EVOLUTION (Point and click etc... )
Hi , and thank you for that consistent answer .
Just to explore deeper the idea of mouse Hat , the idea suppose the use of a camera .
And i don't know how is done the rendering in the VS engine , but in every 3d rendering system there is an active camera .
So technically , is it possible to dynamically rotate the cam here ?
( i have downloaded the source , i will search myself how to do , but any help is welcome )
edit : okay , i have now the source code , and i've found where is the camera :
Gameplay in sight , imagine you are pressing the mouse Button 3 , and the mouse now act like in a fps .
When you release the mouse button , the camera is back to front view centered .
We could implement an interpolation for the movement , to smooth that movement .
And hey , from that point , when we have control with the camera , we can also derive new cool features :
_ Head shaking ( when you collide , when you use overdrive , when you are hit , etc ...
_ ... ( what you will imagine )
Edit : Code reference for the cockpit from the source code :
And i've found cool stuff about camera here :
So yeah , a lot of functions already exists , i will try to invent new methods for using them .
Just to explore deeper the idea of mouse Hat , the idea suppose the use of a camera .
And i don't know how is done the rendering in the VS engine , but in every 3d rendering system there is an active camera .
So technically , is it possible to dynamically rotate the cam here ?
( i have downloaded the source , i will search myself how to do , but any help is welcome )
edit : okay , i have now the source code , and i've found where is the camera :
Code: Select all
class GameUniverse : public Universe
40 {
41 protected:
43 //unsigned int current_cockpit;
44 //std::vector <Cockpit *> cockpit;
46 Camera hud_camera;
48 void StartGL();
When you release the mouse button , the camera is back to front view centered .
We could implement an interpolation for the movement , to smooth that movement .
And hey , from that point , when we have control with the camera , we can also derive new cool features :
_ Head shaking ( when you collide , when you use overdrive , when you are hit , etc ...
_ ... ( what you will imagine )
Edit : Code reference for the cockpit from the source code :
Code: Select all
CockpitKeys Namespace Reference
Functions :
void TextMessageCallback (unsigned int ch, unsigned int mod, bool release, int x, int y)
void TextMessageKey (const KBData &, KBSTATE newState)
void QuitNow ()
void SkipMusicTrack (const KBData &, KBSTATE newState)
void PitchDown (const KBData &, KBSTATE newState)
void PitchUp (const KBData &, KBSTATE newState)
void YawLeft (const KBData &, KBSTATE newState)
void YawRight (const KBData &, KBSTATE newState)
void LookDown (const KBData &kbdata, KBSTATE newState)
void LookUp (const KBData &kbdata, KBSTATE newState)
void LookLeft (const KBData &kbdata, KBSTATE newState)
void LookRight (const KBData &kbdata, KBSTATE newState)
void Quit (const KBData &, KBSTATE newState)
void Inside (const KBData &, KBSTATE newState)
void ZoomOut (const KBData &, KBSTATE newState)
void ScrollUp (const KBData &, KBSTATE newState)
void ScrollDown (const KBData &, KBSTATE newState)
void ZoomIn (const KBData &, KBSTATE newState)
void ZoomReset (const KBData &, KBSTATE newState)
void InsideLeft (const KBData &, KBSTATE newState)
void InsideRight (const KBData &, KBSTATE newState)
void PanTarget (const KBData &, KBSTATE newState)
void ViewTarget (const KBData &, KBSTATE newState)
void OutsideTarget (const KBData &, KBSTATE newState)
void InsideBack (const KBData &, KBSTATE newState)
void CommModeVDU (const KBData &, KBSTATE newState)
void ScanningModeVDU (const KBData &, KBSTATE newState)
void ObjectiveModeVDU (const KBData &, KBSTATE newState)
void TargetModeVDU (const KBData &, KBSTATE newState)
void ViewModeVDU (const KBData &, KBSTATE newState)
void DamageModeVDU (const KBData &, KBSTATE newState)
void ManifestModeVDU (const KBData &, KBSTATE newState)
void GunModeVDU (const KBData &s, KBSTATE newState)
void ReverseGunModeVDU (const KBData &s, KBSTATE newState)
void MissileModeVDU (const KBData &s, KBSTATE newState)
void ReverseMissileModeVDU (const KBData &s, KBSTATE newState)
void SwitchLVDU (const KBData &, KBSTATE newState)
void SwitchRVDU (const KBData &, KBSTATE newState)
void SwitchMVDU (const KBData &, KBSTATE newState)
void SwitchULVDU (const KBData &, KBSTATE newState)
void SwitchURVDU (const KBData &, KBSTATE newState)
void SwitchUMVDU (const KBData &, KBSTATE newState)
void Behind (const KBData &, KBSTATE newState)
void Pan (const KBData &, KBSTATE newState)
Code: Select all
void LookDown( const KBData& kbdata, KBSTATE newState )
361 {
362 if (newState == PRESS && QuitAllow)
363 QuitNow();
364 if (newState == PRESS || newState == DOWN) {
365 if (_Universe->AccessCockpit()->GetView() <= CP_RIGHT) {
366 InitPanInside();
367 } else if (_Universe->AccessCockpit()->GetView() == CP_PANINSIDE) {
368 _Universe->AccessCockpit()->SetInsidePanPitchSpeed(game_options.camera_pan_speed*1000.0);
369 } else {
370 PitchDown( kbdata, newState );
371 }
372 } else if (newState == RELEASE) {
373 if (_Universe->AccessCockpit()->GetView() == CP_PANINSIDE)
374 _Universe->AccessCockpit()->SetInsidePanPitchSpeed(0);
375 else
376 PitchDown( kbdata, newState );
377 }
378 }
Code: Select all
if (!track.HasWeapons())
{
// So what are you going to threaten me with? Exhaustion gas?
return ThreatLevel::None;
}
DEV YOUTUBE CHANNEL
Vegastrike evolved wiki
-
- Elite Venturer
- Posts: 753
- Joined: Sat Apr 15, 2006 2:40 am
- Location: chthonic safety
Re: 2d cockpit EVOLUTION (Point and click etc... )
See how it's done with keyboard - "Cockpit::PitchDown", etc (default "q", "z", "s", "f", "9", "0"). It's available in "Pan ..." modes (both main screen and VDU!).ezee wrote:Just to explore deeper the idea of mouse Hat , the idea suppose the use of a camera . [...] So technically , is it possible to dynamically rotate the cam here ?
Fun, but what's the point? Looking slightly aside does nothing until the ship turns there. With gun control axis this would be more interesting, yes. Besides, simply making Pan view angle count relative to the ship rather than to abstract reference would do much the same.ezee wrote: Gameplay in sight , imagine you are pressing the mouse Button 3 , and the mouse now act like in a fps . When you release the mouse button , the camera is back to front view centered .
Seems to be already mostly implemented, but limited to low values in graphics/ confvar settings. shake_speed, shake_reduction... it also controls damage flashes.ezee wrote:And hey , from that point , when we have control with the camera , we can also derive new cool features :
_ Head shaking ( when you collide , when you use overdrive , when you are hit , etc ...
"Two Eyes Good, Eleven Eyes Better." -Michele Carter
-
- Intrepid Venturer
- Posts: 703
- Joined: Tue Feb 11, 2014 12:47 am
- Location: FRANCE
- Contact:
Re: 2d cockpit EVOLUTION (Point and click etc... )
Thank you TBeholder for the help , and also for the good ideas . ( gun axis control , yeah !! )
I will explore the ways you showed me .
I will explore the ways you showed me .
Code: Select all
if (!track.HasWeapons())
{
// So what are you going to threaten me with? Exhaustion gas?
return ThreatLevel::None;
}
DEV YOUTUBE CHANNEL
Vegastrike evolved wiki