Open Carcassonne Version 0.9.0 Evert Glebbeek (eglebbk at dds dot nl) April 18, 2005 0) ABOUT 1) DISCLAIMER AND LICENSE 2) INSTALLING THE GAME a. building from sources b. installing a binary distribution 3) PLAYING a. getting started b. starting a game c. game rules 4) IN CLOSING 5) CREDITS 0. ABOUT ======== Open Carcassonne is a computer version of the board game Carcassonne by 999 games. It currently supports network and hot-seat multiplayer games using the base tileset and some expansion tiles (final version will support all). 1. DISCLAIMER AND LICENSE ========================= This program is distributed as is. No warranties are made, expressed or implied, that this program is fit for any particular purpose. Neither the author, nor the distributor will take responsibility for any damage that may result from the abuse, use, or inability to use this software, including, but not limited to, loss of data, profits, time or sanity, even if they have been informed of the possibility of such damage. By running this software on your computer you accept the terms of this agreement, regardless of whether or not you bothered to read it. Permission to distribute the game binary, sources and datafiles is granted, provided that this readme file is also included. Do not distribute modified sources or binaries build from modified sources. This game is based on a board game published by 999 Games. Neither this software nor its author are in any way associated with 999 Games. This software is not associated with the official computer version of the game. 2. INSTALLING THE GAME ====================== To install the game, you have several options, depending on your system setup. You can choose to install the complete game using a Windows installer and download the game data and binary or source code separately. a. building from sources ------------------------ The build process should be fully automated for DOS, Windows and Linux. It may require more work on other platforms. To build the game you will need to have the following tools installed and working on your system: * The GNU C Compiler (gcc). * GNU make. If you have gcc, you probably already have this. * A recent version of the Allegro programming library (4.2.0 or better). The following tools are optional: * The libnet network Allegro add-on library. * The GNU fileutils package, in particular the rm utility (needed by the clean, distclean and veryclean makefile targets). * GNU Bash, GNU grep and sed (needed by the depend makefile target). All of these are free tools available from the Internet. If you wish to use another compiler (e.g. MSVC), you should be able to compile the sources with a few adjustments (if any). If you experience problems compiling the code for other compilers feel free to submit a patch to make it compile, but I can't actively support all of them. The gcc compiler should be available in most Linux distributions and on most other UNIX systems. For other systems (DOS, Windows), you'll need to get a gcc port for your system: DOS: get DJGPP from http://www.delorie.com/ Windows: I'd advice MinGW from http://www.mingw.org/ Allegro is available from several locations, most notably the Allegro community site, http://www.allegro.cc/, or directly from SourceForge, http://alleg.sourceforge.net/. Consult the Allegro documentation and the files section of Allegro.cc for help on setting it up for your system. Libnet can be found at http://libnet.sourceforge.net/. Alternatively, a modified version of libnet comes with the source archive: go to the Carcassonne/src/libnet directory and run make there. If your system is configured properly, then all you should have to do is extract the source code to the same directory where you extracted the game data files. The source code is in a UNIX-style .tar.gz archive, which is also recognized by WinZIP. Extracting the source code will create the directories Carcassonne/src containing the game sources, Carcassonne/include containing the header files and Carcassonne/obj where the object files will go. It will also create Carcassonne/Makefile and Carcassonne/makefile.dep. If you do not have this last file, or if you have run make veryclean at some point, you can regenerate it by running `make depend' from the Carcassonne/ directory. With the source code extracted, go to the Carcassonne/ directory and run `make' or `gmake' from the command line. Make will try to detect what system you are running by checking against some environment variables: if DJGPP is set, it will assume a DOS environment. If MINGDIR is set, it will assume a Windows/MinGW environment. If neither of these are set, a UNIX like environment is assumed. Check these variables if you are in doubt. If you're using Linux or UNIX, you way wish to set the CPU environment variable to your CPU to generate code for it. On my Linux box, it's set automatically, but you may wish to make sure. From the Carcassone directory, run the following commands from a terminal (replace / by \ for DOS and Windows): cd src/libnet make cd ../.. make b. installing a binary distribution ----------------------------------- Compared to installing a source distribution, this should be easy go. If you pick the Windows installer, all you have to do is run it and it will setup the game properly. If you downloaded binary and data separately, simply unzip them to the same directory. Done. There are a few subtleties though. The Windows version requires the Allegro 4.2 DLL to be installed on your system. If you want, you can check if a newer version is available at the files section on allegro.cc. The Linux binary also requires the Allegro shared .so library, amongst other things. If you have Allegro installed and working, this should be no problem. If this binary doesn't work, you can always compile the sources. 3. PLAYING ========== a. getting started ------------------ The Carcassonne executable and configuration files are named differently on different platforms: Executable: Config file: DOS: carcass.exe carcass.cfg Windows: wcarcass.exe carcass.ini Linux: carcass .carcassrc or /etc/carcassrc Under Linux, the file .carcassrc will be looked for in the directory pointed to by the HOME environment variable, or the current directory if HOME is not set for some reason. If .carcassrc cannot be found in either location, but the file /etc/carcassrc exists, it will be used to read global settings. New settings will be saved in .carcassrc. Run `carcass -help' to see a list of command line options. CAUTION: not all of these may work properly. Simply start the program without any arguments to begin play. b. starting a game ------------------ From the main menu, you can start playing immediately by choosing New game. You can then choose to play a local game, where all players play on the same computer, or a network game. For a local game, you can check which players are in the game by marking the check box next to their name. Press Start to begin play. For a network game, you have two options. Create Network Game starts a game server. You will need to enter a nickname and choose the type of network. This should normally be Winsock in Windows and Berkely Sockets in UNIX. You will be taken to the game options screen and be notified when players connect. Press start to begin play. Join Network Game starts a game client. You will need to enter a nickname, the game server's network IP address and choose a type of network as above. You will be taken to the game options screen. The game starts when the server hits start. During play, use the arrow keys to scroll the map. Page Up and Page Down rotate the current tile. Optionally, you can use the right mouse button to rotate the tile clockwise. You can send chat messages using the enter key, place a tile or end your turn. Turns end automatically if you place a new man on the map. Escape exits the game. If the server exits, all clients exit as well. c. game rules ------------- Grab a copy from the game box and read those. I may explain the rules here later. 4. IN CLOSING ============= The game is, as yet, incomplete. Expect more complete features to appear in the next release. Since this is a work in progress, the game may have bugs. If you encounter any, please let me know so that I can try to fix them. If you have other suggestions or ideas, let me know as well. 5. CREDITS ========== Although I did the programming on this game, it could not have been made without the help of others. If you feel you are uncredited without cause feel free to drop a line! Thanks go to: Code: ----- Shawn Hargreaves and everyone who contributed to the Allegro library George Foot for creating the libnet network library Graphics: --------- Paul Friedel for doing most of the graphics and brain storming sessions Play testing and feedback: -------------------------- Gerben Schooneveldt Lydwin van Rooyen Michael Verhoek Paul Friedel Yan Grange