| New Game Quickstart Updated 24 Feb 2004 | Upper levels: - QuArK Information Base - 3. Advanced customization

3.2. New Game Quickstart | [ Prev - Up - Next ]

Here is a quick overview of how to support a new game; if the game uses pretty much the same technology as one that QuArK already supports, this might be enough, otherwise you might actually have to learn something about how QuArK works. But first, before actually doing anything, post to one of the QuArK Yahoo groups, or if you for some reason can't do that, e-mail Decker or tiglari to say what you want to do, in case somebody is already doing it.

Index

- - Delphi coding (24 Feb 2004)
- - Defaults.qrk (10 Nov 2002)
- - Game Data Addons (10 Nov 2002)
- - Distribution and Aftermath (10 Nov 2002)

Delphi coding | tiglari - 24 Feb 2004 | [ Top ]

At the minimum, there will have to be a gamecode for the game, defined in the source file prog/Setup.pas. Presently these are single-character alphanumerics assigned on the basis of what kind of engine is used: 1-9: Quake 1/HL A-Z: Quake 2 a-z: Quake 3 & other advanced Engines that do use shaders and might acquire curves should go into the last range (Quake 3 & other advanced). If the game has technology similar to one already supported by QuArK, then this may well be all that's necessary, and one of the current Delphi coders will be able to do it for you. Otherwise there may need to be coding for texture-display, model-viewing, terrain editing etc., and you might have to do some or even most of it yourself.

Defaults.qrk | tiglari - 10 Nov 2002 | [ Top ]

Then the game will need a `:config` and `:form` section in the file Defaults.qrk, grouped with the `:config` and `:form` sections for the games already supported. People usually copy the ones for the game that is most similar to the new one, and then change whatever needs to be changed. You should pick a recognizable abbreviation and use it consistently, e.g. SoF2 for Soldier of Fortune 2. Also, the game needs to be added to the " `QuakeCtx:form` -group `Game` -sub-group `Items` -variable" list (in Default.qrk).

Game Data Addons | tiglari - 10 Nov 2002 | [ Top ]

Finally you need to make addons for the game data. There are two of these, DataXXX.qrk, where XXX is your game's abbreviated name, and UserData XXX.qrk. The easiest way to make these is by copying ones from a similar game, and then adding/changing things to suit (the game abbreviation for starters). The most critical things in DataXXX.qrk are the texture and entity toolboxes. A workable texture toolbox for SoF2 is:
      Textures.qtx =
      {
        Toolbox = "Texture Browser..."
        Root = "SoF2 Textures.qtxfolder"
        SoF2 Textures.qtxfolder =
        {
          Textures and Shaders.osfolder =
          {
            path = "base"
          }
        }
      }
This will load up textures dynamically from the .PK3 folders. For better performance, you can use the 'make texture links' button in the texture toolbox and check 'static' to produce a list of the textures in the .PK3. For entities, if the game has a .DEF or .FGD file, you can use the 'File -> Convert from' facility from the QuArK-Explorer main menu, to produce a basic entity toolbox entry which in the case of SoF2 might start look like this:
      SoF2Entities.qtx =
      {
        ToolBox = "New map items..."
        Root = "SoF2 Entities.qtxfolder"
        SoF2 Entities.qtxfolder =
        {
          ;desc = "Created from entities.def"
          func_* entities.qtxfolder =
          .
          .
        }
      }
Whatever you get should be substituted for the entity tollbox folder in the file you're copying from, and later edited by hand to add missing entities, improved help, etc.

Distribution and Aftermath | tiglari - 10 Nov 2002 | [ Top ]

Once things get into a useable state, or possibly even before, somebody with SourceForge access will start committing your stuff to the repository, and it will begin to appear in snapshots. By `aftermath' I mean that if you initiate QuArK support for a game, people will tend to expect you to fix bugs in the game data, etc., and there always are some, so this can drag on for a while. People will also expect you to be able to answer basic questions about the peculiarities of editing the game, so if you don't want to assume the mantle of a guru, it's better to keep quiet and just use Radiant...

GNU General Public License by The QuArK (Quake Army Knife) Community - http://www.planetquake.com/quark | [ Prev - Top - Next ]