OpenGL chess game that can use Quake3 .md3 models and act as a front-end to gnuchess
OCaml Shell Perl
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
glut-bins Release build files Mar 23, 2010
media Move images into local project Aug 28, 2013
openarena TGA version of laser scope Mar 31, 2010
.cvsignore ignore more build artifacts Dec 31, 2006
.gitignore These two files are build artifacts even though they're .ml Mar 30, 2011
LICENSE Change file names Mar 23, 2010
README.markdown Move images into local project Aug 28, 2013
RELEASE Real clipping logic Apr 2, 2010
TODO Updated copyright Apr 2, 2010
binfile.ml Updated copyright Apr 2, 2010
binfile.mli Updated copyright Apr 2, 2010
c3a.ml Better side angles Apr 2, 2010
c3aModels.mli Updated copyright Apr 2, 2010
c3aModelsShared.ml Updated copyright Apr 2, 2010
camera.ml Updated copyright Apr 2, 2010
compOpponent.ml Fixed warnings Mar 21, 2010
compOpponent.mli Updated copyright Apr 2, 2010
font_test.ml Updated copyright Apr 2, 2010
foot.ml Pencil to abstract movements Apr 1, 2010
make_native.bat Pencil to abstract movements Apr 1, 2010
make_native.bat~ build files Jan 5, 2007
make_native.sh Pencil to abstract movements Apr 1, 2010
make_release.bat Minor release cleanup. Mar 29, 2010
matrix.ml Updated copyright Apr 2, 2010
md3.ml Updated copyright Apr 2, 2010
md3.mli Updated copyright Apr 2, 2010
openArenaModels.ml Fixed animation code Apr 2, 2010
openArenaStrings.ml Updated copyright Apr 2, 2010
pencil.ml Updated copyright Apr 2, 2010
player.ml Updated copyright Apr 2, 2010
player.mli Updated copyright Apr 2, 2010
player_test.ml Cleanup ;;'s Mar 31, 2010
q3Fonts.ml Updated copyright Apr 2, 2010
q3Fonts.mli Updated copyright Apr 2, 2010
quake3Models.ml Optimizations. Use mid-res models. Defer loading of default skins to … Mar 23, 2010
quake3Strings.ml Updated copyright Apr 2, 2010
test.ml Cleanup ;;'s Mar 31, 2010
texture.ml Updated copyright Apr 2, 2010
texture.mli Updated copyright Apr 2, 2010
tga.ml Updated copyright Apr 2, 2010
tga.mli Updated copyright Apr 2, 2010

README.markdown

CHESS III ARENA

example with Q3A models

Chess III Arena is a simple chess game that utilizes Quake III Arena .md3 models for the various pieces. It was written as my first (allegedly) non-trivial ocaml application so I could see what I thought about the language. But more about that later. Most normal people are probably just interested in playing the game.

I did not create any models or art. All models and art are courtesy of the openarena project, and is licensed under GPL v2. Thanks guys! I'm no artist. Visit OpenArena for more details.

Chess III Arena can optionally be configured to play a computer opponent via gnuchess and to use the original Quake III models from id Software if you have a copy of Quake III.

Installation

Windows

  • Download the executable in zip format (sig).

  • Extract the files. [Right- click, choose Extract All, Next your way through the wizard.]

  • Open the new 'c3a-win32' folder.

  • Double-click on the c3a icon.

  • Enjoy!

Linux

Note: Although the program should run on any OpenGL implementation, you're really going to need some sort of hardware acceleration for reasonable rendering performance.

  • Install OCaml 3.09 or greater and the accompanying LablGL library, however that is done on your distro.

  • Clone the git repository OR grab the stable source .tgz (sig)and extract it somewhere.

  • cd into the directory

  • run ./make_native.sh

  • Right now there is no 'install', you run out of the working directory

  • Run ./c3a and enjoy!

Playing the Game

Simply double-click on the file c3a.exe in windows, or run ./c3a on linux.

When you run the game, you should initially see a title screen. Click anywhere on the screen to start the game. You will see an overhead view of the board. Blue is "white" and Red is "black", so Blue goes first. Click on the piece you want to move. Click on where you want to move it. If you want to change pieces (that is, you haven't 'taken your hand off the piece yet') simply click on a square that is in invalid move location, such as the piece itself. Repeat for red. Repeat until someone checkmates.

example with OA models

Playing the computer via gnuchess

Chess III Arena can act as a front end to gnuchess, allowing you to play the computer.

On Windows

The easy way:

The easy way will only allow you to play the computer as red, and will not allow you to diable the computer opponent without deleting or renaming the gnuchess executable. If you wish to have the computer play blue, or toggle human versus computer opponents:

  • Install gnuchess.

  • Include gnuchess in your path.

  • Start the game from the command-line with either 'c3a -blue gnuchess' or or '-red gnuchess'.

On Linux

Run the command-line:

./c3a -red gnuchess

to have the computer play red with you going first, or:

./c3a -white gnuchess

to have the computer start first.

Using Id Software Models and Art

If you have a copy of Quake III, you can use the id Software models instead of the openArena models. To install:

On Windows

  • Either:

    • Insert your Quake 3 CD and open it via Windows Explorer. [Right click on Drive letter and choose explore.]
    • Navigate to the installation directory if Quake 3 is aready installed.
  • Navigate to the Quake3/baseq3 directory.

  • Copy the file pak0.pk3 to the c3a directory created when you extracted c3a. Note: If you are copying from a local install, you must copy and paste the file. [Right- Click copy, Right- Click paste in the destination directory.] If you drag- and- drop, it will move the file and break your Quake 3 install.

  • Rename the file pak0.pk3 to pak0.zip. [Right- click, select rename]

  • Extract the contents. [Right- click, choose Extract All. Next your way through the wizard

  • Verify that the files are in the right place. From the c3a directory, you should be able to navigate to the following directory: pak0/models/players

  • Double-click on c3a-id-models.exe and enjoy!

On Linux

  • Within the new c3a directory, create a subdirectory called pak0

  • Locate the file pak0.pk3 from either your Quake 3 installation or the Quake 3 CD. It is located under the subdirectory Quake3/baseq3 on the CD

  • Rename the file to pak0.pk3 [mv pak0.pak pak0.zip]

  • Unzip the contents. [unzip pak0.zip]

  • Verify that the files are in the right place. From the c3a directory, you should be able to navigate to the following directory: pak0/models/players

  • Build the executable if you haven't already. (./make_native.sh)

  • Run ./c3a-id-models and enjoy!

OpenArena Model Source

This archive (sig) contains the OpenArena models in blender format, the 'source' for the .md3 files. It is provided for GPL compliance. You are of course free to download, but it only contains the models used in the C3A distribution. You may wish to grab a full copy of the OpenArena source from the OpenArena website.

Building on Windows

I'm compiling on the MSVC version of Ocaml. In addition to the base install, you'll need to install LablGL and flexdll. If everything is working, you should be able to run make_native.bat from the source directory.

Enjoy!

-Grant (kgo at grant-olson dot net)

Copyright (C) 2007-2010 Grant T. Olson. See LICENSE file for terms.