Wikia

OpenArena

DeveloperFAQ

Talk2
313pages on
this wiki

This is the developer FAQ for everyone who likes to contribute to OpenArena. Normal users can get info from the default FAQ

Contents

General Questions Edit

Anything I need to know before I contribute? Edit

Altough OpenArena tries to replace the Quake 3 Arena content we are not bound to a certain style. Concepts would be loose, so don't expect a remake of Klesk in his original Klesk form, or any direct remakes of any map/weapon/model.

License Edit

In general, GNU General Public License v2 a.k.a. GPLv2 (NOT GPLv3) is the law here, but truly Public Domain (non copyrighted) stuff counts too. No other license is allowed in the project.

The reason for GPLv2 adoption is that it allows a wider distribution. GPL allows others to copy, change and redistribute your contributed work, like it is done in GNU/Linux. Other licenses like CC respect some of these points, but have restrictions for distribution, (CC NC, CC BY) or creation. (CC ND, CC SA) None of us in OA are making money from it, but the GPL allows OA to be mirrored without any legal risk or included as instalable in many commercial Linux distros, for example. Please take take this in consideration before contributing.

It shouldn't be needed to say, but just to clarify: Don't add content from commercial games. No matter the reason. It's copyright infringement, which is followed by lawsuits and C&D letters. Don't insist.

For GPLv2 stuff, to clarify things: if you release something, then you should release too the stuff you've used to make that asset. (a.k.a. the Source) For example: if you make a map and compile it, both aas and bsp are included, but you should include too the map file. In the case of having created textures, unless the textures were 1-layered, you should include the psd or xcf file of that texture. Remember to ALWAYS include the license file. (COPYING, gplv2.txt, etc; you can find it in the OA SVN as COPYING) And remember that YOU must be the one who submit what you've done, no one else, unless there's a wrote authorization for it.

It's suggested for development to grab the latest SVN build of OA. (You can't play online with it, but it contains all the stuff which will be included in future versions of OA) Do a checkout on http://openarena.ws/svn and http://www.mancubus.net/svn/openarena.

How can I contribute? Edit

The following list tells you the ways in which you can contribute with the game:

  • If you know about modelling, mapobjects and character assitance is appreciated. If you want to rework some of the already done work, (for example, player & item/weapon models) fine. The sources, in this area, are the .blend files from Blender. You can use other programs, as long as their license doesn't clash with GPLv2. (As in, imposing restrictions over derivatives or distribution) At any doubt, just check the forums.
  • If you know about sound creating/editing, then your help on, for example, weapon/item/ambiental sounds and voices is more than welcome. Here's a list of missing sounds, so far. Here's a sort of guide about missionpack audio lines.
  • If you have nice mapping skills with GTKRadiant, then your help is appreciated. There're some maps on OA's SVN waiting to be retexturized or reworked. If you want to do work on existing maps, that's nice too.
  • Or, even if you have or not any of the previously mentioned skills, you can throw your own suggestions/help on how to improve the existing stuff of OA, on the development forums.

And always remember to read the three main development articles on the main page of this Wiki: NOTTODO, Good Practices and this page. Also taking a look to OA3 page could be good.

Once you feel something you've created for the game it's done, you can post it in this thread on the Development forum, and fromhell will integrate it into OpenArena, if it meets the criteria needed. Just remember again: license file and the sources along with the finished work.

Another way to help the community is to contribute expanding this wiki site: take a look to the WikiWorks page, where you will find a list of pages that should be created and of pages that should be updated.

Who should I contact for more info? Edit

If you have some more detailed questions regarding specific areas of contribution, here's a list of experienced members you should contact on the boards:

Textures/GraphicsEdit

See also: Graphics resources & tutorials

The art direction of Open Arena is about "double" as Quake III Arena:
  • quadruple texture resolution, i.e. 512x512 as opposed to a 256x256
  • double the polycount of models, instead of 700-900 you'll have 1200-2000 poly players
  • Sound is probably mixed in 44khz rather than 22khz, but I dunno about that as 44khz seems to crash Q3A at this moment
Hopefully the detail should still be scalable with texture resolution and LoD's for slower computers (read: my p100 with voodoo2)

ModelingEdit

See also: Models, Modeling, Making a player model

How do I export md3s in Blender?Edit

See also: MD3 format

You can use the script found here. A few notes
  • All scripts must be copied to the scripts folder
  • To export an animated md3 you MUST load the md3 export script in the text editor then run it. Also you must select the last frame of animation your model has too
  • Tags are made from empties.
  • Work with your objects in 0,0,0 origin as much as possible. Moving them will cause the tags to be misaligned in export.
  • an alternative exporter/importer based on the previous -> import/export ( which is more up-to-date ).

Also, take note that the MD3 script is not fully compatible with latest Blender versions. Use 2.49.

MappingEdit

See also: Mapping resources & tutorials

How do I setup GtkRadiant for OpenArena?Edit

Here are articles to setup GTKRadiant on Windows & Linux, and MacRadiant on Mac.

CodingEdit

See also: Coding resources & tutorials

Engine differences compared to ioquake3Edit

The engine is close to ioquake3 but the following process has been completed:

  • Add Bloom support
  • Change defines in q_shared.h (PRODUCT_NAME etc.)
  • Remove pak0 check from files.c
  • Change defines in qcommon.h (PROTOCOL, AUTH server, UPDATE server and MASTER server)
  • Add extra protocols to common.c
  • Increase DEF_COMHUNKMEGS (56 is not enough for bloom)
  • Patch snd_codec.c so the engine will look for ogg files if no wav is found
  • Add g_humanplayers + g_needpass in client* and remover g_punkbuster from the same places
  • Change default sound from sound/feedback/hit.wav to sound/misc/silence.wav (so missing sounds are not to annoying)
  • Change save path in sys/*. Replace "Quake3" with "OpenArena" and ".q3a" with ".openarena"

How do I compile the sourcecode?Edit

The Open Arena source is located in a tar.bz2 file in the svn: http://www.openarena.ws/svn/source/ The 0.8.0 source is here: http://www.openarena.ws/svn/source/080/

You can check out the files by entering from the command prompt:

svn co http://www.openarena.ws/svn/source/081/ openarena

This will check out ioquake3svn1438.tar.bz2 in your openarena directory. To extract the files enter 'tar -xvf ioquake3svn1438.tar.bz2' That will extract all the files to a directory named 'ioquake3svn1438'.

If you have problems compiling the game look here. If nothing helps visit the forums.

On Debian, check for following dependencies :

  • libsdl2-dev
  • libopenal-dev
  • libvorbis-dev
  • libcurl-dev (there are different version, they should all work)
  • and of course build-essential
  • probably more ...

The compiling under Linux is as easy as typing 'make'. Change to the specific directory (e.g. ioquake3svn148) and enter the command 'make'. Provided you have all the required libraries the binary openarena.i386 (or openarena.x86_64) will be created in a subdirectory (e.g. ioquake3svn1438/build/release-linux-i386$ ). You may have to change the mode of the executable by entering the command 'chmod +x openarena.i386'

Windows userEdit

   Official v0.8.1 binaries: http://openarena.ws/svn/source/081/
   Snapshot binaries: http://openarena.ws/board/index.php?topic=1933.0
   (note: v0.8.5 bin is release v13)
   OAX mod: http://code.google.com/p/oax/
   or: http://openarena.ws/board/index.php?topic=1908.0
   export WINDRES=i586-mingw32msvc-windres

to

   export WINDRES=windres.exe
  1. Download the source you want (engine if you want binaries, modSDK if you want qvms) from one of these locations:
  2. Download and install MinGW and MSys with the installer found at: http://sourceforge.net/projects/mingw/files/latest/download
    In the installer, check:
    • Under MinGW Compiler Suite: check C Compiler and C++ Compiler
    • MSYS Basic System
    • MinGW Developer Toolkit
  3. Start the MSys Terminal ( Start/Programs/MinGW/MSYS/MSYS ) or in Startup Menu: MinGW > MinGW Shell
  4. Change to the directory where the source code is located (you can copy it to your MSYS user folder located at x:\MinGW\msys\1.0\home\username\
  5. Edit the file cross-make-mingw.sh:
  6. Run 'make clean'
  7. Run 'sh cross-make-mingw.sh'
  8. a new directory named "build" should appear
  9. If everything goes well, the build folder will contain either the qvm files that can be placed in vm/*.qvm inside a pk3 file or the binaries depending on source package used.
  10. If there were errors, look the errors in the terminal and try to google them or post on the forum.

MusicEdit

Please keep in mind that we want to create content under the GPLv2. This means you have to provide a source of your work. The only format OpenArena currently accepts for music therefor is a tracker-format. For more information please use the forum.

See alsoEdit

External linksEdit

Advertisement | Your ad here

Photos

Add a Photo
884photos on this wiki
See all photos >

Recent Wiki Activity

See more >

Around Wikia's network

Random Wiki