Stupid Bot Anigif

 
 
 
 
 
Title Omicron Bots for Classic Quake (or Quake 1) or Quake
Filename  Obots102.ZIP
Version  1.02 (final)
Date 1998-03-23
Authors  Mr. Elusive (concept, shell model, Quake C coding & programming)
  H2SO4 (concept, cloud model, bottalk, readme)
Email obots@demigod.demon.nl
Bot HomePage http://www.demigod.demon.nl/omibots1.html
 

Contents
 
 
 
 
Credits Camper Detection
The Skin People Creating Static Waypoints
The Beta testers Cycle Map & Map Randomizer
Type of Mod Story Stuff
Format of QuakeC The Bots
Description of the Modification The Players
System and Other Requirements Known problems/bugs
Installing the Modification Troubleshooting
New Console Commands Help
Server Variables Acknowledgements and thanks
Administrator Menu Copyright and Distribution Permissions
Rocket Arena Availability
KasCam Version Changes 
 

Credits
 
 
 
 
(in no specific order)
ID Software  Quake and QuakeC(?)
Olivier Montanuy QuakeC Manual v1.0
Steven Polge  for inspiration
Uwe Girlich  the unofficial DEM format description v1.04
Roscoe A. Sincero  lots of ideas for the movement code and several other points of inspiration; the obot FAQ
Alan Kivlin  for the code to count the maximum number of clients and ideas for the GLQuake support
Meanstryk  for beta testing to the max, ideas, chat lines, too many things actually
Greg Howell AKA Axident; Tiggerskin (+ for giving permission).
Tigger Clan for giving permission to us to use their tiggerskin.  maxwells@ihug.co.nz   (Richard "Jodi" Maxwell) http://homepages.ihug.co.nz/~maxwells/jodi/tiggers/tiggers.html 
Luke Pope Cowboy Skin (+ for giving permission)
Alan Yen Mountie, Punisher and Ironman skin (+ giving permission).
Kenneth Scott  AKA The Dire Proto-Fiend; skins of Carmack, Qspy, Iceman, Klingon, Terminator, Predator, Robocop, Hitman and Babe, the best head gib ever made, plus parts of the Slaine skin, a well as the Demigod gun (hey...its a cool gun). (+ for giving permission AND finding a certain name error)
Tim Willits For his own skin ;)
Mike McMillen AKA Judge Dredd; Slaine skin & Happy Slappy skin (+ for giving permission)
Elver Bill Gates' Microsoft Skin (using base skin) & Demigod skin
Okkun Sven's Swemob Skin
Gavin Suntop The Tick's lines, taken from TV/comics. The Tick one-liners: http://www.cu-online.com/~phyber/tick/tickpage.html
James Kennison For the great, the fab the one and only ELVIS skin (yep, the King is still alive!!!) (+ for giving permission)
Itchiban Turtle skin
 

The Skin People

(Who did us a favor, but don't expect that they will make your skin!!! Some might if you ask them nicely)

I consider these people to have made the best CQ skins in the world, and that is the truth...it is the truth that that is my opinion...at this time.... Don't know what my opinion is when you read this...Heheh. Last version I "copulated in a vertical fashion"(=fucked up). I got some of the links wrong....will saying sorry be enough? errare est humanum. Anyway, some sites may still be working, some may be down. James stopped making skins, Elver is too busy doing other stuff.

 
 
James Kennison jamesk@mylink.net  http://www.mylink.net/~jamesk /skinsbyjames/
Greg Howell howellg@ihug.co.nz  http://homepages.ihug.co.nz /usersdirs/howellg (no access)
Luke Pope lupope@epoch.ml.org  http://epoch.ml.org/pope/qskins.html 
Alan Yen Alanyen@planetquake.com  http://www.planetquake.com/qgallery/ 
Kenneth Scott mfarr@ccinet.ab.ca  http://planetquake.com/skinforge/
Mike McMillen mike.mcmillen@sierra.com  http://www.tigerbass.com/lojindex.h tm
Elver Nobody@demigod.demon.nl http://www.demigod.demon.nl...hey this site looks familiar....
 
 

The Betatesters

The Omicron bot would never have reached this point without these guys! Many thanks to them.
Legion (Roscoe A. Sincero)
Meanstryk (Brian Bland)
eXorcist (Maarten Winkel)
OoXoO (Brian Hetro)
Wilfred Death(?)
Mr?(Timm Stokke)
Strider(Alan Kivlin.)
 

Type of Mod
QuakeC: no
Sounds: yes
Models: yes

 

Format of QuakeC
unified diff: no
context diff: no
.qc files: no
progs.dat: yes (for CQuake v1.06 or later)
qwprogs.dat: no, and Mr E. is not planning on doing a QW port either.
 

Description of the Modification

This quake add-on contains the following features (and probably a lot more):

 
System and Other Requirements
   

Installing the Modification

 
New console commands
 
 
addbot add one random bot *
admin nominate yourself for administrator
botpathing toggle bot to learn the map by itself (default=on) *
bottalk toggle bot chatting (default=on)*
botskills  print the skills of the bots
camname toggle name of client observer is viewing from
campmode set the camping mode (default=detect and punish) *
chasecam toggle between eyecam and chasecam
cmdlist show a list of the console commands
cyclecam cycle the camera to the next bot or player
dumpbspwaypoints dump the waypoints to the console *
humanpathing toggle bot to learn the map from player (default=on) *
kascam toggle KasCam mode (KasCam impulse commands will work when activated)
menu  show administrator menu *
nogrenade  toggle the grenade launcher on/off *
nolightning toggle the thunderbolt on/off *
nopowerups  toggle the 666, the quad and invisibility powerup on/off *
norocket toggle the rocket launcher on/off *
noshellcases toggle the shotgun shell cases on/off *
nosupernail toggle the super nailgun on/off *
noweapons toggle all weapons on/off *
observer toggle observer mode on/off
observerfly toggle between flying or walking in observer mode (troubleshooting)
removeallbots remove all the bots *
removebot remove one bot *
rocketarena switch to rocket arena mode *
serverflags show several server settings
skindown  cycle through the skins downward
skinup  cycle through the skins upward
stopadmin  exit the administrator function *
team1 - team8 join the specified team
yes vote yes for administrator candidate
  

* only the administrator can utilize this command with success.

The administrator is the first client to log on to the dedicated server or the client on the listen server...
Specific bots can be added by typing in the name of the bot on the console. Since the limits of Quake dictate that there can only be 16 clients maximum, you can only ask for 15 bots maximum.

These are:
 
 
 
demigod john bill tick
terminator tigger ironman predator
sven raphael bob qspy
iceman happy tim elvis
robocop cowboy hitman mountie 
babe punisher slaine klingon
 
see the Bots for a description of each.
 

Server Variables

 

skill sets the skill of the bot 0-3. Note that you can set this variable with .1 increments. It is thus possible to play against skill 2.5 bots for example.
deathmatch n  sets the dm mode to dm n.  

dm 3 (weapons remain and can be picked up once; ammunition returns after 30 seconds)  

dm 4 (all players have all weapons, all ammo, 250 health, 200 armor, backpacks also give +10% health; quad does octa damage; more than 300 health =health 100, plus one gets quad and 666)

maxplayers To adjust the maxplayer setting, first type 'disconnect', then type 'maxplayers n' where n is the maximum number of player/bots allowed in the game; Quake will allow 16 clients max. then you can continue by typing 'map e1m2' or 'map dm4' for example.
registered 2 the patch does not load the models supplied with the bots; this is for low performance/memory systems
samelevel specify the number of maps. see Cycle Map & Map Randomizer
 Note: one can also set these server variables from the command-line. For instance one might start CQuake with the following parameters: quake -game omicron -listen 16 -winmem 16 +registered 2 +deathmatch 3 +skill 3 +map dm1

Administrator Menu

The administrator menu (from console: menu) enables the administrator to change several settings. Select options by entering the number preceding the menu item. (or by typing impulse, followed by that number on the console). See also: Troubleshooting

Administrator Menu
Deathmatch: off, 1 to 4
Teamplay: off (so there is no teamplay) or 1 through 8 (equals the number of teams)
Skill: 0 through 3
Timelimit: off, 0 to 60, increments of 5
Fraglimit: off, 0 to 100; increments of 10
Team Selection Menu
By entering 1, 2 up to n where n is the console setting for teamplay, one enters the specific team menu. Here bot(s) can be added to that specific team. Up to 16 clients (=bots and/or players) total can be added (such is the limit of Quake). Although the bots are meant to train people for deathmatch games, Mr. Elusive had one of those brilliant ideas of his and built in teamplay.
Botmanagement Menus
 
Deathmatch Menu  Team n Menu 
 Players can enter a specific team by typing 'team n' on the console where n is the number of the team they want to join.
Before joining a specific team, the game must be stopped (see administrator menu), after everyone has chosen a team and the bots have ben added, the game can be started. Teams disappear when the map is changed, see Troubleshooting.
(I assume you can find out for yourself how to operate the rest of the @#!^&*!! menu, after all, you managed to get out of bed, didn't you? and you're reading this, aren't you?) nuff said (Actually, no...there are still hundreds of idiots out there...and you know who you are!!! Hey, it takes one to know one...I can spot one within DBS range :)  )

Rocket Arena

Yeah, Yeah, Mr.E. implemented RocketArena into the Obots. Here's how it works...
Copy the Omicron bot progs.dat to your Rocket Arena directory.
Start Quake with your regular Omicron bot parameters and '-registerd 2'. You need to change the -game parameter to the Rocket Arena directory. For instance '-game arena'.
When the game is started go to the map you want to play and type 'rocketarena' on the console.

KasCam

The KasCam can be toggled with the console command "kascam". After the KasCam has been enabled you can't use any of the bot console commands. See the original KasCam readme for details and KasCam impulse commands.

Camper Detection

The camper detection feature is unlike the patches that just check if a player is standing motionless. The player is allowed to stand motionless and type messages. The feature checks if someone is camping near an interesting item (rocket launcher, red armor etc.), and when a suspected camper is detected every player receives a message with the name and location of the camper. This is followed by a 2nd message if the culprit still plies his "outdoor hobby". The camper receives a personal warning and eventually the camper will be punished. There are several punishments; some bad, some worse, some real funny (to others that is) including a mischievous cloud that follows the camper and lights up his day ;) (now you know what that stupid cloud model is for). The default mode is "detect & punish", but there is a "detect with severe punish" mode, and a "detect only" mode as well. It is also possible to disable both detection and punishment.
 

Creating BSP Waypoints

BSP waypoints are needed for the bots to find their way in a given map. All deathmatch levels (DM 1 to 6) are already hardcoded as an added bonus (and because I kept on whining about it to Mr E....hihi). Making  BSP Waypoints for other maps can be accomplished  as follows; A player explores a given map each time before bots are added, or it can be done once, then saved in a file on hard disk. In order to accomplish the latter, the following commands must be executed:
Start Quake with the following extra command-line parameter:

quake.exe -condebug -game omicron -listen 8

Now load the map to create the BSP waypoints for. Try to walk through the whole map [no camping trips this time ;)]. After playing this map for a while, dump the waypoints to the console. This can be accomplished by typing 'dumpbspwaypoints'. Quit Quake and take a look at the QCONSOLE.LOG that can be found in the omicron bot directory. All text not between braces {} must be removed. Take the .ENT file of the map. (cut the entities from the .BSP file with wordpad or a similar word-processor if there isn't a .ENT file.) Paste what is left of the QCONSOLE.LOG at the end of the .ENT file. To create the new .BSP file with static waypoints use QBSP.EXE (by id) with the following command-line parameter:

qbsp -onlyents ?.ent

where ? stands for the name of the map (which must be the same as the filename of the .ENT file). The map is now ready to be played again, and the bots do not have to "learn" the map, as they will "know" everything already. See also CQuake Features.

 

Cycle Map & Map Randomizer

This feature enables one to specify up to 64 maps in a configuration file on the server. The bot add-on will either randomly choose a map from these or cycle through them in order of appearance. When randomizing maps there are always three different maps in a row (assuming you specified more than three maps).

You can specify a map by making an alias with the name 'mapX', where X implies an integer in the range 1-64, that executes 'changelevel mapname' where 'mapname' is the name of the map to be played.
For instance, one might create the following alias:

alias map13 "changelevel dm3"

With the server variable 'samelevel' one can specify the number of maps. Make sure all the aliases with the name 'map1' through 'mapX' are made where X implies the number of maps.
Setting 'samelevel' to 0 will play the original CQuake story line.
When 'samelevel' is equal to 1 the current map will be played forever (broken record effect).
Setting 'samelevel' to a negative value will enable map cycling of the given number of maps (i.e. play the same sequence of maps over and over).
 
 

Story Stuff

Mr. Elusive is much better at CQuake than me...simply because he spends more time behind the computer playing Doom and CQuake and another unnamed 3D game with royalty in it. Me, well, I've less spare time. So we came up with this training scheme and how it should work to enable me (H2SO4) and the other Clan members (who are worse than me) to get better at quake and get better results on the internet, so as to defend the reputation of Clan Omicron.(...which still sucks as of this writing, but we're getting better...). Rather than keep this for our clan, we decided to share the bot with the rest of the world. We loved the reaper...but it is too much of a bot. With Omicron, we wanted to create a bot that was more human-like in it's qualities; If you were playing on the internet or LAN, including skins, taunts and the like. It is the way WE like deathmatch.
So here it its...
Welcome to Omicron's Basically Obscure Training Scheme (OBOTS). Your mission, should you decide to accept, is to kill any- and everybody until you have acquired enough skill to challenge real persons(tm) over a LAN for a duel in quake. And will they be surprised by the way your skill has improved. Then you will be surprised. Because they have also downloaded this bot and improved their skill. Or perhaps they were so expert at quake they're already at the top, in which case you know they are bigger nerds than you thought they were.
For this particular training mission, we've selected a few good men and digitized them (turned them into bots). Again, the mission of the game is not to kill Shub-Niggurath or Quake or the Cyberdemon...no, it's far easier than that. Just kill anything and everything you see...unless you are in teamplay mode, in which case you should kill anything and everything in sight AND have a few macro's handy such as "sorry", "oops, I didn't realize it was you", "oh yeah, you have got my color", "I thought I was on team red", etc.
 

The Bots
 

1.Omicron Demigod
It's the demigod. She/he/it? is the<snipped the long boring story etc...>.
Nuff Said.

2.John Carmack
Yes, kidnapped from id Software himself. Why else did it take so long before Quake II was released?  Last time I put down John Romero, to see if anyone noticed, but nobody did except the Dire Proto-Fiend (Kenneth Scott). Go figure, nobody except a few really know who does what, where, why and how. :(

3.Bill Gates
We said, "how about it, Bill?". "No" he said. "It will give you an opportunity to see what OS is on the local hard drive and transmit this information back to Microsoft.com". "Nah, still not interested".
"You could advertise Internet Explorer freely to whomever is playing by chatting".
"OK, I'm in."

4.Happy Slappy
Da man to put a smile on yer face...or he ain't happy and he'll slapp-y. Happy Slappy's favorite rhyme goes like this (by Mike McMillen, who actually was Happy Slappy, he is now known as Judge Dredd):

(: HAPPY SLAPPY :)
I kill you. You kill me
I killed yer whole damn family
With a big fat Rocket and a shot from me to you
Won't you say you'll kill me too?

5.Terminator
It is a T500. And again, for each one you gib, there is a new T500 waiting to gib you. Still haven't adjusted that voice chip to get rid of the accent...

6.Tigger
The hero from Winnie the Pooh. With a punch (pounce?) to make all cadets wish they hadn't joined the OBOTS.

7.Ironman
Tony Stark has specifically asked to join our ranks, seeing his star fade fast while another bat-eared playboy makes movie after movie.

8.Predator
This guy doesn't say much. He just wants to collect trophies. Actually, he wanted to join the Head Hunters TC, but we told him he could indeed collect, but he would have to relinquish his trophies in order to get the frags...so no deal there.

9.Sven
Because our extensive project is funded by the Swedish mob, we had to include one of their controllers to see the money was well spent. (Hey, I mean, we do have to pay for caterers and the costumes and the campers (no not the quake type, the caravan type) where the bots sleep while you turn off your PC...)

10.Raphael
One of the Teenage Mutant Ninja Turtles(tm). We told him "One pizza for each frag."; Cowabunga!

11.Bob
Some say Bob is one of the actors who once played in an episode from TAXI. He needed the job. Some say he's from the movie Taxi Driver (I think) ....so it must be....Robert deNiro!!!

12.Qspy
Qspy is everywhere ...better than spycatcher, better than Bond...with a licence to gib.

13.Iceman
This skin is supposed to dress up the Ice Clan, such **gasp** beautiful skin....we had to use it!!

14.The Tick
"Dinner's great! I especially like how you cut up my hot dogs to look like octopi". "But what this feast needs, Arthur, is PEZ" and "I'm not a villain lady, I'm vanilla" and "The Fourth Dimension is just one big crazy do not enter clambake jungle of weirdity -- and how does it work? Never mind!"
TV Reporter: "Can you blow up the Earth with your mind?"
The Tick: "I hope not, that's where I keep all my stuff!"

15.Tim Willits
Tim said he knew his own levels so well he could kick anyone's butt he was up against...I mean had to DM against...yeah that's it.

16.Slaine
Slaine Mac Roth...the Celtic Scourge...Brainbiter included. No peaceful DEATHS ...heh heh heh!!!

17.Robocop
Robocop has gone haywire...dead or alive....you're history....You're all carrying illegal fire arms..surrender them or die.

18.Cowboy
This flea' bitten, leather slappin' varmit is the meanest, roughest, toughest gunslinger east, west, north, and south of the river Pecos!

19.Hitman
Hey! you're actually reading this shit...man go play the bots...get a life, read a book, whatever.....so I didn't put this mumbojumbo here fer nothin'....hihi... U understanda mi...U bin in da biga 'ouse? What U in da bigga 'ouse 4 heh? U wanna weara di concrete shoes?

20.Mountie
Yes, its a mountie to the rescue. Unfortunately, he's no Mountie, 'cause he'll gib you anyway. But a damn fine uniform!

21.Babe
Ok, we needed a female bot as well. In quake 2 we'll include more chicks (no offense ladies, the demigod is actually a demigoddess you see) if we can get the skins...cause female skins that look good are about as abundant as the number of Bill Gates' x-mas greeting cards sent to Larry Ellison (Nerd pun here).

22.Punisher
What's a guy to say...punish everybody...that's what he's here for...excellent skin....

23.Elvis Presley
From beyond the grave he returns like a bad rerun. Yes folks, it's the only king of rock and roll. Now go tell your mommy that you've seen Elvis....and gibbed him countless of times, you hound-dog you!
 

24.Klingon
We kidnapped this one from the Paramount studios. We think his name is K'Tesh and he doesn't speak the stupid Federation language. His universal translator was damaged while testing the rocket launcher. His favorite line seems to be "tlhlngan Hol Dajatlh'a'", whatever that means.
 
 

The Players

You. :)

 

Known problems/bugs

So don't mail us about these!!!

 

Troubleshooting

 

Help

If you think you have discovered a bug in the obots (and you have read the ENTIRE documentation first), Buzz off...The OBOTS are finished ...finito ...done ...klar ...af ...fin ...sudah finis, we're NOT gonna update it anymore...or anyless...or anyhow; anyway, if you have comments, suggestions, flame, joboffers, poetry, funny anigifs, feel free to send email to obots@demigod.demon.nl oh and please no questions about "can I have the code...please", "how do your bots... and what is the specific code", "How do you like this level that I've made...", "why no QW ports?", "I've compiled my own static waypoints but they don't work...here's the file... can you...they're for DM4...",  "will you do a Q2 port?", and all that..Mr Elusive says he will take his code to the grave ...(no e-mail with questions like  "Where will you be buried and where can I hire a shovel?" either)...unless trinity comes out and he has a change of heart (no not a heart transplant)...but then it will be a public release only.

Don't mail us about the console command 'omicron' either!!!
 

Acknowledgments and thanks

Our thanks go out to all the beta testers (couldn't have done it without ya...althoughÿmaybe, but it wouldn't have been finished so soon), Olivier Montanuy (QuakeC Manual), Steven Polge (you know, the guru of the reaper bots...we're not worthy), the ENTIRE team at iD ((oooh, we're not worthy)times 40), Uwe Girlich (DEM format), Roscoe A. Sincero (several other points of inspiration), Alan Kivlin (some code to count the maximum number of clients), Judge Slappy(Mike McMillen), for the skins and for giving me such a light sentence in relation to the grieveous mental harm I have visited upon his honorous person ;), Meanstryk (several ideas), Greg Howell (tiggerskin..it rocks!), Tigger Clan, Luke Pope (skindude), Alan Yen (another skindude), Kenneth Scott (Heard nothing for a long time...then he tanks us for using his' skins..no sir..thank YOU for enabling us to bask in such glorious artwork!!!), Tim Willits (did he really do his own skin?), James Kennison (for Elvis' cool skin (so I'm thanking his wife for suggesting he'd make the skin)), me (I'm so nerdish at times) for telling Mr E. to help me get my quake skills up, Mr Elusive (oh I'm not worthy), his oversized monitor, the 3Dfx guys (for the Voodoo Chip), Gordon Moore (for the well designed PC ...NOT), Bill Gates for directX..he wish, I love gibbing a skill zero Bill), the Pope, demigod, Mr. E's parents, his grandparents, my neighbors, their cat, the fleas on the mongrel..eh..cute beastie, still readin' huh? okay let's really do something fun..(at your own risk of course)....type "omicron" on the console ...see what happens ...heheh ...Webster's New Dictionary and Thesaurus (some dinosaur I guess), [concise edition, 1990] (for Latin texts), Marc Okrand's "The Klingon Dictionary" (for the Klingon texts), Marvel, DC and all those other publishers for all the comic characters used, movies for the phrases for the bots, the Team Evolve "Painkeep", because we copied their copyright paragraph (we couldn't think of one ourselves), the Black list; yes we've put an official black list on the net and to id and Ramshackle to ignore people put on this list (latest news: so many people were put on the black list is has been taken offline; it proved too heavy and the line was about to snap); John MClancy..for being the first to report the player to player chat feature...heheh, and a useful suggestion (failed my save there). If we haven't mentioned you, and you know/think you deserve credit...well, here it is...THANKS!!! 
 

Copyright and Distribution Permissions

Team Omicron grants to the final end user an exclusive right to freely distribute this production in its undisturbed and unaltered entirety provided no exchange, monetary or otherwise, is requested.
All other media entities are expressly excluded from this right prior to acknowledge and consent from Team Omicron or one of Team Omicron's duly appointed representatives, agents or subsidiaries.

By using this product you agree to exempt, without reservation, the authors and owners of this production or components thereof from any responsibility for liability, damage caused, or loss, directly or indirectly, by this software, including but not limited to, any interruptions of service, loss of business, or any other consequential damages resulting from the use of or operation of this product or components thereof. No warranties are made, expressed or implied, regarding the usage, functionality, or implied operability of this product. All elements are available solely on an "as-is" basis. Usage is subject to the user's own risk.

The typing of omicron on the console is also at the typer's own risk.

Rocket Arena is the property of David 'crt' Wright.
real persons(tm) copyright by GOD
 

Authors may NOT use these modifications as a basis for other publically available work.
 

Availability

You are reading this, so you must have it, so why would you need another one?

Version Changes
 
1.01

1.02