*** GAMEPLAY : Time is Money ! ***

Thinking about improving the Artwork in Vega Strike, or making your own Mod? Submit your question and ideas in this forum.

Moderator: pyramid

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

*** GAMEPLAY : Time is Money ! ***

Post by ezee »

Hi .

As i try to imagine a new economical system, i had the idea of a new mission type or mode.

TIME IS MONEY MODE

The idea is to propose a new set of missions , based about speed .
Exemple :

_Take a cargo in system A , travel to B and deliver to C in less of (delta) hour(s) .
_You have a tax or penalty for each 1/4 hour lost .
_You receive your cash if your + or - in time ( 0.25 hour margin ).
_Get a prime for each 1/4 hour won

That will influence the gameplay :
One could choose to upgrade his ship with a big cargo room first , an other to quick get
a super speed vessel to win all primes .
Wich will be the looser ?
:lol:

It is also a part that could be a rule in the new dynamical economical campaign .
Imagine big contracts but with limited time offer ?
Peopo' will all run to be the first to get it , fight etc ... :lol:
In multiplayer mode that could make a pressure .

Edit :
Looking in the python source , i've seen that some dev had the idea , but commented out
for cargo missions : http://spacetechs.free.fr/VEGASTRIKEDEV ... ssion.html

Code: Select all

 def Execute (self):
  172 ##        if (VS.getGameTime()>mission_time):
  173 ##          VS.IOmessage (0,"cargo mission",self.mplay,"You Have failed to deliver your cargo in a timely manner.")
  174 ##          VS.IOmessage (0,"cargo mission",self.mplay,"The cargo is no longer of need to us.")
  175 ##          if (you):
  176 ##            takeCargoAndTerminate(you,0)
  177 ##          return       return
And so there is a waiting basis ...
:wink:

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
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: *** GAMEPLAY : Time is Money ! ***

Post by klauss »

Problem here, is the game doesn't have a clear notion of time. Ie: how much time does docking or landing on a planet take? How much time does jumping take? Are the different system's time coordinates comparable at all?

In essence, such thing as time is hard to define in a game like VS. You can go from system A to B in minutes, for instance, and no commercial contract will make a difference (other than couriers) for those small times.

I think the idea of perishables is a good idea, but it's a hard one to fully flesh out even just conceptually.
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
ezee
Intrepid Venturer
Intrepid Venturer
Posts: 703
Joined: Tue Feb 11, 2014 12:47 am
Location: FRANCE
Contact:

Re: *** GAMEPLAY : Time is Money ! ***

Post by ezee »

Thank you for you comment !
( for real , one friend of mine ( una argentina ) is tonight in a plane for argentina !
:wink:
Ie: how much time does docking or landing on a planet take?
we can measure that , i think easily .
we start a timer on undocking , we stop the timer when Spec is on ?
The same for landing .
We could use the IA for that .
( with a flight plan system ? )
How much time does jumping take?
That can be measured too .
Are the different system's time coordinates comparable at all?
Let's say yes .

I need to compile Vegastrike and see if i can run and debug it , and then i will experiment that notions of simulation time and real time .
I think the idea of perishables is a good idea, but it's a hard one to fully flesh out even just conceptually.
eh eh , cool !
We have a subject of discussion !
Cheers !
:wink:

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
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: *** GAMEPLAY : Time is Money ! ***

Post by klauss »

ezee wrote:
How much time does jumping take?
That can be measured too .
Are the different system's time coordinates comparable at all?
Let's say yes .
I'm talking conceptually, not practically. And even practically, when you measure it, it will be minutes.

But, conceptually, it's totally unbelievable that you can land on a planet in mintues. Or that a buyer would care about minutes. It's more like hours or days. Bases? Your character would probably spend a lot more time than practically doable in-game, so it's also time-consuming. But how long? How do you make that time evident to a player so they can measure the time they spend in bases/planets while in those missions?

And, inter-system time coordination is probably different than in-system. Inter-system, for instance, you only care about roundtrip time differentials. If a wormwhole moves you in time as well as space, you don't care. Global time is not an issue, but round-trip time. How long was it since you sent that message that you needed X and the time the player got it to you? How do you make that both evident to a player, believable, and enjoyable?

Elite had the "deliver X to Y before May 3", but that's because:
  • There was no in-system FTL, so time did happen at a predictable rate
  • There was no multiplayer, a huge can-o-worms
Even, though, I found Elite's deadlined missions quite unintuitive. It was very hard for me to gauge whether the deadlines were reasonable or not. We must avoid that hardship for the player.
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
ezee
Intrepid Venturer
Intrepid Venturer
Posts: 703
Joined: Tue Feb 11, 2014 12:47 am
Location: FRANCE
Contact:

Re: *** GAMEPLAY : Time is Money ! ***

Post by ezee »

Elite had the "deliver X to Y before May 3", but that's because:
There was no in-system FTL, so time did happen at a predictable rate
My system could be simpler :

The marchant that propose a mission knows ( the FTL etc ...) that this one is realistic for a kind of ship/pilot .

So he expects receive the cargo in x or dayz or month etc ...
The date system is only of interest for me if there is a good reason for that ( based on
the storyline ) . In earth , JC birth is an event .

In Atlantis , etc ... , what are the events ?
We could use or code that , yes .
Each planet could have his datetime system , linked to a particular background story.
Or physically with the Day/night cycle ( that isn't implemented i guess ? )

Do we use Stardate system right now ?
I'm not yet aware about how the engine actually works .
All i can do is search the generated doc for find out what is IN USE .
If you can help me , that will save me time .
:D

Anyway :
Stardates helper functions :
http://spacetechs.free.fr/VEGASTRIKEDEV ... e_8py.html
Even, though, I found Elite's deadlined missions quite unintuitive. It was very hard for me to gauge whether the deadlines were reasonable or not.
yeah , that is the first gameplay/conceptual problem that i saw too .
How to know if my ship is able to do that trip in time ?

I think that a PDA could compute for the player the datas , simulating the trip with
taking care of the actual levels of your ship . ( capacitors , engine etc... )
You would know also the benefits to buy the engine level 5 ....
In this tool there would be a count down , started when you accepted the mission .
And even practically, when you measure it, it will be minutes.
yeah , but that is the reality of the game .
If a mission takes 5 minutes to be done , it's a 5 minutes mission !
The challenge for the dev or the gameplay manager could be to create long time missions ?
Pyramid wrote a quest_debug.py that we could use for that ? :
http://spacetechs.free.fr/VEGASTRIKEDEV ... g_8py.html
where docked distance is computed : http://spacetechs.free.fr/VEGASTRIKEDEV ... tml#l00063
But, conceptually, it's totally unbelievable that you can land on a planet in minutes.
Right . We could add fictive time to the mission ( a precomputed time ) that is the time
a ship normally takes to land or dock ? ( A cinematic showing the transition could help
to introduce this extra time ) ->http://spacetechs.free.fr/VEGASTRIKEDEV ... scene.html

So the PDA ( or a R2D2 unit ... ) could show 2 hours left when you finally have a 5 minutes of real time travel .
It will also show when it's time to leave the actual checkpoint and go to the next .
A space flight planner or a flight assistant ? ( a NPC could be great ... )
exemple without time but distance only :
http://spacetechs.free.fr/VEGASTRIKEDEV ... 5eb54d78d7

Let's resume :
_ Time in base is normal time . ( you have simulated 'cargo load time ' as countdown before leave the base ? Say 5 minutes ? )
_ Time in space is normal time ( without space anomalies :wink: )
_ Time in landing/docking/jumping is simulated (Know at which altitude of a planet we are undocked by the game and you can compute the real time needed to be there )

normal time+simulated time = final time .
Critical time will be how you leave the gravity of a planet , how you kill those bandits in a minute , etc ...

REFERENCE IN ACTUAL CODE :
Cargo missions
http://spacetechs.free.fr/VEGASTRIKEDEV ... tml#l00053
# self.mission_time=VS.GetGameTime()+time_to_complete*100*float(1+numsystemsaway)
go_to_adjacent_systems Class Reference :
http://spacetechs.free.fr/VEGASTRIKEDEV ... stems.html
starting with http://spacetechs.free.fr/VEGASTRIKEDEV ... a5ec5cda12
for AI traffic ( to improove and implement with loadCargo_time , leaveBase_time , etc ...)
http://spacetechs.free.fr/VEGASTRIKEDEV ... c_a_i.html
actual AI Jump method :
http://spacetechs.free.fr/VEGASTRIKEDEV ... tjump.html

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
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: *** GAMEPLAY : Time is Money ! ***

Post by klauss »

ezee wrote: Let's resume :
_ Time in base is normal time . ( you have simulated 'cargo load time ' as countdown before leave the base ? Say 5 minutes ? )
_ Time in space is normal time ( without space anomalies :wink: )
_ Time in landing/docking/jumping is simulated (Know at which altitude of a planet we are undocked by the game and you can compute the real time needed to be there )
Yeah, that doesn't fly with multiplayer, and it's the main reason we ditched elite-style time compression too.

Rather, you have to find a reason to justify deadlines with minutes-long trips. I believe. Or somehow just say 1 second of gameplay equals 1 hour in RL, which would be a bit of a stretch in dogfight conditions, but maybe more acceptable than time-jumping around time-consuming tasks (like landing and jumping, which simply doesn't mesh well with multiplayer).
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
ezee
Intrepid Venturer
Intrepid Venturer
Posts: 703
Joined: Tue Feb 11, 2014 12:47 am
Location: FRANCE
Contact:

Re: *** GAMEPLAY : Time is Money ! ***

Post by ezee »

Ah yeah !
I just catch why that can't work with multiplayer :

If i land , then go back in space , my player time will be global time + simulated time to land and takeoff .
I could be 2 hours ahead of the others players , and all the contracts awaiting are in global time .
mmm ...


Say you and me want to be the first to one cargo mission in system ' catchmeifukan '. :lol:

we are in orbit , same time .
Bandits are in approach , i decide to land , you decide to fight .
I am on base , i take 2 beers , listen to the news to know if you defeated dem .
Then i takeoff , you are winner over the bandits . ( 5 minutes of gameplay )

We go spec at the same time , direction ' catchmeifukan ' .
In your clock , it's 12 , in my clock 14 ... ( 2 hours simulated for 5 minutes of gameplay )
We arrive at destination after 5 minutes of flight ( and a jump += 2hours sim ) .
For you it's 14 o'clock past 5 , for me 16 past 5 .

The global time of the contract is 15 o'clock , you are in time .
I'm not .

The fact that the time differs between players could be acceptable if they don't know .
But if i say in a chat " hey , it's 16 , i'm late " , you will be surprised because in your time , it's
14 .
bad ...

But that can be also a strategic piece of gameplay :

_Bandits are in approach , DANGER DANGER !

Players have the choice :
_ Try to escape by landing or docking but you will loose 2 hours .
_ Try to resist and fight , you don't loose time , if you survive ...

So yeah , in that simulation , time is a piece of the gameplay .
Hey , we could sell and buy time also . :lol:
Psychedelic , but why not .
Or run to a worm hole ...

EDIT : WOAW ... i just had a pretty good idea for multiplayer side of this mod .

That gameplay was designed for solo campaign initially , but you pushed me in extremis :

MMO are difficult because of the bandwidth . ( not only but )
Now imagine that from the last simulation ( we're in orbit ) , i land and takeoff .
2 hours of simulated time , 5 minutes of real time .
I'm in orbit , you're not in sight .
:idea:

Yeah , in fact you're in orbit , but i can't see you , you can't see me :
WE ARE NOT IN THE SAME TIMEZONE !!
The server only transmit players data when they are in the same system AND timezone .
Great no ?

If you want to find me , check your computer , you will know where i am and at what time ! Now your PDA say that i'm 2 hours after you , in the same system .
Go to land , takeoff , and here i am !

We could play with that time with the stations too : Dock/Undock takes 1/2 hour .
And a IA traffic is generated each 15 minutes , or 10 .

1000 players could be online , 100 in the same system , but only 10 at the same time ?
But players wanna use their computer to try to be in the same time than others ...
But others have big cargo and don't want to be joined across the space... AND TIME !

8)
[youtube]http://youtu.be/XzcWwmwChVE[/youtube]

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
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: *** GAMEPLAY : Time is Money ! ***

Post by klauss »

Time-warping PDAs?
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
ezee
Intrepid Venturer
Intrepid Venturer
Posts: 703
Joined: Tue Feb 11, 2014 12:47 am
Location: FRANCE
Contact:

Re: *** GAMEPLAY : Time is Money ! ***

Post by ezee »

No .

The idea is to have a list of people in the server , and to know where they are ( in the system only ? ) but moreover
WHEN they are . ( in wich global time + their local time ) . BUT the PDA only show you the information .
Exemple :

1 jump cost 2 hours
1 landing 1 hour
1 takeoff 1 hour
1 dock 1/4 hour
1 undock 1/4 hour

We are spawned by the server in the same system , near the same planet .
You take a jump , arrive in system B . ( +2 hours in your credit of time )
Then you dock in a station ( + 1/4 hour )

I follow you and jump ( +2 hours in my credit of time )
I don't see you . ( you are docked )
At the same time you undock , your time is (global+ 2hours+(1/4 hour*2) )
My time is actually +2 hours in my credit of time , i can't see you !
So i take my pda , it says that you're in the system ,1/2 hour in the future .

At this point , i have to dock/undock to be in the same time zone than you . (+1/2)
Undocked , my radar have found you . ( we are in the same system , in the same time zone )

The server keep tracks of time signatures for the players .
That mean that all entities of the actual system are updated in each local computer every time the time function is used . ( this update occurs while an animation thread for example , while we dock , jump , land etc ...)
exemple :

Player LUKE is at 6 o clock ( global time+ 1hour ) in system A near a jump point .
Player YAN is at 5 o clock ( global time ) in system B near a jump point to A .

Yan jump , is now in system A at 6 o clock .
The server send to Luke the datas from YAN that is spawned , while YAN receive from the server the situation of all entities in the system .
That is the general idea : when you change of timezone , all the scene is updated FOR YOU ONLY .
When someone enter your time zone , only the new player info are sent to you .

Something like that , think 4 dimensions ( 4= time ) , with connections established by " timezone " .
ANd players are grouped/connected by time zones of 1/4 hours .
It's a four dimension game !!
:lol:

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
TBeholder
Elite Venturer
Elite Venturer
Posts: 753
Joined: Sat Apr 15, 2006 2:40 am
Location: chthonic safety

Re: *** GAMEPLAY : Time is Money ! ***

Post by TBeholder »

You are trying to out-trick yourself. :wink:
There are global events. Sure, it's possible to use subjective time and then sync back when the player logs out, so that all communications in-game are adjusted... but it's overcomplicated and thus introduces both inevitable organizational problems out-of-game and a possible big source of bugs - and the benefit is... exactly what? If you want racing, this may as well be a race against other ships rather than against the clock.
Also, would have to make docked state explicitly real-time anyway, because planets aren't the only units with docks - and if a capship or base is under attack, the player should be able to react. Then there are external docks...
"Two Eyes Good, Eleven Eyes Better." -Michele Carter
ezee
Intrepid Venturer
Intrepid Venturer
Posts: 703
Joined: Tue Feb 11, 2014 12:47 am
Location: FRANCE
Contact:

Re: *** GAMEPLAY : Time is Money ! ***

Post by ezee »

A detail about the spawning system .
The first player to enter a system in global time + credit time will be the " host " of the system .
The server will use the host datas for the new comers .
( AI traffic was created for the host , new comers receive the updated positions of AI + players )
When the host take a jump , or dock , etc ... he leaves this time session .
That mean that a new AI is generated for him if alone or updated with players if they were already at this time .
If there is no more player in this system/time zone , the server destroy the scene datas .
That seem tricky , but the exchange of datas could be done while in base .
( yeah , the server know exactly where you will be in 1/4 of hour , and if there will be players .

I imagine that gameplay :

10 players in a system , at same global time . t=0
2 fighters go fight ( they stay in global time )
4 bountys go dock ( they enter 1/4 dimension *2...)
3 traders go land ( they enter 1/2 dimension * 2...)
1 scout run and take a jump + a jump + jump

The server will create 4 sessions ( generate 4 traffics IA )

the two fighters are now alone with IA , at global time t
the 4 undocked bountys are now alone with IA ,sharing t+1/2 h
the 3 traders have takeoff and share t+1 hour
the scout is at time + 6 ( or more ... )

if the 4 bountys go to dock/undock again , they will enter the timezone of the 3 traders .
The server send the status of the four bountys to the traders .
The bountys receive from the server the units ( IA+players ) of the new timezone .

The question is how much is the cost ( in bandwidth ) of such transfers .

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
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: *** GAMEPLAY : Time is Money ! ***

Post by klauss »

Besides the point of whether it's doable, consistent or not, I see all this complexity as totally not worth the benefit of time-limited missions.
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
loki1950
The Shepherd
Posts: 5841
Joined: Fri May 13, 2005 8:37 pm
Location: Ottawa
Contact:

Re: *** GAMEPLAY : Time is Money ! ***

Post by loki1950 »

Pioneer has time limited missions and they are a major pain in the butt I have never been able to actually finish one as there is no read out in the ship cockpit of global time as time in warp is undefined so it might as well be random which is just bad in a game of this kind.

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: *** GAMEPLAY : Time is Money ! ***

Post by ezee »

you are right .
For such gameplay , it's neccessary to have good informations .
In that context , i would make a specialized HUD panel page/mode with the elapsed time and
time remaining for that mission .

The nav computer should be updated also with time functions .

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
Deus Siddis
Elite
Elite
Posts: 1363
Joined: Sat Aug 04, 2007 3:42 pm

Re: *** GAMEPLAY : Time is Money ! ***

Post by Deus Siddis »

loki1950 wrote: Pioneer has time limited missions and they are a major pain in the butt I have never been able to actually finish one as there is no read out in the ship cockpit of global time as time in warp is undefined so it might as well be random which is just bad in a game of this kind.
Have you tried NAEV's timed delivery missions? Those seemed consistently doable with a fast ship and decent fuel capacity.

Unfortunately even when done right, these rush delivery missions are extremely boring. I think this is because a delivery is basically just a 'fetch quest', so the fun must come from what happens outside of the mission, like pirates ambush you or you discover a mysterious derelict along the way to the destination, but when there is a time limit you don't have the luxury of detouring to fight or investigate such things. So you are left with "fly in a straight line to destination X."
TBeholder
Elite Venturer
Elite Venturer
Posts: 753
Joined: Sat Apr 15, 2006 2:40 am
Location: chthonic safety

Re: *** GAMEPLAY : Time is Money ! ***

Post by TBeholder »

Deus Siddis wrote:Unfortunately even when done right, these rush delivery missions are extremely boring. I think this is because a delivery is basically just a 'fetch quest', so the fun must come from what happens outside of the mission, like pirates ambush you or you discover a mysterious derelict along the way to the destination, but when there is a time limit you don't have the luxury of detouring to fight or investigate such things. So you are left with "fly in a straight line to destination X."
It can be challenging, but still feels like a platformer puzzle.
Same applies to racing against the clock vs. racing against an opponent, in that even if this doesn't turn into demolition derby, something actually happens.
"Two Eyes Good, Eleven Eyes Better." -Michele Carter
Post Reply