About Open
Quartz Okay, so now you have played Open Quartz a lot and you are convinced that you want to contribute or start developing your own GPL game using Open Quartz content.
But where do you begin?

    Open Quartz Development - Getting Started

Open Quartz has many components that you can work on: sound effects, ambient music, textures, 3D models, and maps.  You may already know what you want to work on, or you may want to try working on a few of them and see which ones you like.  But before you do anything, you should first set up the Open Quartz build system.

    Setting up the build system

First things first.  The game you have  played is probably a little out-of-date, so you should download the latest textures, models, sounds, and maps.
Before you download anything, you should should create your "Open Quartz root directory".  You can put this directory anywhere and call it anything you like.  From now on, I will refer to this directory as OQROOT.
Your next step is to copy your Quake engine into OQROOT/openquartz.  We recommend using DarkPlaces, but any Quake1 engine mod should do. If DarkPlaces runs too slowly on your machine, you may have a better gaming experience with QuakeForge.
Next, you must obtain the utilities that assemble the individual Open Quartz components (models, maps, textures, quake-C scripts, and sounds) into the pak files that Quake uses.  On Windows, most of the utilities have friendly, graphical counterparts, but for now we're going to use the stock command-line tools in Open Quartz's toolset.
There are old Windows binaries available - you can download them from the Open Quratz project download page.  Be sure to put them in OQROOT/utils.
But if you want to set up the Open Quartz build system it's recommended to get the latest sources from CVS and compile them yourself.  Go into the OQROOT directory and run the following commands. (When prompted for a password, just press the ENTER key.)

cvs -d:pserver:anonymous@openquartz.cvs.sourceforge.net:/cvsroot/openquartz login

cvs -z3 -d:pserver:anonymous@openquartz.cvs.sourceforge.net:/cvsroot/openquartz co utils

Follow the instuctions in utils/README to compile the utilities.
Now it's time to get the latest Open Quartz content and the build system.  Go into the OQROOT directory and run the following commands. (When prompted for a password, just press the ENTER key.)

cvs -d:pserver:anonymous@openquartz.cvs.sourceforge.net:/cvsroot/openquartz login

cvs -z3 -d:pserver:anonymous@openquartz.cvs.sourceforge.net:/cvsroot/openquartz co pak0

Instructions on how to compile the Open Quartz content is in pak0/README.  If you followed all instructions on this page, then running "gmake" in the pak0 directory will compile the content into PAK files, and "gmake install" will copy the compiled content into OQROOT/openquartz/id1, the game directory.
Congratulations, you have finished setting up the Open Quartz build system.  You should now be able to run the Open Quartz that you built by going into OQROOT/openquartz and running openquartz-glx.

    Creating Maps

The first step to adding a map is to get a map editor.  There are several good ones.  Open Quartz mappers have used GtkRadiant on GNU/Linux and QuArK on Windows.
The instructions in this section assume you are using GtkRadiant, which runs on both Windows and GNU/Linux, but you should be able to apply them to your preferred editor.
Support for Quake 1 file formats was added to GtkRadiant in version 1.5.0-2005-01-16, so make sure that the version you download is more recent than that. Once you have installed GTKRadiant, you must configure it for use with Open Quartz.

  1. Copy OQROOT/pak0/maps/textures/free_wad.wad into OQROOT/openquartz/id1.  GNU/Linux users should create a symbolic link instead of copying the file.  Without this step, GtkRadiant will not be show any textures.
  2. Start GtkRadiant.  (On GNU/Linux, the executable may be at  /opt/gtkradiant/radiant.x86).
  3. When GtkRadiant starts, go to "Edit -> Preferences...".  This pops up the "GtkRadiant Preferences" dialog.
  4. In the "GtkRadiant Preferences" dialog, go to "Global -> Game" and set the "Select the game" droplist to "Quake".
  5. In the "GtkRadiant Preferences" dialog, go to "Settings -> Paths" and set "Engine Path" to "OQROOT/openquartz".
Now you should be able to load a map from QQROOT/pak0/maps and see its textures.

The next step is to create a new map and integrate it into the Open Quartz build system.
  1. Follow the steps in the basic construction tutorial that is found in the online QERadiant manual and save the map in OQROOT/pak0/maps.
  2. Select "View -> Entity List" from the main menu.  This pops up the "Entity List" dialog.
  3. In the "Entity List" dialog, expand the top-level and select the worldspawn entity.
  4. While the worldspawn entity is selelcted, select "View -> Entity Inspector" from the main menu.  This pops up the "Entity Inspector" dialog for the worldspawn entity.
  5. Set the Key to "wad", set Value to "textures/free_wad.wad", and press ENTER (to set the "wad" attribute).  Without this, our build system won't be able to compile the map.
  6. Save the map.
  7. Open OQROOT/pak0/makefile in a text editor.
  8. Find the section that adds the maps to pak3.  It has a bunch of lines like "PAK3_CONTENTS += maps/devourer.bsp".
  9. Add an entry for your map and save makefile.  Be sure to add the ".bsp", not the ".map".  Your map will now be added to pak3.pak the next time you run "gmake all".
  10. Add your map's ".bsp" file to the "clean" target.
Now your map is part of the Open Quartz build.  Whenever your map changes, you can rebuild it with the follow steps.  Note that this is all done from the command-line, not GtkRadiant's build menu.
  1. Run "gmake all" in OQROOT/pak0.  This will compile your map and put it in pak3.pak.  If compiling fails because vis or light couldn't be run (for example, if you map has a leak in it), then running "gmake install" a subsequent time will erroneously succeed.  To recover from this, either delete your map's .bsp file or modify your map's .map file.
  2. Run "gmake install" in OQROOT/pak0.  This will copy the compiled pak files (and other data) to the game directory.
Once your compiled map has been installed, the quickest way to run the map is to go into the OQROOT/openquartz directory and run the following command:
    ./openquartz-glx +map mymap
And that's all you need to know to integrate a map into the Open Quartz build system.

Back to the Open Quartz main page