Mice and Men

The best laid plans, you know?  I’m still waiting on some permissions, and I’m leaving town tomorrow, so the thing that I had planned will have to wait a week.  I’ll be back with….something next week!  (I should stress, it’s something small)

Doing More with EZScript

We’ve talked a bit about how to do fairly simple things with EZScript, so I thought I’d take some time tonight to talk about getting just a bit more fancy.  There are a few fairly common types of missions whose creation in EZScript may seem a little difficult to figure out when you’re just beginning.  One of the things that I wanted to do when I was first getting started on the DCUG was figure out how to create a mission where success or failure depended largely on the player’s ability to be stealthy.  Do y’all remember the stealth mission from the original FF campaign, the one where Minute Man had to sneak past a bunch of thugs who would trigger an alarm if they saw him?  Well, that gave me the idea, and since I was working on a Batman campaign, it seemed like a perfect fit!

But, how should I go about it?  Well, thanks to M25’s pointers, I finally worked out what I needed to do, and it is a system I’ve used for several missions since then.  To illustrate it, I’ll create part of  a Ninja Turtles mission in which the Heroes in a Half Shell have to slip past the police without being seen, while at the same time searching the city for clues.  We begin with a simple cutscene, and take advantage of the “Next:” field to spawn several encounters at the same time.

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

Encounter: Intro1
Type: Cutscene
Next: Punk1, Punk2, Punk3, Guard1, Guard2, Guard3

Start Cutscene:
narrator says, “After rescuing a plucky reporter from a gang of thugs out to ‘send her a message,’ the Turtles joined April O’Neil in pursuit of a story that would prove that they had not been behind a number of recent robberies around New York.”
narrator says, “While the boys stopped for a pizza, April continued her investigation, following her nose right into a trap!”
Cinematic camera on leonardo to raphael
leonardo says, “April’s disappeared, dudes!”
raphael turns to leonardo
raphael says, “Don’t worry Leo, she’s a big girl. I’m sure she can take care of herself.”
Camera on donatello
donatello says, “I’m not so sure guys. I mean, those creeps are probably still looking for her. What if they found her again?”
Cinematic camera on micaelangelo to leonardo
michaelangelo plays animation melee
michaelangelo says, “Well dudes, we gave those losers a pounding once, we can do it again!”
leonardo says, “Right Mikey, let’s hit the streets and see if any of the local riff-raff know anything. But remember, let’s act like ninjas and stay out of sight!”

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

Now, there are two things I want to point out about this.  First, you’ll see that I’m calling for six encounters to begin, but they are all encounters that won’t actually start RUNNING until you move characters close to them.  The characters in them will spawn, but they won’t take up too much juice just sitting there.  Something like this gets a lot more demanding when you are triggering encounters that start immediately, and that is something to keep in mind if your machine is a little on the older side.  Second, I forgot to talk about the difference between “Camera on” and “Cinematic camera on” commands in my last EZScript post.  Camera on points the camera more or less straight down at a single character, at a moderate height that will include a good deal of background.  Cinematic gets you in a little closer, and can be good for dramatic moments.  It is also good for FOLLOWING moving characters.  I tend to alternate the two, so there aren’t any jerky camera transitions.  Also, you can tell the game to stretch a shot from one character to another with the Cinematic camera, and that can be good for creating the illusion of a conversation or a face-off.

What’s next?  Well, the three encounters where the Turtles are looking for clues are all just variations on the same theme, stop a mugging, catch a thief, etc.  I’m going to make one of them an interrogation, though, so that our heroes can get some information pointing them to the final encounter.  I COULD make this clue encounter both an interrogation AND something else using a Custom Encounter, but we’ll talk about those another day.  Punks 1-3 won’t have a marker specified, so they’ll be random.  The player will have to search for them.  Guard 1-3, however, have to be tied to a specific location if we want them to look right.  Let me show you what I mean:

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

Encounter: Guard1
Type: Flee The Scene
Villains: cop, cop
Marker: post1
Next: If All Escaped: Alarm1
Next: If Some Escaped: Alarm1
Next: If None Escaped: None

Alert Cutscene:
Camera on leonardo
leonardo turns to Villain1
leonardo says, “Uh-oh brothers, we’d better stick to the shadows. We can’t afford to be seen, but I’d really rather not hurt innocent policemen.”

Start Cutscene:
Cinematic camera on raphael
raphael says, “They’ve spotted us! Let’s take ’em!”
donatello says, “But…they’re the good guys!”
raphael says, “Better that they wake up with a headache than we end up in a lab somewhere!”

Villains Escapes Cutscene:
Camera on donatello
donatello says, “This can’t be good…”

None Escaped Cutscene:
leonardo says, “That was too close…we must be more careful. Remember the lessons Master Splinter has taught us.”

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

You see, the base for this kind of stealth mission is simply a “Flee the Scene” encounter, and you could technically do that without calling for a marker, but if you want it to look like that Minute Man mission, where your flunkies trigger an alarm, you’ll need to do a little extra work.  See, having a specific marker, in this case “post1” allows you to place another marker “post1_end1” which will tell the villains where to run.  That may not really seem that helpful, but if you were to place the alarm bell from the Nazi base map over that marker, then you’d see these cops run for that alarm, rather than for a particular edge of the map.  Now, you’ve got a few options as to what to do once the alarm is tripped.  If you want stealth to be absolutely vital to the mission, you can simply put “lose” after the next entries for characters getting away.  What I like to do, however, is force the player to face a boatload of reinforcements if they can’t slip past the guards.  The next step is the key, though, as getting the right look is only part of the issue.

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

Encounter: Alarm1
Type: Hunt
Villains: cop
Minions: cop
Marker: post4

Start Cutscene:
michaelangelo says, “Look out, here comes the cavalry!”

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

You now have to tell the game to summon reinforcements for the shocked cops.  Here, we place a “post4” marker next to a doorway nearby, and use a hunt encounter so that these policemen will chase after the Turtles.  Thus, if the alarm is tripped, it will seem like the cops have called for backup.  You can even add in more dialog to indicate exactly what is going on.

And there you have it.  It is really simple in the execution, but it took me quite a while to figure out.  I like to think that the result in game is actually pretty neat, and a nice variation from the standard fare of “punch this guy.”  I hope that was useful to someone out there!

In the Ether

TMNT Roleplaying Setting:

Okay, now he’s really reaching!  He’s already talked about the Ninja Turtles!  Right?  Well, while I’m working on other, unfortunately school related, things at the moment, I thought it would be worth putting together a post that has actually been on my mind a bit the last week.  Yes, I’ve already talked about the Ninja Turtles, but it isn’t the Turtles themselves that inspired this idea, but the world that they live in, most specifically, the well realized and exciting setting for the RPG system developed by Palladium Books in 1985.  I happened across the original source book for this system, Teenage Mutant Ninja Turtles: and Other Strangeness, last year.  It’s based strongly on the original comic, rather than the original ‘toon, and it keeps the somewhat dark and gritty sensibilities of that book.  All I can say is that it is a good thing I never discovered that such a thing existed when I was a kid, as my childhood was painfully, and I do mean painfully, nerdy enough as it was.  Suffice to say that I found the “Other Strangeness” part of this book to be a really interesting world, complete with its own cast of built in characters that were sometimes creepy, often somewhat tragic, and always compelling enough to me that I would love to tell a story about them.  Plus, what Ninja Turtles fan never thought about creating their own mutant character to join in their adventures?  The rules provided for doing just that were pretty neat on their own, and while I was trying to put together the game on the boards, I created a handful of my own mutated avians, mammals, and reptiles, all ready and able to dish out freakish justice.  Sadly, that campaign never materialized because of real life concerns, but after my previous post about bringing the Turtles to Freedom Force, I started thinking about those RPG ideas of mine that were sitting around and gathering dust.

If I were to attempt to bring this setting to FF, I don’t think a regular campaign would do the trick.  After all, part of the major fun of the RPG system was creating your own mutant.  Instead, I’d love to flesh out a world with a free-roam adventure.  You’d have some of  the standard thug-bashing in the city, but an overarching story line and lots of side quests that would sometimes have multiple ways of being solved or discovered.  While that would be a nightmarishly complex and intricate selection of EZScripting, it is obviously do-able.  The real problem lies in the lack of any really useable art assets for a setting like this.  I did track down a bunch of anthropomorphic animal meshes someone had done, but they’d all need some major skoping and skinning attention to be viable as kung-fu using or gun-toting mutants.  This is definitely one of those ideas I’d only pursue if I happened to have plenty of time and unlimited resources.  Having a good selection of skopes and skins for players to chose from in creating their characters would be vital, and that need would exponentially increase the workload in those areas.  Well, hopefully I can put together an actual group to play a simple tabletop campaign in this setting one day, as this is one idea I doubt I’ll ever have time for.

Return to the Ether!

Transformers:

These automatons are More than Meets the Eyes!  Yes, I know, here we have yet another 80s ‘toon in the list, but I can’t help it, the 80s just had lots of awesome ‘toons!  However, it isn’t just memories of childhood heroes that inspires my love of the Transformers.  I did watch the show as a kid, and I do still have that nostalgic connection.  What really made me love the Robots in Disguise is the incredible comic series that Dreamwave put out in the early 2000’s.  I stumbled across their series in the comic book store back in my college days, and, inspired by that same desire to rediscover my childhood that drove my purchase of G.I. JOE, picked up their G1 series .

It was absolutely fantastic.  Both the art and the storytelling were stellar.  The crew at the ill-fated Dreamwave seemed to really get the potential in the characters, and they told compelling stories that were more than simple fan service to the original show.  I enjoyed them so much, that I actually picked up the their prequel series, “War Within” as well.  Having never read the original TF series, I didn’t know the history of Cybertron (outside of the little that ended up in the show), so it was all new to me, and I really enjoyed the extra depth this book added to the mythos.

Of course, we’ve already seen one excellent Transformers mod by the great Valandar, whose meshing skill brought the Autobots and Decepticons to FF.  His was a good distillation of the setting and characters, providing a fun story, but what made me think about taking my own crack at these guys was a desire to try to capture something of the Dreamwave story.  The concept that I’ve toyed with would join the Autobots shortly after landing on Earth and spend a few missions covering the general arc of the show before joining the main storyline of the G1 series.  One thing I’d really like to do is focus on the original cast of the show, realizing them as fully as I can in FF, and then expanding the recruitable characters as the story progresses.  I have a real soft spot for the original Autobots and Decepticons, although I do also love some of the movie characters as well. (Kup is a favorite of mine…but then again so is Ironhide.  I wonder what that says about me, that some of my favorites are old codgers…..)

I would love to try and bring this particular dream to life, and hopefully I can do so one day.  In the meantime, I hope y’all enjoyed this rumination.

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!

Back to the Ether (and Projects From)

I’m going to try to alternate between EZScript focused posts and my Projects From the Ether series in the coming week, and I’m also going to try and stay daily, for those of you who are kind enough to be checking on my poor efforts each day.

The Crusaders:

I know you’re looking at this image here and thinking to yourself, “hasn’t someone else already started Liberty Inc??”  Well, that, or “what the heck is Liberty Inc?”  To answer both your questions, yes, an extremely talented group of people, headed by Catwhowalksbyhimself and Gremlin made an excellent adventure set in the same universe as Freedom Force, named Liberty Inc.  I’m certainly not going to try to fill their shoes, and I also hope that we’ll see Episode 2 of LI someday soon!  What is my interest then, and precisely what is this idea?  Well, I was one of the people who helped dream up the characters, setting, and story arcs that became LI, and in so doing, I created a handful of character concepts that I really loved.  I got a huge thrill out of playing with them in the mod, realized in 3D splendor, and having voicepacks, to boot!  However, I couldn’t get enough, so I even weaseled them into Patriot City Tales where you visit Liberty Bay, and adventure with The Rogue, Doc Astounding (not one of mine, but a great character nonetheless), and Ulysses.  You see, The Rogue is my favorite creation, and he’s become a favorite character of mine, so much so that I even have created him in Champions Online, where he serves as my main avatar.

That’s what started this particular idea.  I wanted to tell more stories with The Rogue, but I really wanted a supporting cast to accompany him.  I didn’t simply want to steal the Liberty Inc. characters that I had contributed, but wanted to expand the world with a few new creations.  CO’s excellent character creator gave me (a not terribly visually creative person) the ability to build fully realized characters, so in short order I had a new cast that I would love to tell stories about.  Being the Aquaman fan that I am, I of course made an aquatic hero, named Mermidon (after the Myrmidons, Achilles’ warriors), and having always loved the winged heroes like Angel and Hawkman, I created a flying character as well, named Air Ace.

I’ve day-dreamed about writing an adventure for these guys, but have never gotten around to really fleshing it out, largely because of the fact that to do what I’d want would require at least two skins and meshes, and likely more if I were going to incorporate the villains that I had dreamed up as well.  My basic idea involved The Rogue and, perhaps, Ulysses taking a leave of absence from Liberty Inc., and going to explore America.  The Rogue, being British, and Ulysses being time tossed, are out to discover what this land is like.  During their travels they would run into a few other characters who had superpowers NOT derived from Energy X.  They’d meet Air Ace first, and eventually run into Myrmidon, who would be fleeing from an undersea monster who would precipitate the big threat our heroes would face.  The Freedom Force world would face a threat…from the deeps!

I hope to one day have the time and resources to take this on.  Although it would be a small project, it simply requires a bit more effort that I have in me at the moment.