{{ https://raw.githubusercontent.com/fabricecaruso/es-theme-carbon/master/art/logos/quake3.svg?nolink&260 }}
====== Quake III ======
Quake III Arena (1999) by id Software is a multiplayer-focused first-person shooter known for its fast-paced arena combat. Batocera supports two engines: **ioquake3** (OpenGL-based source port) and **vkQuake3** (with Vulkan support).
This system scrapes metadata for the "ports" group(s) and loads the quake3 set from the currently selected theme, if available.
Grouped with the "ports" group of systems.
{{ https://raw.githubusercontent.com/fabricecaruso/es-theme-carbon/master/art/consoles/quake3.png?nolink&350 |}}
==== Quick reference ====
* **Emulators:** [[#ioquake3|ioquake3]], [[#vkquake3|vkQuake3]]
* **Folder:** ''roms/quake3/''
* **Accepted ROM formats:** ''.quake3''
===== BIOS =====
No Quake III emulator in Batocera needs a BIOS file to run.
===== ROMs =====
You need the original Quake III Arena game data files. You can purchase the game from [[https://store.steampowered.com/app/2200/Quake_III_Arena/|Steam]] or [[https://www.gog.com/en/game/quake_iii_gold|GOG.com]].
Copy the ''baseq3'' and ''missionpack'' folders into ''/userdata/roms/quake3/''.
To start a game, create a file with the ''.quake3'' extension. Inside this file, add the command line that tells the engine which game/mod to launch.
==== Directory structure ====
/userdata/roms/quake3/
├── baseq3/
| ├── pak0.pk3
| └── (other pk3 files)
├── missionpack/
| └── pak0.pk3
├── Quake III Arena.quake3
└── Quake III Team Arena.quake3
==== Launch file contents ====
Unlike other ports, Quake III launch files are **not empty** — they contain command-line arguments:
* For **Quake III Arena**: the file should contain ''+set fs_game "baseq3"''
* For **Quake III: Team Arena**: the file should contain ''+set fs_game "missionpack"''
* For **mods**: the file should contain ''+set fs_game ""''
Repeat this step for each mod you wish to play, giving the file a logical name to help with artwork scraping.
Menu options in Team Arena and other mods can only be selected using a mouse. Once the game is started, the controller will function normally.
===== Saves =====
Save location ''system/configs/ioquake3/''
===== Emulators =====
==== ioquake3 ====
ioquake3 is the main Quake III source port using OpenGL rendering.
Standardized features available: ''quake3.videomode'', ''quake3.padtokeyboard'', ''quake3.bezel'', ''quake3.bezel_stretch'', ''quake3.hud'', ''quake3.hud_corner'', ''quake3.bezel.tattoo'', ''quake3.bezel.tattoo_corner'', ''quake3.bezel.tattoo_file'', ''quake3.bezel.resize_tattoo''
^ ES setting name ''batocera.conf_key'' ^ Description => ES option ''key_value'' ^
^ Settings that apply to all cores of this emulator ||
| **GRAPHICS MEMORY ''quake3.ioquake3_mem''** | Select how much graphics memory is allocated for the GPU. May need modifying for some games/systems. \\ => 64MB ''64'', 128MB ''128'', 256MB (Default) ''256'', 512MB ''512''. |
==== vkQuake3 ====
vkQuake3 adds Vulkan rendering support on top of ioquake3. Requires Vulkan support on your system.
Standardized features available: ''quake3.videomode'', ''quake3.padtokeyboard'', ''quake3.bezel'', ''quake3.bezel_stretch'', ''quake3.hud'', ''quake3.hud_corner'', ''quake3.bezel.tattoo'', ''quake3.bezel.tattoo_corner'', ''quake3.bezel.tattoo_file'', ''quake3.bezel.resize_tattoo''
^ ES setting name ''batocera.conf_key'' ^ Description => ES option ''key_value'' ^
^ Settings that apply to all cores of this emulator ||
| **GRAPHICS API ''quake3.vkquake3_api''** | Choose which graphics API library to use. \\ => OpenGL ''opengl2'', Vulkan ''vulkan''. |
| **GRAPHICS MEMORY ''quake3.ioquake3_mem''** | Select how much graphics memory is allocated for the GPU. \\ => 64MB ''64'', 128MB ''128'', 256MB (Default) ''256'', 512MB ''512''. |
===== Controls =====
Here are the default Quake III controls shown on a [[:configure_a_controller|Batocera Retropad]]:
The game is pre-configured to work with a gamepad via the built-in joystick support:
^ Gamepad button ^ Action ^
| Left analog stick | Move / Strafe |
| Right analog stick | Look |
| {{:wiki:a.png?nolink&30}} A (South) | Jump |
| {{:wiki:x.png?nolink&30}} X (West) | Crouch |
| {{:wiki:y.png?nolink&30}} Y (North) | Use item |
| L1 | Next weapon |
| R1 | Previous weapon |
| {{:wiki:l2.png?nolink&30}} L2 | Walk (hold) |
| {{:wiki:r2.png?nolink&30}} R2 | Fire |
For the best experience, a mouse and keyboard is recommended. Game controllers work but some menu navigation (especially in Team Arena) requires a mouse.
===== Troubleshooting =====
==== My game does not launch ====
* Make sure the ''baseq3'' folder exists and contains the ''.pk3'' files.
* Verify that the ''.quake3'' launch file contains the correct command, e.g. ''+set fs_game "baseq3"''.
* vkQuake3 requires Vulkan support — if your system does not support Vulkan, use ioquake3 instead.
==== Further troubleshooting ====
For further troubleshooting, refer to the [[:support|generic support pages]].