FMODS

Main page
Frogbot mods
Frogbot demos
Links
Ideas
P.T.F.

Download

FMODS Ftp
Utilities
Maps/Waypoints

Quake C

Essential files
Quake C Tutorials

Community

Bot Board
Contributors
FMODS Staff

Help

About FMODS
Frogbot FAQ

Contacts

Wrecker - e-mail me if you have trouble with anything in this page.

Gibbie - e-mail him if you have trouble with maps or waypoints.

 

FROGBOT FAQ

1. What is Frogbot?

The Frogbot mod is a tribute to the excellent game play of multiplayer LAN Quake and my continuing attempt to create a bot that is believably human. I judge my efforts largely on the game product you play.

The current AI of the Frogbot is what I would regard as a fairly minimal working model. I do intend to greatly improve it over time. Though it is true that QuakeC presents limitations of all sorts, by using a bit of ingenuity I have been able to push QuakeC to the limits.

The first requirement of a 'human' bot, as opposed to a 'bot' bot, is fluent navigational skills. With the sacrifice of using static waypoints the Frogbot can achieve fluent navigation around a level, and moreover can actually be programmed in QuakeC (this is assuming todays relatively slow cpu speeds).

The Frogbot is basically an exact client emulation bot.

I have decided to make my so far incomplete efforts available to the Quake community so that other people can share in the enjoyment of playing the Frogbot. (Frog)

2. How to install Frogbot:

When installing the frogbot, you must unzip the file to a directory within your main quake folder (ie, c:\quake\frogbot). This is done using a util such as WinZip. If you use pkunzip, remember to use the -d switch.

3. Running Frogbot:

When installing is done, you must start quake using the bot in order to play with it.. lets say you have installed the frogbot into c:\quake\frogbot. You must then start quake, using this command line:

quake.exe -game frogbot -listen 16 -zone 1024

Replace quake.exe with whatever exe you are using (winquake, qwcl, glquake, etc). The -listen option makes it possible to spawn up to 15 bots (16 clients, including yourself) This is not needed if only want to play with 3 or less bots, but recommended. You can also add more commands to the startup command line, but remember to include both the options shown in the example. If you would like to run the bot in QuakeWorld, please refer to the section 6. There you'll find all the info you need.

4. Playing Frogbot:

Once inside quake, press [esc] to enter the menu. Then select multiplayer\serial or ipx\then start game (remember to configure the server options) when the map loads, you must enter "addbot" in the console to add a bot - more commands can be found in the text file. You can't play all quake levels, only the ones with the waypoints. For a list of available waypoints check 'Maps' Section.

5. What are Frogbot's features?

Full client emulation - The frogbot moves just like a real player. It also shows up on the scoreboard like a real player, it runs like a player, it jumps like a player. It uses all the weapons available to player. You can ever make your own bots with different colors and names. Everything just like a player with a cpu brain.

Advanced map navigation - The Frogbot features the best level navigation seen in a bot to date. It knows what to do, where to go - always. it doesn't have to "learn" the map as the other bots out there do. Nope. It knows the entire level like it was it's own pocket. Scary.

QuakeWorld compatibility - Included in the frogbot pack is both the regular and quakeworld progs.dat. This means that you can play the frogbot using the quakeworld client as well as the netquake client! So, those who don't want to spoil their skillz by playing RQ, can now play QW! (More on this in the QuakeWorld section)

Other - .. lots of AI, kascam: advanced observer mode including modes like quaketv and chasecam, powerup toggle, match mode, rocketlauncher \ shaft preference toggle, grappling hook, runes, qwphysics\aim in regular quake, no cheating skills gtom 0-100, cheating skills from 101-200, an option which will make a frogbot take over your controls - sit back and enjoy the ride!, skin support and more!

6. Running Frogbot in QuakeWorld:

Step 1: So, you want to play the frogbot in QW, eh? You've come to the right place. The first thing you've got to do, is to download the latest version of QuakeWorld. (Current version is 2.33) Be sure to download both the client AND server. You also have to download a program called priority which makes it possible to run the QW client and server on the same machine with descent performance. Download 'Frogbot Startup Kit' from 'Downloads' section. Ok then. Now you have to unzip\install all those files to your quake directory. Done yet?

Step 2: Run 'Frogbot Startup Kit' and find 'settings' in the 'preferences' menu. Then fill in all fields properly. (e.g. In 'server' field, type in path to your QWSV.EXE file and additional parameters to it.) For more detailed info read text file or contact program's author.

Step 3: Click on each 'Server', 'Priority' and 'Client' buttons to load QuakeWorld server, priority and QuakeWorld Client. Using 'Proxy' isn't necessary, but if you want to use it, 'Frogbot Startup Kit' supports it.

Step 4: Step four is the easiest one, since 'Frogbot Startup Kit' connects to the server automatically. Once you're connected, type 'addbot' to spawn a bot, and enjoy the Deathmatch!

7. Running Frogbot in QuakeWorld (Linux and Win NT):

Running the client and server on the same machine using linux and windows NT does not require a program such as priority. In Linux you can just start the server and client, while under NT you've got to set the priority of qwsv.exe to "high" using Task Manager. As easy as that.

8. Other Frequently Asked Questions:

Q: Can I add my favorite map, (map name)?
A: Absolutely. All you need to do is make waypoints for the map you want to add, and then comile them using 'Compile Util' (you can find it in 'downloads' section). Making waypoints is the difficult part, but you can use a tutorial to make things easier.

Q: Why are the bots moving choppy in QW?
A: This is because the non-player (ie. bots) entities in QW are limited to 18.2 FPS, which means that they will move choppy. The only person who can change this is Zoid who is in charge of the the QW project. Sorry.

Q: I can't find any server running the bot. How can I play it in QW?
A:
Well, you can always set up a client and server on the same machine using an utility such as priority. More information on this can be found in the section 6 of this FAQ.

Q: How can I make bots with custom names and colors?
A:
This is so easy, it's scary. The first think you've got to do, is to download the FBedit program. Then.. well.. start it, and make the .bot file. Save it to the frogbot dir, and start quake. Then, in the console, type "exec filename.bot" to spawn the bot you've made. As easy as that!

Q: Quake keeps crashing when i run the bot, why is that?
A:
Add -zone 1024 to the startup command line. That should do the trick. Using WinQuake (you can find it in 'downloads' section) sometimes helps too. For more info on crashes, take a look to the section 2 of Frogbot FAQ (located below).

Q: Where can I get all waypoints and maps which are currently supported?
A:
All maps and waypoints can be found in 'Maps' section.

Q: Can you add [insert cool feature here]?
A:
Well, you sure can e-mail Frog with your suggestions, he will take a look at them. But if you want/are able to, you are welcome to add cool features yourself. More information how to do that (modify Frogbot source), and required files can be found in '.Qc' section.

FMODS FAQ (Overall information and common errors)

1. Running A FMOD (Frogbot Modification):

Create a new folder in your QUAKE directory. Unzip FMOD files into it. Then what you want to do first is read the readme.txt included with all other FMOD files. There's usually 'Install' section there. Well if you can't find that basic info, the most usual command line would look like this:

c:\quake\winquake.exe -game moddir -zone 2048 -listen 16

2. The most common errors in any FMOD:

SZ_getspace: owerflow without allowowerflow set - This error happens when you forget to include '-zone 1024' (or bigger) in command line parameters when running any FMOD in WinQuake. When you are using Normal (QUAKE.EXE) Quake, and you forget to include '-zone' parameter, you get Z_Malloc failed at ? bytes error.

If you get any other error and you think/know that it has to do with memory, try this:

For Normal Quake add '-winmem 25 -winlock' (for 32mb systems) or '-winmem 10 -winlock' for (16mb systems).

For WinQuake you can try to add '-heapsize' parameter with number equal to your (RAM count - 5) * 1000. Eg if you have 32mb of ram it would be '-heapsize 27000'

Map crash errors - sometimes when you change the map, it crashes, or when you change the map and try to add bots to it, it crashes. There are only one cause of this: Current version of Frogbot doesn't support buttons in maps. There is absolutely nothing you can do exept wait for the next version of Frogbot.

3. Errors, which occur when you try to modify Frogbot source:

Quake C compiler doesn't compile progs.dat - You aren't using PreCompiler, such as PreQcc (you can find it in '.Qc' section). Your compiler won't compile Frogbot v0.12c source without first pre-compiling it.

How do I compile Fb progs.dat without first pre-compiling it? - Use MeQcc compiler - it doesn't need pre-compiler.

'Assigment to world entity' and disconnection - This can happen in many cases, so there are no typical event for it to happen. With the current FrogBot code, this error can appear on some freshly made maps. Frog told that he will fix this in next version. We just have to wait.

'Illegal server message' and disconnection - This happens if you use WriteByte (or other Write****) and forget to add 'Write**** (*****, 0)'. The 0 stands for end of message. Examples:
Bad:

WriteByte(MSG_ALL, SVC_CENTERPRINT);
WriteByte(MSG_ONE, _h);
WriteByte(MSG_ONE, _e);
WriteByte(MSG_ONE, _h);
WriteByte(MSG_ONE, _e);

Will produce this error.

Good:

WriteByte(MSG_ALL, SVC_CENTERPRINT);
WriteByte(MSG_ONE, _h);
WriteByte(MSG_ONE, _e);
WriteByte(MSG_ONE, _h);
WriteByte(MSG_ONE, _e);
WriteByte(MSG_ONE, 0);

Will correct it.

'Runaway loop error' and disconnection - Diagnostics: This happens if you use loop without loop identifier. Look at examples for more info. Examples: Bad:

random_bot = first_client;
while (random_bot)
{
if (random_bot.flags & FL_FROGBOT && random() < 0.2)
return;
}

Will very likely produce the error, because random_bot doesnt change at all.

Good:

random_bot = first_client;
while (random_bot)
{
if (random_bot.flags & FL_FROGBOT && random() < 0.2)
return;
random_bot = random_bot.next;
}

This will correct the error.

3. Other Frequently Asked Questions:

Q: How do I add (compile) new waypoints for Frogbot v. 0.12c?
A:
There are two ways to do this, and I will explain the easy way. Download ZeCyber's Compile Util 3 (Which you can find in Utilities section). Make a folder called 'Utils' in your Quake folder. Then in 'Utils' folder, make a folder called 'Cutil'. Unzip the file you downloaded there. Now copy all waypoints you want to add to 'Cutil/Maps' folder. Run the Compile Util. Then use the menus of the program - and you'll come up with new progs.dat eventually :)

Q: I added some new waypoints to Frogbot, and now I can't spawn a bot in QuakeWorld. What's wrong?
A:
You probably forgot to compile Qwprogs.dat. Progs.dat is only for Quake only, and Qwprogs.dat is for QuakeWorld. The easiest way to compile Qwprogs.dat with new waypoints is to use Compile Util. Or you can download Qwprogs.dat already compiled with all available waypoints - Neophyte's Modpak1v11. Check 'Mods' section for that one.

Q: When I set 'skill 200' on the console, and type addbot in QuakeWorld, the bot spawns with different skill. What did I do wrong?
A:
'skill x' is Quake setting, it might not work in QuakeWorld properly. To set skill in QuakeWorld, type 'skill=' in cosole, followed by 'impulse x', and you will spawn the bot with skill x.

Q: When I play Frogbot in QuakeWorld, I don't see any common messages such as 'x rides y's rocket'. Is there any way to correct this?
A:
This occurs when 'msg x' is set to 3 or higher number. Set it back to 1 and everything wil be normal again.

Q: How do I setup map cycle in QuakeWorld server?
A:
Well, you have to make a server.cfg with this in it:
_____________________
samelevel 0
localinfo dm6 dm4
localinfo dm4 dm6
map dm6
_____________________

FROGBOT STARTUP KIT FAQ:

Q: When I start fsk all works for about 5 min then my screen turn black I use fsk 0,6 qwsv 2.30 priority and glqwcl,and all the -zone flags whats up??
A:
I'm not sure. It might have something to do with the GL-version. Try to start the server, priority and GL-client without FSK to be sure it's FSK's fault. FSK should'nt mess such things up though. You should also try to make GL-settings for the client in a batfile, and call that batfile from FSK instead of calling the glqwcl.exe. Shelob made a point on the botboard considering this question:
Sounds like you need to type
sys_nostdout 1
in qwsv
and run
qizmo.exe -q
To stop glqw from jumping to a black screen.

Q: When i connect to the server with the cheapo-proxy i get a message like:
Error connection to server
Server disconnected

What is wrong?
A
: I've noticed this to, and it doesnt matter if i'm using FSK or not. Although, it doesnt happen all the time. The only thing you have to do when you're connecting with FSK is to type .rec (notice the dot).

Q: Why doesnt my proxyautoexec alias work when im connection to the cheapo or qizmo ?
A:
Because i have used that alias to make it possible to autoconnect to the server. You should rename your alias to something else in your config-file, and manually type it when you're connected. A easier way to do it is to bind your new alias to a button.

Q: Why do i get kicked out from the server after 3 maps, and FSK says "Server stopped" and "Priority stopped" ?
A:
I have never had this problem, but I will try to figure out why this happens for a few people. One thing you should know though, is that "Server stopped" and "Priority stopped" means that the server-program was terminated, and therefor the priority-program was terminated to (priority automatically teminate upon server exit). FSK does not have the power to terminate any program, so i really dont think it's because of FSK. Maybe you have some kind of illegal mapqueue in your server.cfg (?) You should try to run the server and priority without FSK and see if the same problem appear. I would really like to have some feedback in this matter.

CREDITS TO:

Robert 'Frog' Field and Timm Stokke for Frogbot FAQ.
Henrik Khol' Lind for Frogbot Startup Kit and its FAQ.
Algirdas 'ZeCyber' Kepezinskas for FMODS FAQ (Previously known as
Error FAQ)
Robert 'Frog' Field again for Original (official) Frogbot.
Some people in Bot Board for some Questions and Answers.
And at last, a credit old as world -
ID Software for Quake.

The author of this page is Andrius 'Wrecker' Jovaisa. Page is made using Frontpage Express by Microsoft, and some .html code added with Notepad. Best viewed in 800x600 resolution with small fonts or 1024x768 with small fonts. Site was created in 26th of October, 1998. Page is hosted by Botepidemic, which is hosted by Telefragged - the best Quake/II/IIIarena news site on the net!