Robyrt's OMF 2097 Tournament Editor Guide ========================================= This guide is copyright 2005, Robert Marney. All rights reserved. Latest update: 10/20/2005. 0. INTRODUCTION --------------- So you want to make a tourny for OMF 2097, eh? Time to take a trip back down memory lane to 1994, before fancy GUIs or 16 million colors or data files you don't need to compile. Time to bust out your text editor (I recommend EditPad, or anything else with multiple undos and a replace all function) and start using your copy and paste skills. Please note that unless you're making a joke tournament, it should have a wide variety of opponent skill levels, from mediocre to amazing. Remember, your tourney will be played by people who have already beaten the World Championship. Let's go through the files and see how they work, and how we can modify them to our purposes. My comments will be preceded by // marks, just like DE's comments. [yourname] means to insert your own filename (up to 8 characters). 1. HEADER --------- Open up WORLD.LST and rename it [yourname].LST. You should see a header, like this: TOURNAMENT NUMBER=4 // Leave this number at 4. It will appear after the World Championship, which is just where you want it. TOURNAMENT PIC=world.pcx // Change this to [yourname].pcx. This is the title graphic that appears in the tournament select screen; you'll do it later. TOURNAMENT END=world.bk // There are only 4 possible endings: world, war, katushai, and northam. I don't recommend using world.bk, because the ending graphic says "World Championship" on it, and yours is not named World Championship. REGISTRATION FEE=10000 // Since yours is harder, make this a little higher. (Not TOO high though.) MONEY UPGRADE=24000 MONEY DOWNGRADE PER RANK=300 // These affect the starting cash of the characters. It's a good way to help opponents stay in the order you put them in. You don't usually need to mess with these numbers. ASSUMED INITIAL VALUE=58000 // This is how much you are assumed to be worth. Tweak this if difficulty seems uniformly too easy - maybe your character is worth more than 58K. Note that these money things don't have much effect on top-ranked opponents, because their stats are already maxed anyway. WINNINGS MULTIPLIER=1.35 // All winnings are multiplied by this number. Again, just another way to not have to change individual winnings values for 30 opponents. ENEMY PICS=world.pic // Change this to [yourname].pic, obviously. Trust me, don't be lazy and leave it as world.pic, even if you don't change any pictures. OFFENSE ADDITION=15 DEFENSE ADDITION=15 // Global changes to the AI. Don't mess with these; you want AI to be unique. 2. BEGINNING AND ENDING ----------------------- Feel free to ignore the German bits. Nobody plays the game in German anyway. LANGUAGE=ENGLISH TOURNAMENT NAME=World Championship // Change to [yourname]. BEGIN DESCRIPTION {WIDTH 308}{VMOVE 50}{SIZE 6}{COLOR 167}If you think you are ready to take on the world, here's your chance. The world championship assembles the greatest fighters from around the globe. Since millions of spectators attend the fights, the pay is excellent. Fight hard and train hard, and one day the world will call you their champion. Winnings: Outstanding Competitors: World-Class REGISTRATION FEE: 10,000k END DESCRIPTION // You shouldn't need to modify width, vmove, size, or color, but they're all fairly apparent anyway (measurements are in pixels). The value for COLOR refers to an ID in the 255 colors in the OMF menu; if you don't want light blue, experiment with numbers in that range until you find something you like. // Obviously, replace the text with something you like. This is the only time in the whole file that line breaks matter. To fit in with the other tournaments, please include the lines about Winnings, Competitors and Registration Fee (doesn't need to be all caps, all text is converted to caps in-game anyway). Make sure your text doesn't run off the page! ALL PAGE1=After defeating the greatest fighters in the world, you finally have a chance to relax. ALL PAGE2=A smile crosses your face as you remember the cheering crowds, wildly applauding as you accepted the trophy. ALL PAGE3=As you stare at the holographic world championship trophy, you can't help thinking about the other fighters... ALL PAGE4=The look on their face... The words on their lips... They all said the same thing... ALL PAGE5="See you next year." ALL PAGE6=You can hardly wait. // This is the text for the ending of the tournament. You can make this as long as you want. ENDING ROBOT=0 PAGE1=A crowd of ecstatic spectators approaches your Jaguar as you raise a hand in victory. // This overrides PAGE1 for robot 0 (Jaguar). You can use this to have entirely different endings for each robot, or just little fun tricks like this example. 3. NORMAL ENEMIES ----------------- Each of these enemies follow the same pattern, but you'll need to write one of these little chunks of pseudocode for every single other person in the tournament. This will be the bulk of your tournament, so pay attention. ESPECIALLY TO THE ENEMY AND PHOTO NUMBERS. ENEMY=0 // Remember to keep these in ascending order. Don't leave gaps, don't put people out of order! This is enemy 0, the #1-ranked opponent (the "boss"). NO MOVEMENT // An optional tag for the boss character. Since your boss should be more powerful than anyone else, removing this should have absolutely no effect. NAME=Ian Tavares QUOTE=You have fought well, but I am the rightful champion. GERMAN QUOTE=Du warst ganz gut, aber ich bin der rechtm„áige Champion. // Self-explanatory. These quotes can actually be fairly long. ROBOT=Nova // Higher-ranked, more individual characters will have specific names here, while the vast majority of opponents will have "RANDOM", which allows them to purchase bots on their own. (Because Nova is so expensive, RANDOM almost never gets you Nova.) This puts a little spice into every tournament. ENHANCEMENT 11=2 // The character has 2 enhancements for bot 11 (Nova). The other bots are numbered in the order in which they appear in the single-player bot selection screen, left to right on top and then bottom. (For example, Shredder is 7.) If you want your character to have enhancements for multiple bots, do it on multiple lines. // Because Ian is a normal opponent, the player cannot get these enhancements. (Nova doesn't really have any anyway.) WINS=32 LOSSES=1 // Purely imaginary numbers; by the time the tourny starts he'll have played hundreds of matches besides these anyway. ARM SPEED=6 ARM POWER=6 LEG SPEED=5 LEG POWER=5 ARMOR=6 STUN RESISTANCE=5 // The speeds and powers can be set from 0 to 32. Check a player character in tourny mode to see the legal limits (for example, Nova's max arm power is 8, so giving him ARM POWER=9 is cheating just a little bit, but ARM POWER=25 will make him able to kill your character with a couple punches). The armor and stun resistance can be set from 1 to 10. If the character has enough money, he'll buy upgrades himself, so these are just to give him a leg up on the competition. PHOTO=0 // The ENEMY= and PHOTO= numbers should be identical. One error can make your whole tournament compile wrong, so don't mess up! SPEED=35 POWER=31 ENDURANCE=25 // These are the pilot stats - 25 is the max for a player character, but you can put it as high as 127. (However, a SPEED higher than 63 can cause the game to loop forever if the opponent tries to do a destruction.) Since upgrades are so awfully expensive at this point, feel free to cheat a little, like DE does with Ian. OFFENSE=92 DEFENSE=120 // General AI preferences for offense and defense. Max is 200. ATTITUDE NORMAL=20 ATTITUDE HYPER=40 ATTITUDE JUMP=45 ATTITUDE DEF=70 ATTITUDE SNIPER=40 // The likelihood the computer will go into different "playing modes" (default NORMAL) when it is hit. HYPER and DEF are aggressive and defensive, JUMP raises jump rate 2-3x, and SNIPER increases preference of jab attacks. An effective AI will always have a decent SNIPER number. Max is 150. AP THROW=250 AP SPECIAL=230 AP JUMP=120 AP LOW=-250 AP MIDDLE=150 AP HIGH=190 JUMP PREF=-20 MOVE FORWARD PREF=190 MOVE BACK PREF=-20 // Preferences for various kinds of moves, from -400 to 400. Note that if you have a high ATTITUDE JUMP or JUMP PREF, you should have a high AP JUMP too, or else the AI will just jump and not attack, like Milano. In general, MOVE BACK PREF is pretty useless, as a DEFENSE or ATTITUDE DEF value will work just as well. LEARNING=9.0 FORGET=.12 // How quickly the AI learns your tactics, and forgets them. LEARNING goes to 15, FORGET to 3 (although it should always be near-zero). All but the stupidest enemies should have decent LEARNING values, so that they can learn to use anti-air moves, to punish blocked specials, etc. MONEY=9012 // Starting cash of the opponent, in addition to what you put in the header. COLOR 1=16 COLOR 2=16 COLOR 3=16 //Don't change these. You can set them from 0 to 15, which correspond to the colors you can use to paint your bot in tourny mode, but 16 sets them to the values in the pilot's PCX file, over which you have way more control. WINNINGS=8000 // How much you win from this opponent. This is a nice big number because Ian is ranked #1; bigger guys should be worth more. The number will go up as the AI fights its simulated fights, too. 4. SECRET ENEMIES ----------------- Secret enemies should appear immediately after your normal enemies. They look just like normal guys, except with some extra tags that refer to the fight immediately preceding the secret character's challenge: ENEMY=28 NAME=ICEMAN SECRET // This line is required. ONLY FIGHT ONCE // If you lose, he won't reappear. This is usually only an issue with REQUIRED MAX RANK turned on. REQUIRED DESTROY // Player must perform a destruction. (REQUIRED SCRAP is also an option.) REQUIRED ENEMY=4 // Player must have just defeated enemy #4 (remember, the ENEMY= line?) This can be a normal or secret character. REQUIRED RANK=10 // Player must have just reached this rank (an alternative to REQUIRED ENEMY) REQUIRED MAX RANK=10 // Player must be at least this rank (meaning they'll appear every single time you fulfill the other requirements until you beat them) REQUIRED VITALITY=50 // Player must have at least 50% life left after the fight. REQUIRED ACCURACY=10 // Player must have at least 10% accuracy. (Check the post-fight stats screen to see this.) REQUIRED AVERAGE DAMAGE=14 // Player must do at least 14 average damage per hit. (This is hard to judge; check the post-fight stats screen.) REQUIRED FIGHTER=1 // Player must use this robot. Note that Jaguar is not included in this list, so 1=Shadow, 2=Thorn, etc. REQUIRED DIFFICULTY=1 // Player must be on at least this difficulty: 1=Iron, 2=Steel, 3=Heavy Metal. Only storyline characters should be on 0 or 1, really secret guys should be on 2 or 3. ENHANCEMENT 2=3 // Because Iceman is a secret character, the player can destroy him to get these enhancements. Note that Katana's 3rd enhancement is unavailable in any of the original tournaments. //The rest of this will just look like a normal enemy. 5. ENEMY PHOTOS FILE -------------------- OK! You're done with the LST file, now open WORLD.PHT just like you did WORLD.LST... PHOTO PATH= // If you put your PCXes in a subdirectory when you compile, list that here. Totally optional. You will now have a series of text blocks, one for each character in the LST file (normal and secret, makes no difference). PHOTO NUMBER=0 should correspond with ENEMY=0 in the LST file and so on. PHOTO NUMBER=0 // Again, be sure to keep them in ascending order! FILENAME=PILOTS40.pcx // Use a PCX from the game or one of your own using their examples. SEX=MALE // Oddly enough, gender is a part of the photo, not the tournament. MALE or FEMALE as needed. X=0 Y=152 // Don't mess with these numbers; they're the offsets of the pilot photo. If you need to move it, move it on the PCX. And that's it! See how easy it was? As long as you didn't change anything like I told you, that is. You can also do this with PLAYERS.PHT to change the set of pictures available for player characters in tourny mode. 6. PHOTO EDITING ---------------- All right, you've edited your LST and PHT files, time to pop open an image editor and edit PCXes. If you want to make new PCX files, always start with one of the included ones! This saves lots of time. All colors should be based off the 256-color palette inside the file: Colors 0-47: Robot colors, on a gradient of 16 steps each. To edit how a pilot looks, change the values of these colors in the palette, NOT the example robots in the PCX file. (Those are just for reference.) Colors 145-168: Tournament entry PCX must use only these colors. Colors 160-243: Pilot photo must use only these colors. (If you use others, they'll change with every screen - a cool effect for glitchy cyber-enemies, but that's about it.) The others are used by OMF to color lifebars, menu screens, etc. and should not be used. Take particular care when copying and pasting a pilot photo, as you'll usually have to replace the colors in the image with their equivalents in the PCX. 7. FINAL STEPS -------------- 1) Make sure all your files are in the same directory, ideally the tourny compiler directory. (Duh.) 2) Run ENEMIES.EXE [yourname].LST [yourname].TRN. This should output one line of text for each enemy. 3) Run PHOTOS.EXE [yourname].PHT [yourname].PIC. This should flash all the photos on the screen for you. 4) Copy the TRN and PIC files to your OMF directory. These are the only 2 files you need to play the tournament. 5) Start playing! :) When updating or removing a tournament, please make sure that all your player characters are in other tournaments first. Since a player's CHR save file contains part of the TRN inside it, OMF will get confused otherwise. Enjoy! When you've got something done, please send me a copy at robyrt@marney.org so I can play too. --Robyrt