The SOB-Bot Document ==================== Index 1. Introduction 1.1 What is the SOB-Bot? 1.2 Who wrote it and why did they do it? 1.3 History 1.4 Installation 1.5 Legal stuff 2. The setup program 2.1 The Main menu 2.2 The Bot Option menu 2.2.1 The Setup "What Are You" menu 2.3 The Player Option menu 2.4 The Map Selection menu 2.5 The Game Type Menu 3. The SOB-Bot 3.1 Start playing 3.2 SOB-Bot Features 3.3 Known SOB-Bot Bugs 3.4 Future fantasies 3.5 Cry for HELP... 3.6 Where to get the SOB-Bot =================================================================================== 1. Introduction 1.1 What is the SOB-Bot? The SOB-Bot is an add-on for Duke Nukem 3D. It allows you to simulate dukematch play. This way you can experience Duke3D deathmatch without having a modem or network. A real player is obviously more intelligent but that doesn't make this Bot less of an SOB! 1.2 Who wrote it and why did they do it? This package is written by Joris Weimar and Sidney Linkers. The base of this program was written in a real programming marathon. We worked on it for 3 days non-stop (sleeping and eating excluded ofcourse;). Fine tuning, solving bugs, adding more controls took another 5 days. Why we did it?, eehhh... Joris Weimar: Con Programming, C++ Programming, Ideas/Creativity, Testing, Documentation, Html Programming (E-mail: jweimar@casema.nl) Sidney Linkers: C++ Programming, Mental Support, Ideas/Creativity, Testing, Documentation, Html Programming (E-mail: slinkers@casema.nl) 1.3 History Version 1.0á - First released version. Version 1.1á - Bug fix in exceeding 64 usermaps, ending screen (modified URL address to '4th Dimension') Version 2.0 - SOB-Bot respawns now randomly nearby it was killed (Plutonium (he may respawn right behind your back...) instead of Pak Only) respawning at the same spot where he was killed. - SOB-Bot Jetpack AI is improved, he doesn't stay longer in the air than necessary. - SEXTRACT is now included with the SOB-Bot. So, standard duke3d maps can now be played even if you do not have KEXTRACT. - A new feature called 'I want all duke3d maps' is implemented which allows you to play the SOB-Bot in all standard maps without leaving the game. - Bug fix in the difficulty setting where the SOB-Bot launched the game with a difficulty setting one higher than specified. Also the predefined difficulty setting "Let's Rock" is slidly modified because there was not much difference in difficulty with respect to "Piece A Cake". Version 3.0 - Multiplayer support added (Modem/Serial/Network) - Respawing of SOB-Bot on random spot is now also supported for Duke3d v1.3d. - The "Select All Maps" option is now also available for Duke3d v1.3d. - SEXTRACT.EXE is now also included with the SOB-Bot package for Duke3d v1.3d. - Special effect added: The SOB-Bot gets thrown back when killed with the Shotgun, Chaingun, Pistol or Kick. The SOB-Bot dying animation speed, where he gets on his knees, has been slown down. - Jetpack AI has been strongly improved for both versions. - SOB-Bot doesn't vanish into the ceiling anymore. - Weapon preferences have more effect now. - Weapon priority list has been added. - When the "Start with all weapons" option is checked, you now get all ammo instead of some of it. - When killed and starting at a new position and the "Start with all weapons" option is checked you also get all weapons. - Fixed a bug where the SOB-Bot would be unvinceble from time to time. - Added copyright quote to SOB-Bot for Duke3d v1.3d. - Fixed a bug where the other player (caused by fake multiplayer launch) would not be killed. - Added more remote ridicule (ie. more taunts). - Added a control with which you can change the respawn time of the SOB-Bots. - Added more jibs when SOB-Bot gets squished. - Improved several AI functions. - Changed default SOB-Bot difficulty to "Come Get Some" and number of SOB-Bots to three. - SOB-Bot Setup program now checks for the right version of the SOB-BOT.SET file (The Setup program would crash with SET files created by older SOB-Bot versions). - TILES014.ART is renamed to SOB-BOT.ART so that you don't need to worry about an existing TILES014.ART in your Duke3d directory (Version 1.3d Only). 1.4 Installation The SOB-Bot is released for Duke Nukem 3D Atomic Edition (Plutonium Pak) and Duke Nukem version 1.3d as well. However there is only one HTML document. Plutonium Pak only stuff will be marked as (Plutonium Pak Only) and version 1.3d only stuff as (Version 1.3d Only). Just copy the self-extracting archive SOBBOTPP.EXE or SOBBOT3D.EXE file into your Duke Dukem 3D directory (Usually the C:\DUKE3D directory). If you run it, it will extract the following files: SOB-BOT.EXE The SOB-Bot Setup & Launch Program SOB-BOT.CTP The SOB-Bot Control Template File (This is the SOB) SOB-BOT.DOC The SOB-Bot Documentation File SOB-BOT.BIN The SOB-Bot Ending-screen (Just for the Fun) SOB-BOT.GRP The SOB-Bot Group File (sounds, art & cons) (Plutonium Pak Only) SEXTRACT.EXE The Groupfile extracter for playing standard duke3d maps SOB-BOT.ART The SOB-Bot Art File (Version 1.3d Only) SOB-BOT?.VOC The SOB-Bot Sound Files (Version 1.3d Only) SOB-DEFS.CON The SOB-Bot Defs Control File (Version 1.3d Only) SOB-USER.CON The SOB-Bot User Control File (Version 1.3d Only) Once these files are installed just run SOB-BOT.EXE to start playing the SOB-Bot. After launching the SOB-Bot game, the setup program has created an additional file SOB-BOT.SET that is used to store setup information You don't have to backup your original DUKE3D files. The SOB-Bot uses its own original named set of files. The setup program is written in such a way that it only reads DUKE3D files and userdefined MAP-files. 1.5 Legal stuff What you may and may not do with this SOB-Bot program. First of all this Add-on is NOT made by or supported by 3D REALMS. You may: -Setup the SOB-Bot program on a not-for-profit basis. -Play & Enjoy the SOB-Bot game. -Remove the SOB-Bot game from your Computer. -Give the original SOBBOTPP.EXE or SOBBOT3D.EXE file away to your friends for free. You may not: -Commercially exploit the SOB-Bot software in any way without written permission. -Modify the original SOB-Bot package and distribute it in any way without written permission. And of course we take no responsibility whatsoever for any damage the SOB-Bot may cause to your equipment or data (This sucks!). 2. The setup program 2.1 The main menu There are currently 5 menuoptions in the main menu. I'll go through all of them: -Bot options This pops up another menu in which you can totally customize the SOB-Bot. You can change the strength of each weapon he shoots, the speed at which he walks, flies, swims and dodges. More about this below. -Player options This will open another menu where you can modify several options for the duke3d environment. -Map Selection This also pops up another menu where you can choose the map you want to play the SOB-Bot in. This can be either a user-defined or a standard duke3d map. SEXTRACT is required for standard maps though. SOB-Bot v1.1á for Duke3d v1.3 requires KEXTRACT.EXE (you can use our SEXTRACT.EXE by simply placing it in your Duke3d directory and rename it to KEXTRACT.EXE (It fully replaces the functionality of the original KEXTRACT.EXE). -Generate Map & Con files (Only when SOB-BOT.EXE is launched with the "-d" parameter) This options generates a map-file called SOB-BOT.MAP and a CON-file called SOB-BOT.CON out of the current settings. This allows you to play the Bot without using the SOB-Bot setup program. Just launch it like this: (Plutonium Pak Only) DUKE3D /q2 /c1 /s? -map SOB-BOT.MAP /xSOB-BOT.CON /gSOB-BOT.GRP (Version 1.3d Only) DUKE3D /q2 /c0 /s? -map SOB-BOT.MAP /xSOB-BOT.CON (where the '?' after '/s' stands for the monster difficulty level, 0 = Piece a cake, 1 = Let's rock, 2 = Come get some, 3 = Damn... I'm good). (The helpfile for Duke3d says that these values should be 1 higher?!) -Enable Modem Joke This option enables/disable the modem joke. The modem joke is the fake COMMIT.EXE load before the game starts. Funny the first time... but it will irritate you after you've seen it a couple of times. Thank God it can be shut off! -Save the current setup and play the SOB-Bot As the name says... it saves the current setup and start Duke Nukem with the SOB-Bot settings. 2.2 The Bot Option menu There are currently 5 menuoptions in the Bot Option menu. I'll go through all of them: -Choose difficulty This chooses the difficulty of the Bot. There are a total of 5 difficulty settings. The first four are the traditional duke difficulty levels (Piece a cake through Damn... I'm good). The fifth one is customizable (What are you...?). If you select this difficulty level you can customize the Bot through the Setup 'What Are You...?' menu. -Setup number of SOB-Bots Choose the number of Bots you want to play. Values range from 1 to 15. Try 1 Bot first... they are hard enough. If you really think these Bots are too easy you can always throw in some more Bots to make your life less easy. -Setup number of PP-bots (Plutonium Pak Only) Choose the number of PP-bots you want to play. Don't place in too many PP-bots though, they take up a lot of CPU-time. -Set SOB-Bot respawn time Change the time the SOB-Bot stays away when killed if respawning of the SOB-Bot is enabled. -Respawn SOB-Bot This determines whether the SOB-Bot will respawn after he died. -Uses shrinker instead of expander (Plutonium Pak Only) Here you can make the Bot shoot with the shrinker instead of the expander. 2.2.1 The Setup 'What are you...?' menu There are currently 9 menuoptions in the 'what are you' menu. I'll go through all of them: -Reset values to difficulty level This sets all custom values to the ones used in the selected difficulty setting. It comes in handy when you want to adjust a difficulty setting slightly. -Setup Bot's maximum health Setup the bot's health. This is the health percentage you see during gameplay. More health means you have to hit him harder and more often before he dies. -Setup Bot's speed This brings you to another dialog in which you can set the bot's speed for a total of 6 events (dodging in the water, on the ground and in the air and navigating in the water, on the ground and in the air). -Setup Bot's shoot efficiency This is where you can setup his shooting rate, shooting power and weapon release chance and weapon priority. You can set the values for each weapon individually. -Monster difficulty Here, you can determine what difficulty level the monsters are... that is, if the 'use monsters' option is on. This difficulty level does not mean the monsters are more difficult, it just means there are more or less monsters. -Can Bot fly? Enable/Disable the Bot's ability to fly. -Can Bot dodge? Enable/Disable the Bot's ability to dodge. -Can Bot use medical kit? Enable/Disable the Bot's ability to recover from low health using the all-so-famous medical kit. -Can Bot throw pipe bombs? (Plutonium Pak Only) Determines if the Bots can throw pipe bombs.... 2.3 The Player Option menu There are currently 5 menuoptions in the Player Option menu. I'll go through all of them: -Use monsters in map Toggle between monsters/no monsters. When monsters are on, you not only have to fight the Bot but also all the monsters... good luck! The number of monsters depends on what difficulty setting you have chosen. -Respawn monsters on Enable/Disable respawn monster mode. When respawn monster mode is on all monsters will respawn after they died. -Respawn items on Enable/Disable respawn items mode. When respawn items mode is on all items will respawn after they've been picked up. -Start with all weapons When this option is enabled, you will start with all weapons. -Start with all items When this option is enabled, you will start with all items. 2.4 The Map Selection menu There are currently 3 menuoptions in the Map Selection menu. I'll go through all of them: -Select User-defined map Here you can select a user-defined map from the current directory. -Select Duke3d map Here you can select a standard duke3d map. First choose the episode and then the level. -I want to play all Duke3D maps When this option is enabled, the SOB-Bot setup program extracts and prepares all standard duke3d maps so that you can play the SOB-Bot in all duke3d levels without leaving the game. Maps that already exist in your duke nukem directory with the same names as the standard duke3d levels will be left "untouched" (not modified in any way). So, if you play a level and you don't see a SOB-Bot, you need to check if that mapname already exists in your Duke3D dir. If you want to play another map besides the initial map, just start a new game from within Duke3d and select the map you want to play (by selecting episode and level) and start the game. NOTE: If you want to play a series of usermaps without having to leave Duke3d, copy the usermaps to the following filename format E?L?.MAP and don't check the "I want to play all Duke3D maps" option. Just select another usermap to keep the SOB-Bot setup program happy. 2.5 The Game Type Menu There are currently 4 menuoptions in the Game Type menu. I'll go through all of them: -Local When Local is selected the Setup program will launch a local game with one gameplayer only. (This means just you against those SOB-Bots) -Serial When Serial is selected the Setup program will launch a Serial game with two gameplayers, you and your buddy (This means you against your buddy and those SOB-Bots). A Serial (Direct) connection is established by connecting two computers by a serial cable (nulmodem cable) through the COM ports (RS232). Usually this type of connection is used where two computers are in the same room or building. A cable lenght of 10 meters or less will give good performance. -Modem When Modem is selected the Setup program will launch a Modem game with two gameplayers, you and your buddy (This means you against your buddy and those SOB-Bots). A Modem connection is also in essence a connecting between two computers by some kind of a cable through the COM ports. Only with a Modem connection the cable you use is a phone-cable. Instead of connecting the computers directly to each other (as with a Serial connection) you connect the phone-cable to your phone-network and the other end of the phone-cable to your Modem. This Modem is build into your computer (Internal) or is connected to one of your COM ports (External). A Modem is a device which sends and receives computer data over a phoneline. Usually this type of connection is used where two computers are not in the same building. Through Modem connections computers can communicate around the world. To establish a connection one computer must dial the phonenumber of the other computer which is waiting for a call. -Network When Network is selected the Setup program will launch a Network game with two or more players, you and other buddies (This means you against your buddies and the SOB-Bots). A Network connection is also in essence a connecting between two or more computers by some kind of a cable through some kind of communication interface. With this type of connection the cable type and communication interface is less interesting. Here the communication protocol is of importance. The Commit driver of Duke3d supports IPX/SPX protocol. So any type of network which supports IPX/SPX can be used to connect computers to each other for Network play. To establish a connection over this Network between these players they need a mechanisme to uniquely identify the connection. This is done through a unique socketnumber, which they must use. NOTE: When playing a Serial, Modem or Network game you must manually set the monster difficulty level within Duke3d else there won't be any SOB-Bots (for some reason with these Game types the commandline switch for difficulty setting provided by the SOB-Bot setup is ignored by Duke3d) Just set the monster difficulty within Duke3d at least on "Piece A Cake". I'll try to explane this trick. The above setting does not set the difficulty for the SOB-Bots nor the amount of SOB-Bots, but it determines if you want monsters and the amount of monsters in the levels. Because the SOB-Bots act like monsters within the Duke3d engine this switch must NOT be set to "None" (No Monsters). The SOB-Bot Setup already has taken care of the monsters in the map. So if you told the SOB-Bot Setup not to use any monsters it has already prepared a map without monsters except for the SOB-Bots before launching Duke3d. If you leave the difficulty setting within Duke3d to "None" (No Monsters) the engine will strip all the monsters in the map including the SOB-Bots. That's why setting the difficulty at least to "Piece A Cake" will do the trick. After manually setting the monster difficulty you can start the game. 3. The SOB-Bot 3.1 Start playing Once you've customized the Bot to your need, hit the 'Save & Launch SOB-Bot' option in the main menu and off you go. Once you're in the level, it's all up to you. 3.2 SOB-Bot Features -Bot can be setup in 4 predefined and 1 customizable difficulty setting -Walks over rough terrain -Follows you around corners -Follows you into the air even better now -Follows you into the water (when ever he feels like it...) -Can hide in secret places -Can open doors -Can jump/fly over walls -Can dodge bullets -Can use the medical kit -Can shoot 5 weapons (pistol, shotgun, chaingun, RPG, shrinker) -Can use expander instead of shrinker (Plutonium Pak Only) -Can throw pipebombs (Plutonium Pak Only) -Can kick the shit out of you -Can use the steroids when he's shrunken -Uses 'Remote Ridicule' to taunt you -Special-effect: new way of dying with the expander! (Plutonium Pak Only) -You can play the SOB-Bot's with PP-Bots too (Plutonium Pak Only) -Cool phasing/'reversed death' effect when the SOB-Bot respawns -Cool blast away effect when killed by shotgun, chaingun, pistol or kick. -The SOB-Bot respawns randomly somewere nearby the place it was killed. -Lots of blood, bones and meat flies around when SOB-Bot explodes -Multiplayer support (Modem/Serial/Network) -When a Bot shoots an RPG or SHRINKER he hits himself sometimes, just like a real player (Plutonium Pak Only) Please feel free to email us your nightmares! 3.3 Known SOB-Bot bugs Ofcourse there are always more bugs then features. Bugs are features too however... undocumented ones, that is ;) -Occasionally the Bot gets stuck somewhere, usually after he got killed (some areas are build in such a way that even a normal player has problems to find a way out of there) -When you are out of a Bot his sight and he doesn't have a clue where you are... he doesn't do much useful things ;) -The Bot's don't always follow you in and out of the water -The Bot's ability to swim cannot be disabled -Bot's cannot use devestator, tripbombs or freezer -Occasionally the Bot shoots a RPG while it's not his active weapon (Plutonium Pak Only) -You can not record a SOB-Bot game yet -The fragcount on the top of your screen during gameplay does not tell you how many times you've killed the SOB-Bot -The SOB-Bots starts with "green" pants. -When playing a Serial, Modem or Network game there is one player which has also "blue" pants like the SOB-Bots (Lucky SOB). -When playing a Serial, Modem or Network game you must manually set the monster difficulty level within Duke3d else there won't be any SOB-Bots (for some reason with these Game types the commandline switch for difficulty setting is ignored by Duke3d) Please feel free to email us other bugs/hidden features you may have found! 3.4 Future fantasies -Improve the Bot (AI, more weapons, etc.) -Recording of a SOB-Bot game -Windows95 SOB-Bot launcher (already made a start...) 3.5 Cry for HELP... If anybody outhere has some knowledge about CON programming language and knows a way to keep data in memory please contact us (Yes, it's amazing! the SOB-Bot code uses no memory variables in the way you would expect with a real programming language, where you can declare a variable and assign a value to it and use it in expressions). On our Duke site we published everything we know about CON programming. If you know something about CON programming or related stuff not mentioned there or know how to fix some of the known problems of the SOB-Bot please let us know and send us E-mail. It depends on the results of the requested information above if the SOB-Bot can stay "alive"! 3.6 Where to get the SOB-Bot The SOB-Bot can be downloaded from the '4th Dimension' Duke Site (our site) the URL address is http://www.casema.nl/~slinkers/ You can reach us by E-mail: (Joris Weimar) jweimar@casema.nl and (Sidney Linkers) slinkers@casema.nl We hope to see this Bot at every major Duke-site on the Web. If you are a Duke-site maintainer please feel free to put it on your Duke-page. If you would like to have our special "SOB-BOT Now!" button, you can grab it from our Duke Site or send us an E-mail at one of the above mentioned E-mail addresses. We send you the "SOB-Bot Now!" button. If you decide to place it on your Duke-site just make it a hyperlink to http://www.casema.nl/~slinkers/sob-bot or just place the SOB-BOT package on your own site and link the button to the package. Lucky Son Of a Bitch... This document was last updated on Thursday, May 8th, 1997 10:27 AM. Copyright(c)1997 by Joris Weimar & Sidney Linkers, 4th Dimension