Author Topic: Ending multiplayer missions (In TCs especially).  (Read 1547 times)

0 Members and 1 Guest are viewing this topic.

Offline karajorma

  • King Louie - Jungle VIP
  • Administrator
  • 214
    • Karajorma's Freespace FAQ
Ending multiplayer missions (In TCs especially).
I've been looking into fixing a few issues with multiplayer missions where you don't want ships jumping out. Obviously I'm doing this cause the issues affect BtRL but I suspect that all the major TCs are going to be affected because fighters in B5, WCS and Starfox lack jump drives too as far as I'm aware.

The issues I've spotted so far are as follows.

1) If you use no subspace drive there is no way to end the mission except by adding an event using end-mission
2) You can't tie this event to a key-pressed SEXP because the mission will be impossible to exit on a stand alone server.
3) Even if you could it would make the host option to choose who can end the mission worthless.
4) Break-Warp and Never-Warp have no effect at on whether a ship can jump out or not in multi.
5) The Kill and Time threshold options override everything and simply warp you out when they are reached.


Thing is I can't see any way to reverse all these without quite a few new options.

1) A mission designer needs to be able to override the kill and time threshold options set by the server. It would be nice to have the option of saying the threshold must be at least x or no more than y but at the very least the opton to turn those thresholds off completely is needed.
2) The thresholds need to be able to take another route out of the mission other than a warp out if that isn't a property of the ship.
3) The user needs to be able to end the game with a key-press (alt-J could probably be used) without it resulting in the ship jumping.


I'm going to be taking a look into all this very soon so if anyone has suggestions, now is the time to make them.
Karajorma's Freespace FAQ. It's almost like asking me yourself.

[ Diaspora ] - [ Seeds Of Rebellion ] - [ Mind Games ]

 

Offline MP-Ryan

  • Makes General Discussion Make Sense.
  • Global Moderator
  • 210
  • Keyboard > Pen > Sword
Re: Ending multiplayer missions (In TCs especially).
Is there nothing fancy you can do by designating waypoints or regions of space to terminate the mission when a certain number of kills has been reached?  Just thinking this might be a way to get around the problem without tinkering.

I.e.

When a ship reaches X number of kills, protect all ships, create a waypoint, send a message ordering the player to that waypoint, and then an SEXP that terminates the mission when at least one player reaches it (or the space around it).  As for terminating without a jump-out, I don't know how its done in BTRL, but could you attach that sort of event to the waypoint?

Would that work?
"In the beginning, the Universe was created.  This made a lot of people very angry and has widely been regarded as a bad move."  [Douglas Adams]

 

Offline RazorsKiss

  • 28
  • The Cutting Edge
    • RazorsKiss.net
Re: Ending multiplayer missions (In TCs especially).
As a fledgling TC rat - the only alternate "end-mission" standard I'm going to need, afaik, is the ability to tie the destruction of an object, or a specific event, to end-of-game.

ie: In Base Wars, the game is over when you blow up the other base's life support - which will likely be a subsystem of a base.  So, if subsystem-destroyed could be a flag, I'd be greatly appreciated.  I'm fairly certain it would be nice to have that for, say, disabling the engines, on an escort mission, as well.  ie: "IF shipname = "y" AND subsystem-destroyed="x" (or whatever the syntax involved is), then end-mission".

Everything else will be objective-based coop or deathmatch-style killfests :D    Giving "end-mission" a lot of different available variables to choose from would rock.   Waypoints, or specific areas would be great as objectives too.

Our fighters also lack jumpdrives, too, and will be using gates instead.  The capships can use jumpdrive, though...

Your other options sound nice, as well - and overriding the kills/time would be great.
Fringespace - Tachyon: Revived   ModDB Listing   Razorskiss.net 

You only think you can outfly me.

  

Offline takashi

  • Better than TrashMan
  • 29
Re: Ending multiplayer missions (In TCs especially).
maybe when-key-pressed-player-use-AI  to land on a mothership? (great fox, or battlestar.)

 

Offline Nuke

  • Ka-Boom!
  • 212
  • Mutants Worship Me
Re: Ending multiplayer missions (In TCs especially).
ive been thinking about maybe doing script based carrier landings (which would be cool to have in btrl). a carrier profile is loaded from a table like file (parsed by scripting) which contains aproach path information and specific procedure data for the pilot to follow in order to land. the aproach path consists of a few things, the long aproach, the final aproach and the deck zone. each part of the path gets less and less tolerant of deviation as the landing progresses. an ils is displayed based on the path and the other data in the carrier profile.

at the end of the mission you must ask for premission to lan, once granted your ils locks on to the nearestr waypoint in th long aproach path, which ligns you up for final aproach. final aproach is a tight tunnel which must be followed to avoid getting the wave off. this tunnel leads to the stopped position on the deck and is displayed as a series of frames drawn on the hud. the deck zone is really just a line of boxes, and if all are passed through in the right order and at a resonable speed, the signal is sent to the events system to end mission.

in an ideal implementation all youd need is a single new sexp (which is implemented through scripting). it would be something like is-carrier-landing-successful and once evaluated as true, the end mission sexp is called. maybe another event: autorize-carrier-landing. its on the drawuing board as things to go into nukemod. but im intrested in making scripts for everyone to use, and which are easy to mod through external files.
I can no longer sit back and allow communist infiltration, communist indoctrination, communist subversion, and the international communist conspiracy to sap and impurify all of our precious bodily fluids.

Nuke's Scripting SVN

 

Offline karajorma

  • King Louie - Jungle VIP
  • Administrator
  • 214
    • Karajorma's Freespace FAQ
Re: Ending multiplayer missions (In TCs especially).
I think you guys are missing the point.

Having a FREDed ending with end-mission is easy. I could do that in my sleep. But forcing players to have to perform some arcane action in order to end a mission is poor gameplay. Not to mention close to impossible to do in certain mission types.

For instance how do you end a dogfight mission by making someone fly to a certain point? Who do you pick? What happens if the other players don't want to end the mission and simply gang up and repeatedly kill the host so that he can't fly to that location? Why should the host be responsible for ending the mission? FS2 let you choose, why should we limit that choice just cause we have no jump engines?

What happens if the host has to leave the game early? No way to quit = no way to save stats. What happens if someone flies to that location during the battle? What if you simply don't want to do a carrier landing to end a mission? (Forcing TCs to have to do carrier landings to end missions is pretty much as bad as when FS2 forced us to do a jump).

This is definitely something that needs to be fixed in code. What I want to know is if anyone has any other code fixes that are needed for ending MP missions before I start.

Karajorma's Freespace FAQ. It's almost like asking me yourself.

[ Diaspora ] - [ Seeds Of Rebellion ] - [ Mind Games ]

 

Offline Nuke

  • Ka-Boom!
  • 212
  • Mutants Worship Me
Re: Ending multiplayer missions (In TCs especially).
duh, complerely missed the multiplayer part. what about a voting system where you can make changes to the game rules on the fly. sorta what you get in fps games. anyone can call for a vote to say change the mission time or change to a different missionif enough people vote yes then the game ends and the stats are saved.now on freespace what you can vote for would be much more limited, like change the max kills or the time limit. perhaps a sudden death mode, where one shot one kill is turned on.

of course that really only affects team vs team or dogfight, which are more or less the equivelant of the fps versions. i think that the way those gametypes work need to be tweaked a little. first off a level rotation would be cool. so that you can leave those games running constantly without tjhe need to form each time, just like the way you do it in fps games. the in mission joining would come into play as well. actual scenario mission games require forming and wont really work out as a join whenever gametype. i think those should include takeoff and landing. when you think about it its just another part of flying.
« Last Edit: April 25, 2007, 04:31:28 am by Nuke »
I can no longer sit back and allow communist infiltration, communist indoctrination, communist subversion, and the international communist conspiracy to sap and impurify all of our precious bodily fluids.

Nuke's Scripting SVN

 

Offline takashi

  • Better than TrashMan
  • 29
Re: Ending multiplayer missions (In TCs especially).
^agrees