General Game AI
- Reviews of game AI
- AI Game Programmers Guild
- IEEE article on Making the Jump Into Games
- textbook website
- Microsoft Visual Studio 2017 Community Edition (VS for short) is the official IDE for Bzflag on Windows. Download it and check the box for C++ to install it. For Mac users, Xcode works fine for me (follow the instructions in README.MacOSX). When you start Visual Studio on bzflag.sln (see next bullet) for the first time, answer yes to upgrading to the latest version of the Windows SDK. If it does not ask, you may have to right click on "Solution 'bzflag'" and select
- For installing bzflag on Windows, dowload the source code, version 2.4.14 from bzflag's Downloads page and follow the instructions in the README.WINDOWS file. The VS solution file is in MSVC\bzflag.sln (double click it to start VS). The README.WINDOWS file tells you to install the NSIS 3.03, so do that first. Also you may need the BZFlag dependencies. Either clone the GitHub project or download it. Then build it by running buildVC2017.bat (Windows) or buldmacOS.sh (Mac). Note that you may have to edit the buildVC2017.bat file to change all instances of 10.0.16299.0 (Windows SDK version) to whatever version of Windows SDK you are currently running (start up VS 2017 on bzflag-dependencies-master\src\regex\regex.sln, then right click on "Solution 'regex' (1 project)" on the left pane and select "Retarget solution" to see your Windows SDK Version choices). Note that SDL2 failed to build for me. I just copied SDL2.dll from bzflag-dependencies-master\src\SDL2\VisualC\Win32\Debug to bzflag-dependencies-master\output-debug-x86\bin and to bzflag-dependencies-master\output-release-x86\bin and copied SDL2.lib, SDL2.pdb and SDL2main.lib to bzflag-dependencies-master\output-debug-x86\lib (likewise for the release directory lib). I also copied the entire directory bzflag-dependencies-master\src\SDL2\include to bzflag-dependencies-master\output-debug-x86\include\SDL2 and likewise for output-release-x86. I also copied the whole directory bzflag-dependencies-master\src\curl\include to bzflag-dependencies-master\output-debug-x86\include\curl\ and likewise for output-release-x86. After successfully building the dependencies, set the environment variable BZ_DEPS to point to the full path to your bzflag-dependencies-master directory.
If when debugging bzflag or bzfs, you get an error about some .dll file not
found and that file is in your bzflag-dependencies-master\output-debug-x86\bin
directory, then you will need to add that to your PATH environment variable
for BZFlag. One way to do this is to right click on bzflag, select Properties,
then Debugging and add under Environment,
PATH=%PATH%;$(BZ_DEPS)\output-debug-x86\bin(replace debug with release if you are running a release version). If you are running bzflag or bzfs from a Command Prompt, you will need to run
PATH=%PATH%;$(BZ_DEPS)\output-debug-x86\bin(again replace debug with release if you are running the release version) before running bzflag or bzfs from the Command Prompt.
- If you get this error: The Windows SDK version ... was not found. Install the required versio of Window SDK or change the SDK version in the project property pages or by righ-clicking the solution and selecting "Retarget solution". Just follow the instruction by right clicking on "Solution to 'bzflag' ..." and then select "Retarget solution".
If you get the error "No fonts found (the -directory option may help). Exiting",
try right clicking on bzflag, select "Properties" at the bottom of the popup
menu, then under Debugging, add Command Arguments:
- If you are running a server on the same machine as your client and you cannot connect to your server via the "Find Server" menu in bzflag with an alphabetic hot name like "localhost" (seems to happen on the UHM wireless network), try typing in the numeric IPv4 address for the server (on Windows, you can look up your IP address by running cmd.exe and typing "ipconfig", then look for the IPv4 Address, which should be something like 126.96.36.199). The numeric address 127.0.0.1 is equivalent to "localhost" and this may work for you, so you can avoid calling ipconfig to get the actual IP address.
- To run bzflag with robots, add "-solo N" without the double-quotes where N is the number of robot tanks to the command line or to Configuration Properties: Debugging: Command Arguments for debugging bzflag.
- If when compiling bzflag, you get a link error involving regfree, regex, regcomp, regerror, regexec, etc., try adding regex.lib to bzflag's Properties: Configuration Properties: Linker: Input: Additional Dependencies. Also add $(MSBuildProjectDirectory)\regex_Win32_Debug to bzflag's Properties: Configuration Properties: VC++ Directories: Library Directories. You can also use the full path, but if you ever move or copy the bzflag-2.4.2 directory, you will have to remember to change these values.
- If you have a multiprocessor CPU, you can set bzflag's Properties: Configuration Properties: C/C++: General: Multi-processor Compilation to Yes (?MP) for faster compilation.
- To run bzfs, run "bzfs -conf configuration_file_name.conf" in a cmd.exe window. You can also run it from within VS10.
David N. Chin / Chin@Hawaii.Edu