Cold and dark cockpit ( your ideas ? )

Post Reply
ezee
Intrepid Venturer
Intrepid Venturer
Posts: 703
Joined: Tue Feb 11, 2014 12:47 am
Location: FRANCE
Contact:

Cold and dark cockpit ( your ideas ? )

Post by ezee »

Hi !

I am working with a FSM engine for AI ( http://forums.vega-strike.org/viewtopic ... 86#p136886 ) , and i want to make a state that describe a
takeoff sequence .

As i try to be semi-realistic with the AI agents , i need to teach them how to start their engines , set up the lights , control the generators , setup the shields , etc ...
( they could be your copilots in the future , best friends than the actual autopilot )
Image
Picture from PMDG Simulations .

So i basically need to make a checklist , that humans could use too .
Vegastrike don't simulate these parameters , but that could be easily done .
( i don't say i'm gonna do it for VS , but i can share my experience and code with you
if you want . If i can , i'll port it later to VS )

Some of you often have very good ideas , so please don't hesitate to share with me
your ideas/wishes about that checklist and takeoff sequence .

My sequence could start here :
_ Open the canopy/cockpit door/hatch bay ( depends of the type of vessel )
_ Sit
_ Check levers , yoke ...
_ Toggle battery/generator
_ ...
_ ...

As flight simulator (fs9) user , it's a part that i could reproduce , but in a scifi universe , some extras stages can be invented .
That could serve later for new cockpits designs ( and gameplay ) for VS too .

So if ya have a dream takeoff sequence , let me code it :?:
:wink:

Jacks , an idea ? ^^

Code: Select all

 if (!track.HasWeapons())
            {
                // So what are you going to threaten me with? Exhaustion gas?
                return ThreatLevel::None;
            }
Vegastrike evolved
DEV YOUTUBE CHANNEL
Vegastrike evolved wiki
DarkVixen
Bounty Hunter
Bounty Hunter
Posts: 152
Joined: Sun Jul 28, 2013 12:16 am
Location: Los Angeles, CA, USA

Re: Cold and dark cockpit ( your ideas ? )

Post by DarkVixen »

I played FightGear, that's the only other simulator I ever played besides VS.

VS is more action-based, and I think if we made it as complex as FlightGear it would overwhelm the players.

I think engines on/off and maneuvering thruster simulation would be neat, but a checklist may be too complex.

The one thing I always wanted to see was a red/yellow/blue/normal alert condition displayed in the cockpit in VS.
ezee
Intrepid Venturer
Intrepid Venturer
Posts: 703
Joined: Tue Feb 11, 2014 12:47 am
Location: FRANCE
Contact:

Re: Cold and dark cockpit ( your ideas ? )

Post by ezee »

VS is more action-based, and I think if we made it as complex as FlightGear it would overwhelm the players.
mmm... probably .
But it's a part that i personally like , so i will design things to at least make it possible .
And the reaction time for AI will be based on real time operations :
_ You will be able to do some bomber operations if you are stealth enough and quick , the bandits
won't have time to all takeoff . Good for the strategic level of the gameplay .

It's a fun part to study a vessel , when its systems are well designed .
And for the players that don't like the core sim level , there will be an automatic start sequence .
That's why i need to describe this sequence , to make it cool !

Today , you click on launch and that's all , no animations , just instant action .
Vega strike was designed like this , i dream of an other game , more tactical and with better visuals,AI and animation .

The 3D characters ( pilots ) will be animated , and each state is linked to at least one animation.
Just look to the videos of starcitizen , you will understand what i mean :
http://youtu.be/92rb-8mYHE0?t=2m19s

Code: Select all

 if (!track.HasWeapons())
            {
                // So what are you going to threaten me with? Exhaustion gas?
                return ThreatLevel::None;
            }
Vegastrike evolved
DEV YOUTUBE CHANNEL
Vegastrike evolved wiki
DarkVixen
Bounty Hunter
Bounty Hunter
Posts: 152
Joined: Sun Jul 28, 2013 12:16 am
Location: Los Angeles, CA, USA

Re: Cold and dark cockpit ( your ideas ? )

Post by DarkVixen »

Yes but think about a few 100 years from now, starships will probably be automated.

You just push one button to launch, just l like you push one button to start those old archaic automobile engines. ;)

The larger starships, like the Cyldsdale or Ox, should have more complex engine controls.

But the simple ones like the Scroedinger or Nicandar, should be simple in control design.
loki1950
The Shepherd
Posts: 5841
Joined: Fri May 13, 2005 8:37 pm
Location: Ottawa
Contact:

Re: Cold and dark cockpit ( your ideas ? )

Post by loki1950 »

After all by that time a ship licence would be the equivalent to our driver's licence so teens joy riding might be an issue :wink: I am definitely in DarkVixens camp here simple controls on the single pilot ships capital ships are an other class that need multiple people at the helm to handle all the functions.

Enjoy the Choice :)
my box::HP Envy i5-6400 @2Q70GHzx4 8 Gb ram/1 Tb(Win10 64)/3 Tb Mint 19.2/GTX745 4Gb acer S243HL K222HQL
Q8200/Asus P5QDLX/8 Gb ram/WD 2Tb 2-500 G HD/GF GT640 2Gb Mint 17.3 64 bit Win 10 32 bit acer and Lenovo ideapad 320-15ARB Win 10/Mint 19.2
ezee
Intrepid Venturer
Intrepid Venturer
Posts: 703
Joined: Tue Feb 11, 2014 12:47 am
Location: FRANCE
Contact:

Re: Cold and dark cockpit ( your ideas ? )

Post by ezee »

I am definitely in DarkVixens camp here simple controls on the single pilot ships capital ships are an other class that need multiple people at the helm to handle all the functions.
Okay .

I was talking about :
As i try to be semi-realistic with the AI agents , i need to teach them how to start their engines , set up the lights , control the generators , setup the shields , etc ...
( they could be your copilots in the future , best friends than the actual autopilot )
I know now that you don't like to spend time to understand how the things work , and that is ok . But the coders are the guys that make things simpler for the users , and they achieve that not
by reducing the realism of a system , but by hidding the core system to them .
That's how actually the autopilot works : you press a button and you have nothing to do else than wait for arrival : Boring for me ( user ) , cool challenge for the coder .
Edit : A simpler approach is to simulate a simulation ... that is done for example with
precomputed lighting for lights , heavy script for AI ( to save cpu time ) , precomputed physics ( in animation ) etc ...

That's the way the world ( it ) goes : Users will become more and more stupid ( while they think they are genius because of the tech they use ), while producers will hold the knowledge . How many people know how is made a computer , and how it works ?
Even for a toaster ... :lol:

Okay , i go offtopic :
Off topic:
https://www.youtube.com/watch?v=BBvIweCIgwk
:lol:

Back to my subject , people like me worked already on that domain efficiently :
Flight Simulator First Officer is a generic virtual copilot that can be used with any aircraft. The primary function of FSFO is to assist the Pilot In Command (PIC) to fly the aircraft safely while adhering to Standard Operating Procedures (SOPs). This is accomplished via virtual checklist and sharing of cockpit duties/responsibilities. Specifically, the First Officer reads the following configurable checklist:

Before Start
After Start
Before Takeoff
In-Range
After Landing
Shutdown
Above are the simplified states i will use for my AI .
( I will add combat state machine too ) .

That Finite state machine will be able to launch Animations and SOunds , linked to states .
That is why i'm searching for states : The artists works will be based on that .
3D and sound are just visualization and audio rendering of events that occurs in the render engine .

But it's a (my) coder's perspective .

Code: Select all

 if (!track.HasWeapons())
            {
                // So what are you going to threaten me with? Exhaustion gas?
                return ThreatLevel::None;
            }
Vegastrike evolved
DEV YOUTUBE CHANNEL
Vegastrike evolved wiki
DarkVixen
Bounty Hunter
Bounty Hunter
Posts: 152
Joined: Sun Jul 28, 2013 12:16 am
Location: Los Angeles, CA, USA

Re: Cold and dark cockpit ( your ideas ? )

Post by DarkVixen »

Although I still think it's too much of a challenge to control all those ship functions individually, I think we could add a "Control Complexity" option to switch from easy to complex simulation.

So setting that option to high or complex, it would (for example) have the user control engine and shield states individually/manually (among other individual ship function states).
ezee
Intrepid Venturer
Intrepid Venturer
Posts: 703
Joined: Tue Feb 11, 2014 12:47 am
Location: FRANCE
Contact:

Re: Cold and dark cockpit ( your ideas ? )

Post by ezee »

Yeah , that is the conventional way to do .
Most of games that are like Vegastrike propose 2 different gameplay :
_Arcade mode
_Simulation mode

I found that a lot of things are wrong with Vegastrike , where the basic things seem to be inverted.
For example , it is said that VegaStrike is a simulator . ( in fact , the word simulator is not used , but " sim ", that really mean simplified simulator ) .

What kind of things are really simulated in VegaStrike ?
The physics , but i haven't checked to what point ( i guess forces and mass of objects with collision effects ) .
But no inboard systems ( ok , you have missile bays , turrets , radar system and comm but really simplified ).
I think vega strike is actually a arcade game that would like to be a simulator , but not really because a simulator is so boring ... :wink:

An other inverted thing is that if Vega strike is designed for teens , with simplified gameplay ,
why the Options are not displayed in a menu , instead of a XML file ?
Because it's a game made by gamers that are also programmers , and the game was done for themselves initially .

I can understand all what you said about the simplified gameplay , and i like it too , if it don't kill
the simulation stage .


Like you , i think that a game must be a game , so yeah , as there is different types of gamers,
have an option that separate the two modes would be a way to don't loose one or the other part
of gamers .

I think that the Campaign mode could be the right place to introduce the real sim , with a progressive learning path . ( through missions like the tutorial for example )
In such campaign , you'll learn all the tricks of space technology , and be able to command units
when you'll learned their operational limits ( that is for the STG part ) .

In an other hand , you could load a mission and have dogfight in the 2 minutes that follows .

To finish , i agree with your idea of settings :
So setting that option to high or complex, it would (for example) have the user control engine and shield states individually/manually (among other individual ship function states).
There is already in vegastrike this kind of idea :
<section name="physics">
<!-- Note: Tractor duplicated in "graphics" section -->
<var name="tractor.scoop" value="false" />

<var name="VariableFuelConsumption" value="true"/>
<var name="enough_warp_for_cruise" value="2000"/>
<var name="warp_perpendicular" value="80"/>
<var name="warp_orbit_multiplier" value="20"/>
<var name="default_interdiction" value ="0.01"/>
<var name="AsteroidWeaponCollision" value="true"/>
<var name="debug_performance" value="false"/>
<var name="warprampuptime" value="5"/> <!-- in seconds -->
<var name="WarpMemoryEffect" value="0"/>
<var name="warprampdowntime" value=".5"/>
<var name="autopilot_ramp_warp_down" value="false"/>
<var name="warpcruisemult" value="15000"/>
<var name="warpregion0" value="1"/>
<var name="warpcurvedegree" value="1.3"/>
<var name="warpMaxEfVel" value="29202510832.6"/>
<var name="warpregion1" value="5000000"/>
<var name="warpMultiplierMax" value="300000000"/>
<var name="warpMultiplierMin" value="1"/>
<var name="warpbleed" value="50"/>
<var name="minwarpeffectsize" value="100"/>
<var name="maxwarpeffectsize" value="3000"/>
<var name="planet_ejection_stophack" value="100000"/>
<var name="planet_collision_docks" value="false" />
<var name="reactor_uses_fuel" value="true"/>
<var name="unit_collision_docks" value="false"/>
<var name="only_hangar_collision_docks" value="false"/>
<var name="dock_to_area" value="false"/>

<var name="auto_pilot_termination_distance" value="2500"/><!--fixme?-->
<var name="auto_pilot_planet_radius_percent" value=".2"/>
<var name="planet_port_size" value="1.2"/>
<var name="UnitTable" value="1"/>
<var name="insystem_jump_or_timeless_auto-pilot" value="false"/>
<var name="combat_speed_boost" value="1000"/>
<var name="runtime_compactness" value="1"/>
<var name="velocity_max" value="300000000"/> <!-- important for Vega Trek!! -->
<var name="warp_energy_multiplier" value="0.12"/>
<var name="debris_time" value="15"/>
<var name="debris_mass" value=".000001"/>
<var name="near_autotrack_cone" value=".9"/>
<var name="close_enough_to_autotrack" value="4"/>
<var name="slide_start" value="2"/>
<var name="slide_end" value="0"/>
<var name="speeding_discharge" value=".25"/>
<var name="reverse_speed_limit" value="0.1"/> <!-- 0-1 percent of normal thrust, stops ships from flying backwards -->
<var name="difficulty_based_shield_recharge" value="false"/>
<var name="difficulty_based_enemy_damage" value="true"/>
<var name="difficulty_speed_exponent" value="0"/>

<var name="inelastic_scale" value=".50"/>

<var name="collision_inertial_time" value="1.25"/>
<var name="minimum_time_between_recorded_player_collisions" value=".1"/>
<var name="minimum_collision_velocity" value="5"/>

<var name="component_based_upgrades" value="true"/>

<var name="ai_pilot_when_in_turret" value="false"/>
<var name="atmosphereheight" value="10"/>
<var name="game_speed_lying" value="false"/>
<var name="gun_speed_adjusted_game_speed" value="true"/>
<var name="gun_speed" value="1"/>
<!-- REAL accel is game_speed * game_accel go figure. No nested comments (apparently) allowed by expat -->
<!-- #easier
<var name="game_speed" value="1.75"/>
<var name="game_accel" value="0.75"/>
#end -->
<!-- #easy
<var name="game_speed" value="2"/>
<var name="game_accel" value="0.6"/>
#end -->
<!-- #medium -->
<var name="game_speed" value="2.5"/>
<var name="game_accel" value=".4"/>
<!-- #end -->
<!-- #hard
<var name="game_speed" value="3"/>
<var name="game_accel" value=".3"/>
#end -->
<!-- #harder
<var name="game_speed" value="8"/>
<var name="game_accel" value=".12"/>
#end -->
<!-- #impossible
<var name="game_speed" value="16"/>
<var name="game_accel" value=".045"/>
#end -->
<var name="FuelUsage" value="1"/>
<var name="FMEC_exit_vel_inverse" value="0.000001"/> <!-- 1/1e6 meters/second -->
<var name="AfterburnerFuelUsage" value="4"/>
<var name="missile_bounce" value="true"/>
<var name="BouncePercent" value="1"/>
<!-- the next variable tells what percentage
of normal the shields recharge in a nebule.
Zero means shields do not work in nebulae -->
<!-- the next variable tells how accurately systems shoudl be simulated where the player isn't in. Really you don't need much accuracy -->
How the game is difficult to play depends of multiple factors , but principaly related to physics
and AI .

My goal is to improve the AI , and i'm working on that outside of Vegastrike because too much
things are nested together in the code and don't allow easy modifications .

I don't think Vegastrike will turn one day in a simulator , after all these years ( and good devs ) gone , and the actual community of users .

So for the gameplay/experience in Vegastrike , i suggest a rework of the Menu system for the
" teens " . ( That should be part or made of a FSM too )

Finally I must admit that i am a coder for the " ties " that still can dream .
Image
( i've just understood the mean of " tie fighter " " combattant en cravate " :lol: )
:wink:

edit : Finally , i just need to know how the Vega strike vessels are working , i can make the checklist myself . And as probably nobody here knows how they are powered ,i will get inspiration with today's theorical approaches to simulate future technology .

Code: Select all

 if (!track.HasWeapons())
            {
                // So what are you going to threaten me with? Exhaustion gas?
                return ThreatLevel::None;
            }
Vegastrike evolved
DEV YOUTUBE CHANNEL
Vegastrike evolved wiki
Post Reply