DCUG Developer’s Journal #2

Hoo-boy, things have certainly not gone more smoothly since my first journal entry.  This campaign has given me even more troubles.  I encountered a whole set of problems I’d never seen before and just about gave up hope for the finale of the whole darn arc I’m working on.  In the process, I learned a whole lot about maps and objects that I never knew, though I still couldn’t solve my problems.  The good news is that this story has a happy ending, even if it was really in doubt there for a while.

So, when last I left you, I had just finished up mission #14 and had it basically working, so I got started on testing #15.  As with the previous mission, I had already written, scripted, and mapped this one, so testing was all that was left.  It proved to be just as temperamental as its predecessor, but the script problems were magnified by a map problem.  In this mission, the gathered heroes from #14, Green Arrow, Green Lantern, Flash, and Superman, with Batman as an ally, had to rescue the remaining Leaguers, who were once again scattered across different diskworlds.

Fortunately, I had learned from the previous problems, and I anticipated some of the issues in this mission.  I started all of the encounters off at once to avoid the non-completing encounter bug.  Still, I had problems with the custom encounters for MM and GL.  WW’s encounter worked pretty well, but I discovered that I hadn’t created a animportrait (talking head) entry for the Amazons that provided her opponents.  Interestingly, sometimes a missing head.nif or entry will crash the game, sometimes it will just show a dialog balloon with a blank space.  I’m not sure what causes the different reactions.

This instance only resulted in the latter, thankfully.  I was able to fix MM’s encounter by doing the same thing I had one with Flash, using two different encounters with two different MMs, to get both the rescue and the alliance.  This one provided an extra challenge, though, as with so many more characters in play, it isn’t as easy to make the substitution and teleportation as seamless and unnoticeable.  Complicating the matter further, the encounter in question is a ‘Rescue Fire,’ which means the diskworld is sort of a hot place, and my players aren’t going to want to hang around there!  I’ll have teleport my new Jonn to the old one and hope for the best.  Here’s the pertinent script.

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

Encounter: Burn1
Type: Rescue Fire
Allies: martian_man named jonn
Marker: desert5
Primary Objective: “Save the Martian Manhunter from his fiery prison” for 1000 prestige
Next: If All Congregated: Burn4
Next: If None Congregated: Final2

Ally Congregates Cutscene:
Camera on jonn
jonn says, “Thank you my friends, once again, I owe you my life. I would not have lasted long in this fiery world. these flame creatures seem to be everywhere, and the ground burns constantly.”
flash says, “Don’t worry about it, J’onn, that’s what we do. Now let’s get out of here!”
green_arrow says, “Right, just one more little lost lamb and we’ll have the whole set. Maybe then I can go home!”
Fade for 1 seconds

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

Encounter: Burn4
Type: Custom
Actions: allies become controllable, allies fight villains, allies follow heroes, allies remain after encounter ends
Allies: martian_man named bob
Marker: bottom2
Next: None

Alert Cutscene:
bob teleports to jonn
jonn teleports to bottom1
jonn is killed
jonn is destroyed
Unfade for 1 seconds

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

It was here that I really ran into problems, the first of many in this batch of testing, unfortunately.  The GL encounter was only partially working, but the real problem was that my heroes teleported onto the center of the map…and then couldn’t get off of it!  They teleported into the middle of a number of turrets, which were on the edges of the disk, and the team literally could not move to them or reach the Lantern to free him.  There was some type of issue with this particular diskworld that made its edges impassable.  I tried tweaking it in Nifksope, but no luck.  I really don’t know enough about meshes OR maps to figure this out.

So, I had to adjust my story, throwing out that entire encounter or reworking it to fit somewhere else.  I chose the latter, moving his encounter to the final disk, a Timemaster-flavored world, and I switched up the plot slightly.  I’m fairly happy with the results, but it gave me a bad moment or two.

Of course, that was nothing compared to what happened when I went on to #16.  You see, that problem I had with the outskirts of that one diskworld, in the final Timemaster map I was using for the grand showdown with the Key, the ENTIRE map was impassable.  My heroes couldn’t go anywhere, and if I teleported them around with console commands, they would slowly slide back to where they came from.

Once again, I examined the terrain.nif, but I couldn’t make heads or tails of what I was seeing.  I posted on FR, and fortunately, the ever-awesome Detourne_me came to my rescue.  He didn’t know how to solve the problem, but he got me looking in the right directions.  He pointed out that the actual play area of the map was a giant game object, not part of the map itself.  I checked the object attributes of the “cog_massive”, digging through FFEdit’s manual to make sure that it had all the necessary attributes, but no luck.  It’s worth mentioning that there are explanations for each of the mysteries (to me at least) template attributes in the manual.  If you’re ever tying to figure them out, you can check objattributes for a complete listing.

(One of the stages of my frantic attempts to save the map made the cog disappear entirely!)

I checked the terrain itself, which DM had suggested might be the culprit.  Its bottom surface, far below the giant spinning cog, was composed of two levels, and each had an “AREA_UNPASSABLE” label.  DM posited that this might cause problems to anything over such an area, so I tried renaming them.  Progress!  Unfortunately, this only got me one step closer.  Now my characters could move…on the very bottom level of the map, as they would fall through the cog any time I teleported them up there.  I fought and fought with this thing before I hit on a solution.  I finally just copied the cog object directly onto the terrain.nif.  It took a few tries, but I got it right, and I finally had a workable map!  Now I only had to get the script working!

Fortunately, despite the fact that the big finale encounter only partially functioned, it was a very easy fix.  It features a showdown with the Key, where he is invulnerable until you destroy an object.  The CSes weren’t playing, and the object wasn’t showing up.  Turns out, I had misspelled the object name (d’oh!0 and mixed my metaphors, so to speak, in naming the Key.  You see, FF doesn’t like it when you refer to a character in two different ways.  You can use generic terms (like Villain1) OR specific names, like the_key, but you CANNOT use both, or it will choke.  So, easy fixes, and now the mission is playing quite nicely.

That wraps up this journal entry.  Please let me know if this is interesting to y’all, and if there is anything you’d like to hear more/less about, or if you’d like me to illustrate other parts of the process.

DCUG Developer’s Journal #1

Okay, let’s try this out.  There will be some spoilers for the campaign stories, so read at your own peril.

So, while traveling this summer, I had a really helpful email correspondence with Unkoman, who helped me plot several new campaigns and expansions for existing ones.  The centerpiece of my DCUG 2.0 update/expansion is a finished/polished JLA campaign that also provides a significant expansion in the form of half a dozen new missions featuring Green Arrow’s recruitment to the team, the first encounters with the Injustice Gang, and the first battles with the Key.  I created a really fun but, of course, overly ambitious outline.  I wrote it all up, added new materials to the mod, set up the maps, and got it all ready to test weeks ago.  Since then I’ve been very busy, and of course, only able to test and troubleshoot occasionally.  Of course, my attempts to get fancy have led to tons of bugs and lots of frustration.  I had a little time recently and got back to it.

I’ve been working on level 14 of the JLA campaign, where Green Arrow is jumping from pocket universe to pocket universe to rescue the JLA who have been scattered through the multiverse by the Key.  I’m using the ‘disk worlds’ maps from the finale of  :ff:, which makes for a really cool level.  Unfortunately, the maps have some issues.  More unfortunately, my scripts had issues!  I think every single encounter had bugs, and I eventually had to create workarounds for certain parts of it.

The mission was designed with GA encountering four heroes, Batman, Flash, Aquaman, and Superman, each imprisoned on their own diskworld, which was a threat specifically for them.  GA could teleport between them, recruiting each hero as he rescued them.  First I discovered that the individual encounters were not ending properly, meaning the mission never progressed past the first one.  This seems to be a result of using custom encounters that had an ally join your team.

I fixed that by just starting all the encounters at once.  Then, inexplicably, the Flash would somehow join your team twice, meaning there was no room for poor Aquaman….again.  I had to split that up into two encounters, one where you rescue Flash, one where that Flash is destroyed and a different one joins the team.  After I finally solved that I discovered that the diskworld he is on has pathing issues.

Here’s a truncated version of my scripting work-around.  You’ll notice that I name the two Flashes different so the game doesn’t get confused, and I wait to tidy up my extra Flash until we reach the second encounter, that way his being wiped out of existence, Anti-Monitor style, won’t screw up that first encounter.  By fading the camera between encounters, hopefully my players won’t even notice the substitution.:

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

Encounter: Chill1
Type: Rescue Frozen
Allies: flash named bob
Villains: shurale named harry
Minions: shurale, snow_man, snow_man, snow_man, snow_man
Marker: snow1
Primary Objective: “Free Flash from his frozen prison” for 1000 prestige
Next: If All allies freed: Chill2
Next: If No allies freed: Final2

End Cutscene:
Fade for 1 seconds
bob teleports to bottom1

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

Encounter: Chill2
Type: Custom
Actions: allies become controllable, allies fight villains, allies follow heroes, allies remain after encounter ends
Allies: flash named jim
Marker: snow2
Next: None

Alert Cutscene:
jim teleports to green_arrow
bob is killed
bob is destroyed
Unfade for 1 seconds

#————–

I’ve got an idea about that, but I haven’t tried it yet.  Finally, Aquaman’s wasn’t properly rescueable in his custom encounter, so I had to change it up too.  I’ve finally got this mission mostly sorted out…and now I face another one in mission 15, where you save the rest of the team.  I honestly don’t know that I’ve ever had a mission with so many problems per-capita!

Let this be a lesson to you, future modders: don’t get fancy!

The good news is I’m still making progress, and the campaign is coming together well.  I’m also really happy with a lot of how I’ve designed these missions and the base scenes.  I know SO much more about modding these days than I did when I made the DCUG in the first place, and it’s nice to be able to bring a little higher production value to the stories I’m telling.  I’m still often limited by EZScript and the available maps, but I’ve been able to find some fun ways to change things up.  I hope y’all will agree with me when you get a chance to play these missions!

I also just got a small pile of new and updated skins/skopes from Deanjo2000, and they look fantastic!

Finally, I posted an add for a map maker on ModDB.  Since it’s just an unpaid position working on a decade old game, chances are nothing will come of it, but it would be really fantastic if I could get some help with map creation.  That could open up so many possibilities and free up an incredible amount of time for me.  So, cross your fingers, gang!

Completed script:

Story: 14jla

#
# New JLA mission pitting the team agains the Key
#
Starting Encounters: Knight1, Chill1, Red1, Dry1, Dry2, Dry3
#———————————-

Encounter: Knight1
Type: Custom
Actions: allies become controllable, allies fight villains, allies follow heroes, allies remain after encounter ends
Villains: duplicate_male1, duplicate_fem1, duplicate_male1, duplicate_fem1, duplicate_male1, duplicate_fem1, duplicate_male1, duplicate_fem1
Minions: duplicate_male1, duplicate_fem1
Allies: batman
Marker: city1
Primary Objective: “Help Batman defeat the strange civilians” for 1000 prestige
Next: If Ally Survives: None
Next: If Ally Lost: Final2

Alert Cutscene:
Set Lighting to Night
Cinematic camera on green_arrow
Unfade for 2 seconds
Play music music_pandemonium
green_arrow says, “Well…this doesn’t look that bad. Looks a bit like home, actually…though it’s strangely quiet…”
Cinematic camera on batman
batman says, “Green Arrow? How in the world did you get here?”
green_arrow says, “Hiya Bats, I just caught a lift through…”
batman says, “Nevermind! There’s no time! Watch out! There’s something wrong with the people of this world!”
green_arrow says, “What do you mean…?”
Camera on Minion1
Minion1 says, “Hsssss…fresh meat! kill them! rend their flesh!”
batman says, “I think you get the picture. It’s the Key’s idea of a joke. I have dedicated my life to protecting the people of my city…so he sent me to a world where they’re out for my blood..though it seems any will do.”
green_arrow says, “But how…?”
batman says, “Later! Now, just concentrate on survival!”

Ally Lost Cutscene:
green_arrow says, “Nooo!”

End Cutscene:
batman is revived
Cinematic camera on green_arrow
green_arrow turns to batman
batman moves to green_arrow
batman says, “Best as I can tell, this world suffered some type of plague or contamination, and its inhabitants seem to be mad. we should keep our eyes open for more infected civilians.”
batman says, “so, how did you end up here?”
green_arrow says, “You’re welcome….”
batman says, “Yes. thank you.”
green_arrow says, “For saving your….?”
batman says, “don’t push it.”
green_arrow says, “Fine. I had just teleported to the Watchtower when the Key grabbed all of you. I followed him through his portal before it closed. I found myself in a crazy place, glowing, under a neon sky…”
green_arrow says, “there were a bunch of other portals. I crossed my fingers and jumped through, found myself here.”
batman says, “Hmm…disappointing. I hoped you’d have some way to get back.”
green_arrow moves to spot1
green_arrow says, “Yeah, I didn’t really think this through…unfortunatley, these things don’t come with instruction manuals.”
batman turns to spot1
batman plays animation ranged
batman says, “Wait! The portal…it’s open again!”
green_arrow says, “How? Did you do something?”
batman says, “No…I wonder…the Key talked about absorbing dimensional energies in his travels…it’s possible that you absorbed enough as you jumped between worlds to activate his gateways.”
green_arrow says, “Well, there’s only one way to find out. You coming?”
batman says, “It would be tempting fate to say ‘anywhere is better than here,’ but I suppose I’ll take my chances.”

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

Encounter: Chill1
Type: Rescue Frozen
Allies: flash named bob
Villains: shurale named harry
Minions: shurale, snow_man, snow_man, snow_man, snow_man
Marker: snow1
Primary Objective: “Free Flash from his frozen prison” for 1000 prestige
Next: If All allies freed: Chill2
Next: If No allies freed: Final2

Start Cutscene:
Fade for 1 seconds
Set Lighting to Day
Camera on snow1
Unfade for 1 seconds
batman says, “It looks like this world is frozen over. some second ice age, or perhaps nuclear winter.”
green_arrow says, “Brrr! You’re telling me. I wish I’d have packed my thermal costume…”
Camera on bob
green_arrow says, “Look! It’s the Flash, frozen like a TV dinner! and we thought we were cold…”
Camera on harry
batman says, “And it looks like he’s not alone. We’d better free him, but tread carefully.”
harry says, “Raarraggghhhh!”
green_arrow says, “A little late for that!”

End Cutscene:
Cinematic camera on bob
batman moves to bob
green_arrow moves to bob
bob says, “thththththannnnks….gggguys…this entire world…is so cold…even I couldn’t…keep my molecules moving.”
batman says, “we must have been protected by residual dimensional energy. hopefully there’s still enough left to get out of here.”
green_arrow says, “No kidding. I snow as much as the next guy, but this place over does it!”
bob says, “whhhwhhwhat’s going on?”
batman says, “Explanations can wait. We need to find the rest of the League. Let’s hope our next stop is warmer.”
Fade for 1 seconds
bob teleports to bottom1

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

Encounter: Chill2
Type: Custom
Actions: allies become controllable, allies fight villains, allies follow heroes, allies remain after encounter ends
Allies: flash named jim
Marker: snow2
Next: None

Alert Cutscene:
jim teleports to green_arrow
bob is killed
bob is destroyed
Unfade for 1 seconds

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

Encounter: Chill3
Type: Fight
Villains: shurale named harry
Minions: shurale, snow_man, snow_man, snow_man, snow_man
Marker: snow1
Next: None

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

Encounter: Dry1
Type: Custom
Actions: allies become controllable, allies fight villains, allies remain after encounter ends, allies can be freed, allies move when freed, allies in cages, allies do not move, allies thank heroes
Villains: fire_elemental, fire_elemental, fire_elemental, fire_elemental
Minions: fire_elemental1
Allies: aquaman_classic
Marker: desert1
Primary Objective: “Rescue Aquaman from the burning desert” for 1000 prestige
Next: If Ally Survives: None
Next: If Ally Lost: Final2

Start Cutscene:
Camera on desert1
green_arrow says, “Some kind of desert world…well, at least it’s warmer.”
batman says, “very warm. we’d better be careful. we could easily dehydrate here, and there’s no water in sight.”
jim says, “dry or not, I’ll take this over that frozen…”
Camera on aquaman_classic
jim says, “Hey, there’s Aquaman! It looks like there’s something wrong with him…”
green_arrow says, “hopefully it’s not whatever was wrong with those folks on the first world…”
batman says, “no, don’t you see? he’s an amphibian. this place is killing him! we’ve got to get him out of here, quick.”
Camera on Villain1
jim says, “Ohh yeah? I wonder what they’ll have to say about that…”
green_arrow says, “what the heck are they?”
jim says, “They look like some kind of…living flame…sort of the opposite of the things on the snow world.”
green_arrow says, “well, they don’t look any more friendly!”

Ally Thanks Hero Cutscene:
Camera on aquaman_classic
aquaman_classic says, “th…thank you all…I wouldn’t have…lasted much longer…”
jim says, “we’ll find you a nice ocean as soon as we can, aqua-buddy. can you make it?”
aquaman_classic says, “Yes…I’ll be alright, once we get out of this heat…”
green_arrow says, “Then it’s onward and upward!”
jim says, “do you realize what this place means, guys? these different versions of earth…this is the multiverse that physicists have theorized about for years!”
jim says, “scientists have posited that there are infinite variations to our universe, each in its own dimension, and each differing in key ways from our own. it looks liek they were right!”
batman says, “Yes, but unfortunately that multiverse is currently trying to kill us.”
green_arrow says, “Hey, you wonder if there are alternate versions of us out there anywhere?”

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

Encounter: Dry2
Type: Destroy Object
Villains: fire_elemental
Objects: ro_generator
Primary Objective: “Sabotage the automated factory” for 1000 prestige
Marker: desert2
Next: None

Start Cutscene:
batman says, “These fire beings seem to be coming from that portal…maybe we can destabalize if we hit it hard enough…”
Red Arrow on desert2

End Cutscene:
jim says, “That’s done it!”

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

Encounter: Dry3
Type: Hunt
Villains: fire_elemental
Marker: desert3
Starts When: Dry2 not at End
Next: Dry4

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

Encounter: Dry4
Type: Wait
Minimum Time: 30
Maximum Time: 35
Next: Dry5

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

Encounter: Dry5
Type: Hunt
Villains: fire_elemental
Marker: desert4
Starts When: Dry2 not at End
Next: Dry3

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

Encounter: Red1
Type: Rescue Caged
Villains: darkman_blue, darkman_blue, darkman_blue, darkman_purple, darkman_blue, darkman_blue, darkman_blue, darkman_purple, darkman_blue, darkman_blue, darkman_blue, darkman_purple
Minions: darkman_blue, darkman_blue, darkman_blue, darkman_purple
Allies: superman
Marker: ruin1
Primary Objective: “Save Superman from the ruined world” for 1000 prestige
Next: If Ally Survives: Final1
Next: If Ally Lost: Final2

Start Cutscene:
Fade for 1 seconds
Camera on ruin1
Set Lighting to red alert
Unfade for 1 seconds
green_arrow says, “Whoa, this place has seen better days. It looks worse than Gotham.”
green_arrow turns to batman
green_arrow says, “Err…sorry Bats.”
batman says, “It looks like this world has suffered some type of catastrophe…and look…the light.”
jim says, “Red…is that the natural sun color of this world, or is it linked to whatever happened here.”
batman says, “No way to tell…but if this place is under a red sun….I can guess who the Key imprisoned here.”
aquaman_classic says, “Superman…but where…”
Camera on superman
jim says, “there he is!”
green_arrow says, “Well, the good news is, this place looks dead. Hopefully we don’t have to worry about any unfriendly natives.”
Camera on Minion
Minion says, “Outsiders! Maybe they have food! Maybe they WILL be food! Get them!”
jim says, “Arrow! Don’t you know better? You NEVER tempt fate like that!”

Ally Thanks Hero Cutscene:
Camera on superman
superman says, “Thanks, guys…I’ve been robbed of my powers under this red sun. I’ve been staying just ahead of these poor creatures. they’ve been hunting me since I arrived.”
superman says, “It looks like there was a nuclear war here…and the survivors were changed…mutated…it’s not a pretty sight…but the worst part is…all I could think about was…I wasn’t there to stop it.”
superman says, “We’ve got to get home. I won’t let the same thing happen to our world.”
superman says, “Now, someone tell me, what in the name of Krypton happened to us?”
batman says, “I’ll explain, but first, we still have a few Leaguers to find.”

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

Encounter: Final1
Type: Cutscene
Next: Win

Start Cutscene:
Play Transition

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

Encounter: Final2
Type: Cutscene
Next: Lose

Start Cutscene:
Play Transition

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

 

Modding with EZScript: An Outline

Howdy folks!  Some time back, in the process of trying to help a new modder in the FF community, I wrote a rather lengthy post on Freedom Reborn about the step by step process of creating a mod.  It occurred to me that this information, all gathered in one place, might prove helpful to other newcomers and folks who want to try their hands at modding.  So, I’m adapting that gargantuan post to a how-to-outline that I’ll share here.  So, without further ado, I give you a crash course in modding!

Let’s start at the beginning.  Make sure you have all of the necessary tools.  To mod successfully and without undue headache, one needs the following:

  • FF2 Mod Tools (FFEdit, Character Tool)
  • M25’s Mod Tools (EZScript Editor, Language File Generator, and more)
  • FFX (an amazing expansion to the core game mechanics that adds tons of new attributes and functionality)

So, install all of the various tools, and if you’re running a version of Windows newer than XP, as I imagine most folks are these days, it is probably a good idea to run all of these things in compatibility mode for XP SP3.  I’d also run them as an Administrator, just to be on the safe side.

Now, on to business!  Here is a rough, step-by-step outline that can give you a sense about what all goes into modding.

1) First, decide what you want to call your mod.  Then, copy the newest version of FFX (3.3 I think), and rename it to whatever you want your mod to be called.  The title should be simple, because you’ll have to use it a few different times, and you don’t want to be having to type out a forever-long name dozens of times.  Also, and this is something you’ll see me say a few times, make sure you don’t have any unusual characters in the name.  Limit it to letters and numbers, as FF has a tendency to freak out over anything else.  Next, make sure FFEdit is pointing in the right direction.  Do so by opening it up and directing the primary data path towards your newly created mod folder.  Make sure you leave the secondary data path alone.

2) Now, decide which characters you want/need in your mission.  Create herofiles for them.  Give them simple, lower case names without any special characters and punctuation marks.  Test and balance in the Rumble Room until satisfied.

3) Quit, rename your FFX3 folder to something different, FFX3a is what I use.  Now, rename your mod folder to FFX3. (This step isn’t absolutely necessary, but FFX Edit2 sometimes has something of a hard time with mods other than FFX.)

4) Run FFX Edit2.  Save.  This “Brands” all of the characters in that mod, giving each a unique “Complex” number, which helps FFX and EZScript tell them apart.  This is necessary to get stuff to run smoothly.  Once you’re done, don’t forget to change both folder names back.

5) Next, launch your mod, open the Rumble Room, and choose M25’s Add to Dat as your gametype.  Put your newly created herofiles into the roster, use the “———–” blank entry if you need to, and then run it.  It should only take a moment.  Now, quit, open FFEdit, check on the characters and make sure everything was added nicely.

6) Now, open up your EZScript Editor.  Go to “Panels,” “Config,” and set the Dat directory to your mods folder.  You can set the other directories or not, it won’t be super important for a simple project.  Now, I recommend working on top of an existing EZScript mission.  One of the example missions or one of mine would serve as a fine base.  Either way, compose your mission.  I STRONGLY recommend using:

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

to differentiate your encounters, to make it easier for you to read and for folks who help you with troubleshooting.  Avoid capitalization in composing your missions, except when writing encounter names, which are okay to capitalize, just make sure you are being consistent.  One of the biggest pieces of advice I can give you is, keep it simple.  Keep your naming schemes simple, keep your layouts simple, keep your plans simple.  The more complex you get, the more chances you’ll mess something up, and the less chance you’ll be able to find it easily.

7) Next, click “Tools,” “Analyze,” and look at the report it gives you.  This should catch MANY of the careless errors and plain ‘ol mistakes that tend to creep in to this type of work.

8) After that (or really before if you want), you can create your map, adding in any encounter markers you need.  Make sure all encounter names match what your mission calls for EXACTLY.  You can point your EZScript Editor to this newly edited map to double check that.  Unless you are designing the FIRST mission of a campaign, do NOT put any heroes on a map you create if you are using 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 your mission’s .txt file into the mod’s Story directory.  If it doesn’t have one, just create a folder named Stories in your mod’s main directory.  If you have multiple missions, you can put them all in there, but make sure to rename the copies so you don’t just overwrite them in the Stories folder.  Now, run your mod again.  Go to the RR again, for game type, select M25 Generate Language Files (or something like that).  Just use the ———- character, that will work fine.  Run it, then quit.  You’ve just added all of your missions dialog to your mod’s caption.txt.  However, the game itself can’t read txt files, so we need to get this into your captions.dat.  Now, open M25’s Language File Generator that you downloaded before we got started, and run it, pointing it at your mod director.  This updates your Lang files.  Also, before you start this process, make sure you’ve got CLEAN language files.  If you’ve already been poking around in them, I strongly recommend you get your language files from a clean install or clean version of FFX3.

11) Open up FFEdit and click on the “Campaign” tab.  Now, you’ll see the default FF missions there, and I recommend you leave them be for the moment.  You can delete them all, but in general things work better when you just leave them alone.  They won’t affect anything.  Add your own missions in, set the required characters and and unavailable characters, and move your missions to the top of the order.  Save and exit.

11a) For your first mission ONLY, you’ll need to place your starting heroes on your map through the editor.  Don’t forget to do this, as otherwise your mission won’t start.  The game spawns no heroes for the first mission.

12) Now your mod should be ready to play!  Open up FF and click “New Campaign” and give it a test.  Chances are you’ll run into some troubles, but stay patient and try to eliminate factors.  Always double check the obvious!  I can’t tell you how many hours I’ve spent troubleshooting missions with inexplicable problems, only to realize that I misspelled “encounter” or forgot to do something equally basic.  Also, when in doubt, feel free to ask for help!  I’m always happy to help new modders, and the FF community is amazing!

 

DC Defenders

Historyofthedcu

Hello Freedom Forcers!  This is my first post in quite some time, but I assure you I have not been idle in the intervening months…and months…and months….*ahem*  Well, I haven’t been too idle.  I have been hard at work on more than a few projects, and I am just now finishing up my Pulp Adventures mod, featuring the likes of The Shadow, Doc Savage, and The Green Hornet, plus many more!  Be on the lookout for the release of this love letter to the classic pulp heroes in the next few months.  Once I finish that project, I’ll be revisiting a few previous undertakings, including the DC Universe According to Grey!  What follows are some ruminations and some little bits of fun on the subject of my sprawling version of the DC Universe.

I have recently been reading through a number of DC books, including classic issues of Detective Comics, Adventures Comics, The Brave and the Bold, and others.  All of this four-color goodness has really set my mind on fire to get back to my DC Universe mod and start telling stories set in my all-time favorite comic setting.  To that end, I’ve been toying with the hundreds of story ideas and half-finished plots that are lying around my hard drive in various stages of completion, and after hearing something interesting on The Who’s Who Podcast, of Aquaman Shrine and Firestorm Fan fame (say that three times fast!), I decided to play around with an old concept that didn’t make it into the first release of the DCUG.

One of the hosts of the show, the Irredeemable Shag, mentioned his ideal superhero team, and I was pleasantly surprised to discover that it was, in large part, note for note the same team that I had created for a campaign in the DCUG.  I’ve got a few missions written, but nothing was finished when I released the mod.  However, it is on my list of campaigns that I want to finish when I return to my sprawling pet project.  You see, years ago I watched the JLU episode “Wake the Dead.”  In it, the Timmverse presented a DC version of the classic Marvel team, the Defenders, who took on a mystical threat.  The team included my personal favorite hero, Aquaman, and I found the idea of a DC team that including the Sea King and dealt with mystical threats to be pretty intriguing.  Now, I know what a few of you mega-DC fans are saying, ‘that team already exists, and it’s called Shadowpact!’  Well, I have to admit that I know next to nothing about them as a team, and even less of them as individual characters.  I’m afraid they don’t interest me much in any event.

On the other hand, given Aquaman’s connection to Atlantis, it makes sense for him to be involved in sword and sorcery type tales occasionally.  So, I created my own version of the team featuring a number of second string character for whom I had a soft spot, and I penned a story arc for them that promises to be great fun.  The team featured:

As I started to think about these stories once again, I got an itch to throw part of the team into the Rumble Room and see how they played together.  I took some screenshots, and I’ll share them with y’all now:

picture010

I began by choosing a subset of my nascent mystical team.  So many choices!  It’s getting hard to find anything among the huge roster of the DCUG these days!  I’m pitting my team against a semi-random assortment of villains on a fantasy-style map.

picture016Heroes assembled!

picture018

Matchstick is undaunted in the face of evil!

picture019

The heroes move out in search of some villains to vanquish.

picture020

And the villains find them!  Yes, that’s obscure Hawkman villain I.Q.!  Will his technological marvels be enough to stop our stalwarts?

picture025

He uses one of his hi-tech devices on Blue Devil…  picture028But it isn’t enough!  Ouch, that’s going to hurt!

picture023

But I.Q. has distracted the heroes while the rest of the villains arrive, led by the powerful sorcerer Wotan!

picture033Zatanna finds herself surrounded!  Which spell to use, which spell to use…

picture037The Mistress of Magic drives them back with a burst of dinw…errr, wind!

picture035Aquaman uses his telepathy on Wotan, hoping to stun him and disable his defenses.

picture039Zatanna prepares to finish off the Trickster, but Wotan prepares another spell!

picture042The Shade enters the scene, stunning the Nuclear Man!

picture045Meanwhile, Aquaman squares off with his half-brother…

picture047And Firestorm is airborne again!  Perhaps a little creative transmutation might be in order…

picture052The Battle rages on!

picture053Aquaman corners The Shade!  Let’s see that nightstick save him now!

picture063And Firestorm provides the coup de grace!

The heroes won the day, though Zatanna fell to the villains.  I think I’ve got the beginning of a good team here, and I am looking forward to completing their campaign over the summer when I return to the DCU!  I hope that y’all enjoyed this little bit of silliness as much as I did!

Marvel Adventures Released!

Ross_Marvel_Universe_1970s_Canvas

It’s done!  Welcome to Adventure in the Marvel Universe!   This is a gigantic mod that encompasses large swaths of the Marvel comics universe.  It attempts to capture the classic feel of a large assortment of characters with new stories set during the heyday of such icons as Captain America, Thor, the X-Men, the Avengers, and the Fantastic Four, as well as a bevy of villains and guest stars.

This mod gives you control over some of your favorite superheroes and lets you fight for justice in four color glory!  Included you will find a total of seven campaigns for a wide variety of characters and teams.  You can face the villainous Hellfire Club as the X-Men, or struggle to save all of the nine realms as Thor and his allies.

Check out the Marvel Adventures Album HERE!

Campaigns:

So, what are you waiting for? Join the fight!

Download Marvel Adventures now!

This mod is akin to my massive DC Universe According to Grey, though on a much smaller scale.  I have not tried to capture the entire width and breadth of the Marvel Universe, just my favorite corners thereof.  You’ll still find a very large mod here, with most of the classic heroes and many of the classic villains of the Marvel Universe.  On the other hand, this mod embraces a similar design philosophy to the DCUG, not trying to completely capture any interpretation of the Marvel U., instead trying to create an idealized version, something of the best of all worlds, in my opinion.  It is most closely based on the Bronze Age, but I took liberties to clean up continuity or for the sake of the story I wanted to tell.

Keep in mind, not all of the campaigns tell complete stories, and all of these are intended to be expanded and continued.  In the future I’ll add a Spider-Man campaign, Dr. Strange, perhaps Captain Marvel, and others.

Ghostbusters: Trick or Terror!

Howdy folks, and a happy belated Halloween!  I was struck with the desire to throw together a quick, one-shot Ghostbusters mod for Halloween, and it took me just a bit longer than I had thought it would.  Still, it’s done now, and I hope y’all will enjoy Ghostbusters: Trick or Terror!

Follow our four intrepid heroes as they try to save New York from a Halloween gone terribly wrong!

Download it here!

And a small patch to fix a portrait issues


Help the Ghostbusters face a very strange Halloween night!

Challenge the restless dead and make New York safe for her citizens!

Strap on a proton pack and make use of the Ghostbusters’ arsenal of gadgets!

Help Pete, Egon, Ray, and Winston fight back an incursion from the spirit world, and save Halloween!

Turtles Fight With Honor!

Howdy folks!  I just finished a full version of my Teenage Mutant Ninja Turtle mod.  I had previously released a mini-mod of sorts, but this release will have almost the entire first story arc included, along with a whole passel of TMNT characters, including fan favorites (and personal favorites) Bebop and Rocksteady, but also including Krang and the Fly!

This mod has 9, count them, 9 missions, which will take our half-shelled-heroes from their first encounter with the Foot Clan up to their discovery of a strange and sinister secret hidden below the streets of New York!  Along the way you’ll take command of the green teens as they battle the deadly Foot Clan, face the mechanical menace of Baxter Stockman’s Mousers, struggle against the mutated might of Bebop and Rocksteady, and even cross blades with the mysterious Shredder!

Krang and Baxter aren’t featured as opponents in the campaign itself yet, but they are both included, and you can play as or against them in the Dangeroom if you want to test their metal!

This mod also features the first contribution to the FF community by newcomer Adam Winters.  He has really increased the quality and comprehensiveness of this mod by creating three new voice packs with samples pulled from the original Turtles cartoon.  He’s created packs for Splinter, April, and Shredder, bringing the memorable and excellent voice work of that classic show to life in Freedom Force, and bringing a lot more personality to their respective characters within the game.

We are also lucky enough to get some custom mission music from the multi-talented ow_tiobe_sb!  Now we have some music made especially for the levels of this mod.

So, what are you waiting for?  Take a walk down memory lane, and see if you can keep from smiling when you load this mod and hear a familiar song on the main menu.  Take some time to remember why you loved the Turtles way back when, and why you should definitely still love them now!

Download Now!

Here’s a quick PATCH for some missing textures and an FX.  Just drop this folder into your FFvTTR directory and overwrite all.  (You only needed this if you downloaded the mod before 08/30/11.)

Or you can Check out the Readme!

Look for more Ninja Turtles action coming soon!  The next installment will take the Turtles into the Technodrome to face the cruel alien warlord Krang!  With any luck (and with YOUR help!), it will also see the introduction of a host of new characters, including the Punk Frogs, the Rat King, Metalhead, Leatherhead, and others!