The Anatomy of an EZScript Adventure

Well, I’ve been debating how best to illustrate the composition of an EZScript mission, and I thought that it might be useful to y’all to actually watch one get written, in a way, so, if that interests you, join me as I put together a relatively simple adventure for a favorite character of mine:

The DCUG includes a campaign that alternates between The Atom and Hawkman and Hawkgirl, and as I was debating what I wanted to do for this post, it occurred to me that I had plans for several missions that would be pretty simple.  So, I’ll open up EZScript Edit, and instead of using my previous scripts as models, I’ll compose from scratch so you can see the whole process.

I’ve got my heroes, but who should my villain be?  Well, I’m in luck there, as I have a fairly extensive backlog of stories that I haven’t had time to get to you.  Reaching into my notes more or less at random (with an eye towards the beginning of my overall story arc with the Hawks), I come up with The Fadeaway Man!  I’ve said before that the DCUG is the home to obscure characters.  Anyway, the next step is to figure out what I actually want to happen in this mission.  Since Fadeaway Man is more or less just a thief, we’ll start with a jewel heist.  I can choose a couple different encounter types to simulate this, for example, I could chose a straight up “Fight” encounter and just create the illusion of a heist via dialog.  I could also use a “Save Civilian” encounter, implying that our villain would be going THROUGH some hapless civilian to get his trinket.  Instead, I think I’ll use an “Interrogation” encounter, which will allow our villain to have a conversation with our heroes at the end of the encounter.  So, I double click on “Interrogation,” and I receive this:

Story: 05hawkman

#————————————–

Encounter:
Type: Interrogation
Villains:
Minions:

Alert Cutscene:

Start Cutscene:

Interrogation Cutscene:

End Cutscene:

#—————————————-

You’ll notice that I’ve named my mission (something simple and easy to remember), and that I’ve added “#—-” to help me separate various encounters, and to make my scripts a little neater and easier to follow.  Now we need to fill in the blanks.  We’ll name the encounter “Jewel1,” which is a nice simple name I can recognize quickly, and use as part of something else if I ever feel so inclined.  It is important that you never name your encounters with parts of characters names, terms that show up in encounter types, or marker names. Any of those things can cause EZScript to get confused.  That’s why simple naming is such a good idea.  Next, we identify the cast.  We’ll have the Hawks as part of our team going into this mission, so we don’t need to worry about them.  The villain is, of course, fadeaway_man, and he won’t have any minions in this encounter, so I’ll remove that line.  Now all we need to do is decide which cutscenes, if any, we want.  Remember, you can use as many or as few of these as you like.  However, in encounters like this that don’t simply end when all of the bad guys are down, an End  CS can be a good litmus test to make sure everything is working properly.  For our purposes, we’ll provide an Alert, Start, and Interrogation CS.  The finished encounter looks like this:

#————————————–

Encounter: Jewel1
Type: Interrogation
Villains: fadeaway_man
Primary Objective: “Stop the robbery and catch the mysterious thief” for 50 prestige
Next: Jewel2
Marker: store1

Alert Cutscene:
Cinematic camera on hawkman to hawkgirl
hawkman says, “I suppose since we’re going to be staying here, we may as well try to make ourselves useful,Shayera.”
hawkgirl says, “Shall we patrol the city? It will be just like our joint shifts back on Thanagar.”
hawkman says, “An excellent idea, I…”
hawkgirl turns to store1
hawkgirl says, “Wait! Do you hear that?”
hawkman turns to store1
hawkman plays animation melee
hawkman says, “Yes…yes I do…just on the edge of my hearing…it sounds like…”
hawkgirl says, “A siren! Fantastic, let’s go!”
hawkgirl moves to store1
hawkman says, “This night is getting interesting already!”
Red Arrow on fadeaway_man

Start Cutscene:
Remove Arrow on fadeaway_man
Cinematic camera on fadeaway_man
hawkman says, “It’s Professor Lamont…but what in the world is he doing?”
fadeaway_man turns to hawkman
fadeaway_man plays animation melee
fadeaway_man says, “No! I just needed a few more minutes to muster the concentration needed to teleport these diamonds away…stay back aliens!”
Camera on hawkgirl
hawkgirl says, “What do you think you’re doing, pal? Don’t you want to reconsider. You can’t get away from us.”
Cinematic camera on hawkman
hawkman says, “And if you try, it’s going to hurt.”
hawkman turns to hawkgirl
hawkman says, “He must have stolen that cloak from the museum…he used us Shayera!”
Camera on fadeaway_man
fadeaway_man says, “I don’t know how you flying fools found me, but leave now or face the power of the Cloak of Cagliostro!”

Interrogation Cutscene:
Camera on fadeaway_man
fadeaway_man says, “You’ve caught me…but…the question is….can you hold me!?”
Fade for 2 seconds
hawkman says, “What are you talking abo….wait, where’d he go?”
fadeaway_man teleports to spot1
Unfade for 3 seconds

#—————————————-

I’ve added my dialog, pointed the camera at what I wanted, and got just the slightest bit fancy at the end.  To make the story a bit more dramatic, I teleport our villain out of the way before we get the game rolling again.  Now we won’t be stuck looking at him until the game removes him.  You may also notice that I’ve called a few specific markers.  That’s fine as long as I place them on the map.  Without them, this encounter won’t work at all, or at least won’t work properly.  I’ve also added an objective which will show up and help the player figure out what to do.  So, what next?  Well, now we have to hunt down our escaped villain, searching for him in the city.  To make this really effective, I’m not going to call a specific marker, so that he’ll show up at a random spot each time you play.  We’ll make it a simple “Fight” encounter, which will keep him from looking for us.

#—————————————-

Encounter: Jewel2
Type: Fight
Villains: fadeaway_man
Minions: thug_with_gun
Primary Objective: “Track the thief down and stop his escape” for 150 prestige
Next: Win

Alert Cutscene:
Camera on hawkman
hawkman says, “How’d he vanish like that?”
hawkgirl says, “It has to be something to do with that cloak…he claimed it had some kind of power.”
hawkman says, “Well, I suppose we’ll find out when we take it away from him. Come on, let’s see if we can’t track him down!”

Start Cutscene:
Cinematic camera on hawkman
hawkman turns to fadeaway_man
hawkman says, “Alright magician, you’ve pulled your last vanishing act!”
Camera on fadeaway_man
fadeaway_man says, “It’s Fadeaway Man to you, bird brain! We’ll see about that!”

End Cutscene:
Camera on hawkgirl
hawkgirl says, “Let’s get this thief into a cell and this cloak back to the museum.”

#—————————————-

Well, that tells a complete story, so we could really stop here, but I like to try and provide a bit more for the player to do, so let’s flesh this adventure out with a few secondary objectives.  Since the Hawks are just getting started in Midway City, it’s only natural that they’d run into the organized criminal element sooner or later, right?  Well, we’ll scatter a few different types of encounters with mob types to spice things up a bit.

#—————————————-

Encounter: Mug1
Type: Building Rampage
Villains: thug_with_gun, thug_with_grenade, thug_with_grenade, thug_with_gun, thug_with_grenade
Allies: civilian_male
Next: If Ally Survives: None
Next: If Ally Lost: None

Start Cutscene:
Camera on Villain1
Villain1 says, “Sorry pal, but you was told that if you didn’t buy our ‘insurance’ bad things might happen to you. You shoulda’ listened. Now we gotta’ smash this place up a bit…”
Cinematic camera on hawkman
hawkman says, “No…I think that you’re the one that should listen, because I’m only going to say this once. Put down your weapons while you can still move your arms.”

#—————————————-

Encounter: Mug2
Type: Heist
Villains: thug_with_gun, thug_with_bat, thug_with_gun, thug_with_bat
Item: crate
Next: If Item Recovered: None
Next: If Item Lost: None

Start Cutscene:
Camera on Villain1
Villain1 says, “Grab the loot, sooner we get it to the fence, sooner we can split the money.”
Cinematic camera on hawkgirl
hawkgirl says, “I don’t think so boys. Why don’t you hand it over now and save us all a lot of trouble.”
Villain1 says, “Look out, it’s the fuzz…and they got wings!”

#—————————————-

Encounter: Mug3
Type: Save Civilian
Villains: thug_with_gun, thug_with_bat, thug_with_gun, thug_with_bat, thug_with_gun, thug_with_gun
Allies: civilian_female
Next: If Ally Survives: None
Next: If Ally Lost: None

Start Cutscene:
Cinematic camera on Villain1 to Ally1
Villain1 says, “Alright girlie, I imagine your rich daddy will pay well to get you back in one piece.”
Ally1 says, “No…please….just let me go….”
Villain1 says, “Now, come along quietly girlie, or things are going to get ugly.”
Cinematic camera on hawkman
hawkman turns to Villain1
hawkman says, “I know things are pretty different here, but I’m fairly certain that kidnapping people is just as unlawful here as it is where we’re from…”

Ally Thanks Hero Cutscene:
Camera on Ally1
Ally1 says, “Thanks Hawkman! Thanks Hawkgirl!”
Cinematic camera on hawkgirl
hawkgirl says, “Girl? Not again! This is going to catch on if I don’t put a stop to it.”
hawkman says, “Later darling, we’ve got bigger game to catch!”

Ally Lost Cutscene:
Camera on hawkgirl
hawkgirl says, “No…she was counting on us!”

#—————————————-

So, these are all simple, and they are all marked as having “None” following them.  Important, any time you use encounters out of sequence, you need to specify what follows them. For example, if I didn’t specify that nothing follows Mug1, after you finished it, the game would go ahead and start a SECOND Mug2.  Now we’ll add an extra treat (punishment?) for those completists who explore the entire map and do all of these encounters.

#—————————————-

Encounter: Mug4
Type: Hunt
Villains: warlord, mafioso, mafioso
Minions: thug_with_gun, thug_with_bat, thug_with_gun, mafioso
Starts When: Mug1 at End, Mug2 at End, Mug3 at End

Start Cutscene:
Camera on Villain1
Villain1 says, “Hey, birdboy! You’ve been interfering in our business…and that ain’t wise…that ain’t wise at all. We got a message for ya’, and it’s spelled in lead!”

End Cutscene:
Cinematic camera on hawkman
hawkman says, “Well, we certainly seem to be making an impression…”

#—————————————-

There you have it, total time for this mission, right around 45 minutes.  I hope that was helpful, and perhaps even interesting to a few of you.  Please post if you have any questions!

One comment on “The Anatomy of an EZScript Adventure

  1. […] EZScript.  The first mission needs for the heroes to be placed already, otherwise check out my tutorials on what markers are necessary to get everything to play nicely. 9) Open your mod folder and copy […]

Leave a comment