Battlezone Universe

Battlezone Universe => Battlezone 2 => Maps and Modding => Topic started by: Mafioso on January 09, 2008, 04:46:51 AM

Title: cutscenes, how do I make 'em?
Post by: Mafioso on January 09, 2008, 04:46:51 AM
I need to know how to make a cutscene.

And does it require any high level of programming skills?  :|
Title: Re: cutscenes, how do I make 'em?
Post by: Lizard on January 09, 2008, 04:56:32 AM
just use the DLL scriptor to set up a scripted camera sequence , it's very easy to do .
Title: Re: cutscenes, how do I make 'em?
Post by: Avatar on January 09, 2008, 07:26:09 AM
Um...  I have to disagree.

It's easy to set one up, but it's hard to do one safely.   In the Scriptor look at the 'cam' commands, but consider them a loaded gun.  I almost always cringe when one occurs in SP, FE or Fleshstorm, because bad things happen afterward.

Why?

The BZ2 engine never stops...  there's no 'pause' while in the cutscene and hitting the space bar to end it jumps you forward in time, as if the whole thing had played.  If one occurs while you're in the middle of a fight you're dead...

There are things you can do to help make them safer, though:

1. You can make everyone an Ally before starting a cutscene.  This stops any fights because everyone's one big happy team.  After the cutscene is done everyone is put back on their own team and the fighting starts up again.

The main drawback to this method is that any attack waves keep moving to wherever they were going.  Suddenly there's a dozen enemies around you or your Recycler despite the wall of GT's that was holding them back before the cutscene.  You also may end up off a cliff or coasting into a tight spot when it starts, so getting your bearings is tough afterwards.

Another thing that can happen is that a unit told to 'attack' something at that time won't, they'll stop wherever they are and you end up with 'orphan' units.

Still, this is better than instant, unavoidable death due to cutscene.

2.  You can set up some conditions that have to occur before the cutscene triggers.  Make it the destruction of the last attack wave AND the Player being a certain distance from the nearest enemy, so both the base and the Player are safe during the cutscene, and don't send any more attack waves until the cutscene ends.  Players being what they are this can end up causing the cutscene never to happen, or if the Player goes and sits next to the enemy base he'll effectively stop all attack waves, giving him a major advantage.  It can also cause some long pauses between attacks depending on how far away they're coming from.

An alternative to this is to use the conditions as a guide to how to present what you're trying to say.  In this case after the last attack wave you'd check to see if the Player is near an enemy.  If he is you just play a wav sound with no camera activity.  If he isn't you do the full blown cutscene.  This is the method I've tried to use for BZC, but there are times when this isn't appropriate, either.  It all depends on what you're trying to show with the cutscene.

3.  You can temporarily move the Player off the map or to somewhere on the map that you know is safe, then put them back where they were when the cutscene ends.  This can give you a flicker of seeing that you're somewhere else (unless you use an actual DLL, but the Scriptor has a bit of lag to it).

***

So, be careful with cutscenes unless you want people to hate you...   there are a lot of options available to try to minimize how much damage can occur during one, and to make them more presentable to all different types of players...

-Av-
Title: Re: cutscenes, how do I make 'em?
Post by: Steeveeo on January 09, 2008, 07:55:30 AM
Good tips Av, will keep those in mind for my next project.
Title: Re: cutscenes, how do I make 'em?
Post by: Mafioso on January 09, 2008, 10:15:00 AM
Thanks for the tip Ava, but I think it will take me some time to understand the scriptor fully  :-P
Title: Re: cutscenes, how do I make 'em?
Post by: Red Devil on January 09, 2008, 12:10:26 PM
Pretty sure you can record a game, then play it back and just move the camera where you need it while using Fraps to record it.  Not sure though.
Title: Re: cutscenes, how do I make 'em?
Post by: bigbadbogie on January 09, 2008, 02:51:20 PM
yeah you can do that, but only if you actually have fraps - and i dont mean the demo
Title: Re: cutscenes, how do I make 'em?
Post by: Avatar on January 09, 2008, 03:47:39 PM
While the Scriptor does support "Playmovie, filename" I've never actually gotten it to play a movie during a mission...  so if that works I've never done it.

The other cutscene commands, under "cam____" in the Scriptor, are very easy to do.  Here's a sample  from BZC that triggers if a Soviet Tug captures the Relic.  The first time this happens the mission will show you the Tug taking off with the Relic.  If it happens again it'll skip the movie:


   GetPlayer,ThePlayer              //find the player and assign it "ThePlayer" as a name
   NearEnemy,BadGuy,ThePlayer //find the nearest enemy to "ThePlayer" and assign it "BadGuy" as a name
   DistObject,BadGuy,ThePlayer  //find out how far away the "BadGuy" is from the Player, the next operation will use that number
   IfLT,200,SKIPMOVIE              //if the nearest bad guy is less than 200m away go to SKIPMOVIE
   CamObject,SovTug,CameraSpawn,SovTug,25  //Set a camera on the Soviet Tug, using the position "CameraSpawn" away, and follow the Tug for 25 seconds
SKIPMOVIE:                                 //go here if there's an enemy around
   Set,TugMovie,1                    //set the variable "TugMovie" to 1, indicating the movie was triggered
   JumpTo,CHECKESCORT1       //go to another part of the script


The whole camera operation is one line, and it does a very cool cutscene of the Tug running away with the Relic...

You know, we could have a whole seperate board just one the Scriptor...

-Av-
Title: Re: cutscenes, how do I make 'em?
Post by: Red Devil on January 09, 2008, 04:46:55 PM
Looking at the DLL, I'm thinking that we may be able to get the camera to follow a unit in sat view in-game.  Maybe.  Back burner though.
Title: Re: cutscenes, how do I make 'em?
Post by: Avatar on January 09, 2008, 05:08:03 PM
You could fake it in the Scriptor easily enough by just specifying a high position, looking down. 

There's no end to what you can do, up to making entire 'sets' via DLL, running the camera sequence, and then removing it all also by DLL.  If you were trying, say, to show a news broadcast from Earth you could make a whole Earth-like area, complete with environmental changes (blue sky, green grass), run through the camera sequence, and then put the environment back to say, the Moon after you remove any 'props'.

Keep in mind that extended camera sequences, no matter how cool looking, will annoy about 75% of the players.  Toss in unexpected skyrides, attackers breezing past your defenses, or exiting to find your sitting in lava and another 20% will be annoyed with you.

So keep them clear, short, and to the point while keeping the player and his toys as safe as possible.

-Av-
Title: Re: cutscenes, how do I make 'em?
Post by: Red Devil on January 09, 2008, 05:47:30 PM
Talking about targeting a unit in sat view in MP and having the camera follow it.
Title: Re: cutscenes, how do I make 'em?
Post by: GSH on January 09, 2008, 06:36:47 PM
Quote
Keep in mind that extended camera sequences, no matter how cool looking, will annoy about 75% of the players.  Toss in unexpected skyrides, attackers breezing past your defenses, or exiting to find your sitting in lava and another 20% will be annoyed with you.

Doing the math, you're saying that 5% of players like cutscenes. I think that's rather high.

(Unless you're talking Final Fantasy or Metal Gear Solid, games with more cutscene than interactive times, it seems. Hasn't hurt their sales.)

-- GSH
Title: Re: cutscenes, how do I make 'em?
Post by: Sonic on January 09, 2008, 07:06:01 PM
Way back when I first started "In The Shadows", I created a special cutscene mission that I gave to CmptrWz who captured and edited into an intro movie which has been sitting on my site ever since (http://www.starfleetplatoon.com/users/sonic/bz2/its.wmv). Timming was particularly hard, especially when you write the script on one computer and another computer actually ran it.

Here's the script for that mission, if you want it:
// Script used to create the ITS Trailer Clip

[objects]
Builder1
Builder2
Recycler1
Recycler2
OS
Attacker1
Attacker2
Attacker3
Bomber
Player

[positions]

[variables]

[text]
Start,
"Hey You!  Yea You! \nSay Cheese! ^_^"

[routine,Main,1,true]
Display,Start,turquoise
Wait,3
BeaconOn,OS
Createp,Attacker1,">fvtank",6,"attack1"
GiveWeapon,Attacker1,"gomburst2_c"
GiveWeapon,Attacker1,"gshield"
Attack,Attacker1,Recycler1,1
Createp,Attacker1,"fvtank",6,"attack1"
GiveWeapon,Attacker1,"gomburst2_c"
GiveWeapon,Attacker1,"gshield"
Attack,Attacker1,Recycler1,1
Createp,Attacker1,"fvtank",6,"attack1"
GiveWeapon,Attacker1,"gomburst2_c"
GiveWeapon,Attacker1,"gshield"
Attack,Attacker1,Recycler1,1
Wait,1
RunSpeed,Cheese,1,true
Wait,15
Createp,Attacker1,"fvtank",6,"attack1"
GiveWeapon,Attacker1,"garc_c"
GiveWeapon,Attacker1,"gshield"
SetMaxHealth,Attacker1,10000
SetSkill,Attacker1,2
Createp,Attacker2,"fvtank",1,"attack2"
GiveWeapon,Attacker2,"gomburst2_c"
GiveWeapon,Attacker2,"gabsorb"
Attack,Attacker2,Attacker1,1
SetMaxHealth,Attacker2,12000
SetCurHealth,Attacker2,12000
SetSkill,Attacker2,3
Createp,Attacker3,"fvtank",1,"attack2"
GiveWeapon,Attacker3,"gomburst2_c"
GiveWeapon,Attacker3,"gabsorb"
Attack,Attacker3,Attacker1,1
SetMaxHealth,Attacker3,12000
SetCurHealth,Attacker3,12000
SetSkill,Attacker3,3
Wait,5
SetCurHealth,Attacker1,4000
Wait,8
Build,Builder2,"fbbomb",1
DropOff,Builder2,"build_here",1
CHECKING:
GetByLabel,Bomber,"unnamed_fvbomb"
IsAround,Bomber
IfEQ,false,CHECKING
Wait,16
Attack,Bomber,OS,1
Remove,Attacker2
Remove,Attacker3
Createp,Attacker1,">fvwalk",6,"attack1"
Attack,Attacker1,Recycler1,1
Createp,Attacker1,"fvwalk",6,"attack1"
Attack,Attacker1,Recycler1,1
Createp,Attacker1,"fvwalk",6,"attack1"
Attack,Attacker1,Recycler1,1

[routine,GetStuff,1,true]
GetByLabel,Builder1,"cons_good"
GetByLabel,Builder2,"cons_bad"
GetByTS,Recycler1,1,1
GetByTS,Recycler2,6,1
GetByLabel,OS,"over"

[routine,Cheese,0,false]
CamOf,Attacker1,-25,10
CamPath,"cam2",2500,2500,Recycler1
CamPath,"cam1",1000,3000,Attacker2
CamPath,"cam3",2500,900,Builder2
CamOf,Bomber,-50,10
CamPath,"cam2",2500,2000,Bomber

[Routine,ThePlayer,1,true]
START:
GetPlayer,Player
JumpTo,START
Title: Re: cutscenes, how do I make 'em?
Post by: bigbadbogie on January 09, 2008, 09:22:23 PM
in the shadows...brings back some memories -- i remember checking the sfp site every month to see if it was going anywhere -- i am still DISAPPOINTED!!!!!
Title: Re: cutscenes, how do I make 'em?
Post by: Avatar on January 10, 2008, 05:22:58 AM
Quote from: GSH on January 09, 2008, 06:36:47 PM
Quote
Keep in mind that extended camera sequences, no matter how cool looking, will annoy about 75% of the players.  Toss in unexpected skyrides, attackers breezing past your defenses, or exiting to find your sitting in lava and another 20% will be annoyed with you.

Doing the math, you're saying that 5% of players like cutscenes. I think that's rather high.

(Unless you're talking Final Fantasy or Metal Gear Solid, games with more cutscene than interactive times, it seems. Hasn't hurt their sales.)

-- GSH

I felt that a safe statistic as 5% of the population will enjoy watching paint dry or grass grow...  just look at the Nielson ratings for shows like "Alf", or "Smarter than a Fifth Grader".   :)

I personally love a good cutscene.  Makes the whole experience more like being in an epic movie.  The trouble is there aren't many good cutscenes IN missions in BZ2 because of the downside to freezing the Player.  They're much better used at the beginning/ending of a mission to set the stage, or show the result of the mission.

-Av-
Title: Re: cutscenes, how do I make 'em?
Post by: Zero Angel on January 10, 2008, 10:51:19 AM
Cutscenes are good if done right, like watching a bunch of assault tanks being decimated by maulers or anything with action/story value. And also providing that they can be skipped.
Title: Re: cutscenes, how do I make 'em?
Post by: OvermindDL1 on January 10, 2008, 12:37:16 PM
Has anyone ever attempted cutscenes in BZ2, HL/HL2 style.  In other words, it is a cutscene, but you still have full control, just that the cutscene is taking place around you and you can interact with it as such, those tend to be well received.
Title: Re: cutscenes, how do I make 'em?
Post by: Red Devil on January 10, 2008, 12:48:39 PM
No, but it sounds do-able.  That SP mission where you drop in on the base being attacked by the Scions sounds close.
Title: Re: cutscenes, how do I make 'em?
Post by: Zero Angel on January 10, 2008, 01:02:43 PM
What about the comm bunker trick used in the FE mission "into the fire" ? The thing is that the building looks like a comm bunker, but it is actually a GT class with a really high eyepoint to view the surrounding terrain.