This project, ioquake3 (or ioq3 for short,) aims to build upon id Software’s Quake 3 source code release. The source code was released on August 20, 2005 under the GPLv2. Since then, we have been cleaning up, fixing bugs, and adding features.

Our permanent goal is to create the open source Quake 3 distribution upon which people base their games and projects. We also seek to have the perfect version of the engine for playing Quake 3: Arena, Team Arena, and all popular mods.

Here are some of the great improvements that the ioquake3 engine brings you:

  • Ports to new platforms
  • Off-server data downloads (http redirection) via HTTP and FTP with cURL
  • OpenAL sound rendering allowing for surround (5.1 and 7.1) speaker layouts and generally improved sound

    quality. Especially on the Windows Vista Operating System.

  • Ogg Vorbis audio decoding.
  • In-engine VOIP support, with optional Mumble player-location support.
  • IPV6 Networking. We’re ready to frag on the net of the future!
  • SDL backend for the OpenGL context, window management, and input. This also improves portability.
  • Anaglyph stereo rendering (for viewing with 3D glasses)
  • Full x86-64 architecture support
  • Rewritten PowerPC JIT compiler, with ppc64 support
  • Compilation with MinGW and cross-compilation for Windows for Linux
  • Improved console command auto-completion
  • Persistent console command history
  • Improved QVM (Quake Virtual Machine) tools
  • Colored terminal output on POSIX operating systems
  • GUID System
  • Multiuser support on Windows systems (user-specific game data is stored in their respective Application Data folders)
  • PNG format support for textures
  • Numerous security fixes
  • View media
  • View media
  • View media
  • View media
  • View media
  • View media
Post article RSS Articles

The Short Version

Our OpenGL 2 renderer will be the default starting this November. You can skip the rest of this post or read on for why we’re making this change, a timeline for the change, and instructions for trying it out today.

Why we’re changing the default.

If you want to play Quake 3: Arena, make your own games using the absolute best free-software FPS engine, run your own dedicated game server, or play other great games then ioquake3 is for you.

ioquake3 was founded on the notion of retaining the great gameplay and technology of id software’s Quake 3: Arena, while keeping the code portable, clean, and operational on modern platforms for players, developers, and server administrators.

That goal has put our team, and so many more contributors, to work for over a decade.

ioquake3 introduced a pluggable rendering subsystem in response to the desire for graphical renderers to support new technologies for new and updated platforms.

This allows a great degree of flexibility that isn’t found in most game engines. It also meant that we could retain the original OpenGL rendering pipeline alongside more modern rendering processes.

James Canete took up the challenge of putting together what has become the OpenGL 2 rendering system in 2010. These days it requires OpenGL 3 for the latest features but the name has stuck. James’ OpenGL 2 renderer has become the most obvious big feature we can point to when people aren’t wowed by a 17 year old game working on their computer anymore.

When Quake 3: Arena shipped in 1999 I picked up a copy of the game at Linux World Expo in New York City after chatting with the old Slashdot crew and played it with a 3DFX Voodoo graphics card.

It’s been 17 years since Quake 3: Arena shipped, over a decade since the source code was released by id, and my son will probably never know what a 3DFX Voodoo 3 3300 is or why his dad once thought about flying to another Linux convention just to win a Voodoo 5 5500 in a rigged contest run by a (now) defunct software developer. Those cards have less rendering potential than the phone in my pocket.

Why do we still maintain an outdated graphics rendering system that was written with that era of graphics accelerator in mind when we have a better alternative that fits the original goal of supporting modern systems while still offering optional new features to players and developers?

We must enjoy maintaining twice the code and making it more challenging for people to access the newer features of ioquake3 by adding additional barriers.

That’s going to change. In early October we will begin the transition to a default OpenGL 2 renderer.

This is a big change for a project that has sought to always deliver a vanilla experience by default. We’re giving everyone some extra time to get used to this change, and to give us feedback about it.

October 1, 2016: The default for new ioquake3 installs is OpenGL 2.

November 1, 2016: Disable the original renderer in configuration files for all ioquake3 installs.

Get Involved

This will get more players enjoying our improved rendering engine, which will be better for everyone as we continue to develop improvements to it. As with so many free software projects, it is by no means finished, we are aware that performance may suffer with certain hardware configurations, but it is capable of displaying Quake 3 as you see it today and improving that look.

By default OpenGL 2 does not include any intentional changes to the look of ioquake3, those will remain optional. Although contributions will focus on the new rendering system. the old rendering code will remain in source control. It’s not going away and you will continue to be able to use the old renderer after we change the default.

We still have much more that needs to be done with ioquake3, but if you have any questions or comments about this change please let us know now. The month of September is your opportunity to give us your feedback before we start the transition to the OpenGL 2 renderer, and we hope that by the end of October you will be as happy with the new renderer as we are.

If you would like to try the new renderer out now, then please follow these instructions for installing ioquake3 and a test build, these instructions for enabling the new renderer, and these tips for how to enable or disable the new rendering features. You can connect to our server at to play with others or play locally using the /map and /devmap console commands with regular Quake 3 maps like q3dm17 or third-party maps and mods. Some features of the new renderer are cheat protected because they might give players an advantage, so you will need to use the /devmap command to see them.

Servers don’t have to make any changes to support the new renderer. Developers making their own games should read the OpenGL 2 readme and contact us via the forums, live chat, or via reports on Github or Bugzilla with any feedback. Pull requests are particularly helpful :)

If you’d like to help ioquake3 out, please check out the Getting Involved page on our wiki.

Alpha 40 released!

Alpha 40 released!


Here's what's new in our fortieth monthly alpha release. Beta is on the horizon!

Maps of Unvanquished

Maps of Unvanquished

Unvanquished 1 comment

Unvanquished ships with its own stock set of ten maps. This article presents an overview of our current collection of maps, as well as how we've improved...

Summary of gameplay changes

Summary of gameplay changes


One thing we're asked often is, what changes have been made to the gameplay since Tremulous? Here's a look!

New year, new site! Alpha 35!

New year, new site! Alpha 35!


Here's what's in our latest release. In addition to a new website, we have the rocket pod, alien claws, and other updates.

Add game Games
Urban Terror

Urban Terror

First Person Shooter

Urban Terror is a free multiplayer first person shooter developed by FrozenSand, that (thanks to the ioquake3-code) does not require Quake III Arena anymore...



First Person Shooter

Tremulous is a free, open source game that blends a team based FPS with elements of an RTS. Players can choose from 2 unique races, aliens and humans...

ZEQ2 Lite

ZEQ2 Lite

Tactical Shooter

ZEQ2-Lite is an open-sourced and mod expandable project based on a highly modified ioQuake3 engine foundation and features many true-to-reference DBZ...

World of Padman

World of Padman

First Person Shooter

From the earliest PadMaps came the mod PadWorld, followed by the next colourful evolution, the World of Padman. Developed and headed by cartoonist and...

Diary - When past speaks

Diary - When past speaks


Diary - When past speaks an adventure horror game.

Smokin' Guns

Smokin' Guns

First Person Shooter

Smokin' Guns is intended to be a recreation of the "Old West's" great atmosphere. It is being developed on IoQ3's implementation of Id Softwares IdTECH3...




Welcome to the B.O.N.D page! This game will feature 4 fantastic Anime series, and combine them in an all out battle ! The fights will take place with...

Comments  (0 - 10 of 12)

The link goes to the unvanquished game.
Where is the link for ioquake3?

Reply Good karma Bad karma+1 vote

Great engine "fix"/tweak project.
However SDL makes it very difficult/nearly impossible to implement OpenGL 4.2 on ioquake3 rendering code.

Reply Good karma Bad karma+1 vote

have you seen rend2?

Reply Good karma Bad karma+1 vote

Как включить это?

Reply Good karma Bad karma+1 vote

+ ioquake3 engine game - OpenArena )

Reply Good karma Bad karma+1 vote

And where is Urban Terror_

Reply Good karma Bad karma+2 votes

but how to download there is no sign of download written

Reply Good karma Bad karma+2 votes

I think you have to own Quake 3.

Reply Good karma Bad karma0 votes

The download for the engine is on the website. It is open source, so you do not need to own Quake III.

Reply Good karma Bad karma+1 vote
TimeDoctor Creator

you need to own Quake 3 if you wish to play Quake 3: Arena or Team Arena, if you wish to play a standalone game based on this engine you do not need to own Quake 3.

Reply Good karma+1 vote
Post a comment
Sign in or join with:

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.

Follow Report Profile
Windows, Mac, Linux
Send Message
Release date
Engine watch
Community Rating



61 votes submitted.

You Say


Ratings closed.

Highest Rated (3 agree) 10/10

Does exactly what it should. Runs much better than the version from ID on linux, plays nicely with compiz and pulse audio and didn't break anything. What else could you ask for?

Oct 18 2011 by Pi1grim


Latest tweets from @ioquake3 Fix swapping AAS bboxes Found in RTCW SP.

10hours ago Fix command line variables not being set correctly +seta, +sets, and +setu were ignored because Com_AddStartupCo...

Feb 22 2017

RT @nuclearmonsters:

Feb 21 2017 Fix source filename/includepath length in l_precomp.c source_t filename and includepath are 1024 but MAX_PATH is...

Feb 19 2017

RT @Wario64: Devil Daggers is $2.49 on Steam

Feb 18 2017

Amazing but true!

Feb 15 2017

RT @GamesMemes: I can't believe Hudson Selection Vol. 4: Takahashi Meijin no Bouken Jima was made in ioquake3!?

Feb 14 2017



Embed Buttons
Link to ioquake3 by selecting a button and using the embed code provided more...
47 of 862
Last Update
137 members
You may also like
Unreal Engine 4
Unreal Engine 4 Commercial
RPG in a Box
RPG in a Box Commercial
Clausewitz Engine
Clausewitz Engine Proprietary
Raycasting Game Maker
Raycasting Game Maker Public Domain
Unreal Engine 2
Unreal Engine 2 Commercial
GameMaker Studio 2
GameMaker Studio 2 Commercial