Quake исходный код
To get started, download the source code for an engine. This might be available as a compressed package or in a revision control repository. Make sure your platform and operating system are supported, make sure you have the required dependencies (make, OpenGL, etc.), and then follow the provided build instructions. All of these things will vary from engine to engine. Make sure the engine compiles and runs on your machine before you begin making modifications, lest you think you made a mistake when you did not.
You can use your text editor to alter the files, but you might want an integrated development environment. A good place to start is the makefiles, which determine how the program is compiled. It shows how all the files in the project are related to each other. You can begin by making changes to the files, recompiling, running the program, and seeing what has changed. It might be beneficial to use a revision control system to organize and track your changes.
Quake 2:
Yamagi Quake II [yquake2/yquake2]
The Yamagi Quake II client
KMQuake 2 is a Quake 2 Source port created by Knightmare. The goal of the sourceport was to add more limits for mappers to use in their custom maps. Along with that, the source port has also many new rendering effects such as shadows, dynamic lights, high-res texture support, improved interface, and more features.
Quake2xp @sourceforge [quake2xp]
QuakeIIxp is a multi-platform (windows, linux and freeBSD (experemental)) graphics port of the game Quake II developed by Id Software. Completely updated rendering takes full advantage of the latest graphics cards to get the perfect picture, preserving the original style of the game.
Q2PRO [skullernet/q2pro]
Enhanced Quake 2 client and server focused on multiplayer
vkQuake2 [kondrak/vkQuake2]
id Software's Quake 2 v3.21 with mission packs and Vulkan support (Windows, Linux, MacOS)
Quetoo [jdolan/quetoo]
Quetoo ("Q2") is a free first person shooter based on id Tech2. GPL v2 license.
DirectQII [mhQuake/DirectQII]
Quake 2 sourceport using Direct3D renderer
vitaQuakeII [Rinnegatamante/vitaQuakeII]
Quake II port for PSVITA.
Jake2 @sourceforge [jake2]
iqq2 [coltongit/iqq2]
A fan continuation of support for the original Quake 2 - updated to 3.21
Cake [raynorpat/cake]
A portable and advanced Quake 2 engine base for mods to build upon
Quake2c [Paril/quake2c]
Quake II game DLL that runs a QuakeC VM
Quake-2 (original) [id-Software/Quake-2]
Mods and games.
Freeze Tag [dbircsak/freeze-tag]
Freeze Tag modification for Quake 2 and Quake 3
Quetoo-data [jdolan/quetoo-data]
Quetoo ("Q2") game data. Creative Commons Attribution license.
Mission64-src [m-x-d/Mission64-src]
gamex86 source for Mission 64 Quake 2 mod
Mission64-data [m-x-d/Mission64-data]
Game data for Mission 64 Quake 2 mod
OpenRA2 [packetflinger/openra2]
An open source remake of the Rocket Arena mod for Quake 2
Rocket-Arena-2-data [QuakeMods/rocket-arena-2-data]
Game data for Rocket Arena 2 Quake 2 mod
DDaynormandyFPS [PowaBanga/DDaynormandyFPS]
This is the complete source of DDay: Normandy FPS. It is a Quake II total conversion.
Quake2c-progs [Paril/quake2c-progs]
Quake II QC progs.dat
Quake 1:
Quakespasm @sourceforge [quakespasm]
QuakeSpasm is a *Nix friendly Quake Engine based on the SDL port of the popular FitzQuake. It includes some new features, important fixes, and aims for portability and 64 bit correctness.
vkQuake [Novum/vkQuake]
Vulkan Quake port based on QuakeSpasm
Quakespasm-Spiked [Shpoike/Quakespasm]
Mirrors: QuakeEngines/Quakespasm-Spiked-clone, Other forksOfficial website: triptohell.info/moodles/qss
FTE @sourceforge [fteqw]
Unofficial mirror on github: QuakeEngines/FTE-cloneOfficial website: fte.triptohell.info
FTE QuakeWorld is a QuakeWorld derivative which mainly focuses on modding and additional features for both users and servers. Supports NetQuake gamecode and protocol, Hexen 2/Quake 2/Quake 3 maps and models, many QuakeC builtin extensions, and more.
ezQuake [ezQuake/ezquake-source]
Mirrors: QuakeEngines, Other forksOfficial website: ezquake.github.io / Unofficial Discord server: Quake.World
Classic Quake engine derived from FitzQuake, also has a software renderer (WinQuake version). Does many things and tries to do each of them very well.
DarkPlaces @gitlab [xonotic/darkplaces]
JoeQuake [j0zzz/JoeQuake]
Quake engine mod targeted for speedrunning
QuakeForge [quakeforge/quakeforge]
QuakeForge is a set of 3D graphics game engines based on id Software's legendary Quake series of game engines.
MHQuakeSpasm [mhQuake/MHQuakeSpasm]
MH fork of latest QuakeSpasm
Tyr-Quake is a branch of the Quake source code released by id. It's intended to support Quake and Quakeworld while fixing little bugs that have come up over the years.
Libretro Tyrquake [libretro/tyrquake]
Libretro port of Tyrquake (Quake 1 engine)
qengine [klaussilveira/qengine]
Retro game engine for developers that enjoy creating games like it's 1997.
Super8 [qbism/super8]
qbism super8 engine based on Makaqu and Quake source code
GLQuake3D [dpteam/GLQuake3D]
WinQuake/GLQuake-based source-port of game Quake
WebQuake [Triang3l/WebQuake]
HTML5/WebGL source port of Quake.
vitaQuake [Rinnegatamante/vitaQuake]
Port of Quake for Playstation Vita
vitaQuakePlus [Diabolickal/vitaQuakePlus]
ChadQuake [adolfintel/ChadQuake]
Fork of Mark V WinQuake
Xonotic @gitlab [xonotic/xonotic]
Main repo - contains build scripts and tools to manage the other repos (which contain the actual code and assets)
Engoo [leilei-/Engoo]
Pointless and heavily modified software-rendered source port based on the QIP source release based on Quake GPL Source Release currently working on the Windows platform only.
QuakeJS [inolen/quakejs]
QuakeJS is a port of ioquake3 to JavaScript with the help of Emscripten
Quake (original) [id-Software/Quake]
Quake GPL Source Release
Older engines.
Fitzquake is a modified glquake based on the source code released by id Software
SoftQuake [Azarien/SoftQuake]
Fitzquake is a modified glquake based on the source code released by id Software
ProQuake is modification of GLQuake/WinQuake by JP Grossman that really evolved into the gold standard classic Quake client for online play. In December 2007, this project became the official continuation of ProQuake.
QMB [DrLabman/QMB]
DirectQ [AAS/directq]
DirectQ quake engine made by MH. Archive made for historical studies.
Vengeance-r2 [DrLabman/Vengeance-r2]
Vengeance r2 - Quake Engine Source Modification. Enhanced, scriptable Particle System, GLSL Per-pixel lighting, Improved file format support including: MD2, MD3, Half-Life BSP, PK3.
Quake sourceport based on JoeQuake and QMB
ZQuake @sourceforge [zquake]
ZQuake paved the way as the most solid Client base and is the heart and soul of the 2 most popular clients FuhQuake and ezQuake.
FuhQuake is a win32/linux QuakeWorld client that aims not only to have a plethora of gameplay and console improvements, but to also incorporate stunning visual effects and eyecandy. Created by fuh a norai.
KatanaEngine [Acidburn0zzz/KatanaEngine]
Mods and games.
Arcane Dimensions [SimsOCallaghan/ArcaneDimensions]
Arcane Dimensions MOD for Quake 1
progs_dump [dumptruckDS/progs_dump_qc]
progs_dump is a QuakeC compilation intended to give Quake mappers more creative options than “vanilla” Quake, while retaining the look, feel and gameplay of the original.
FortressOne [FortressOne/server-qwprogs]
Classic Fortress qwprogs. Based on TF 2.9.
OzTF [FortressOne/oztf]
Full Source Code of OzTF 1.76
Transfusion @sourceforge [blood]
The goal of this project is to recreate the fun gameplay of Monolith's Blood thanks to the Quake engine.
Editing your own Quake engine (2013) [ edit ]
We are going to use FitzQuake Mark V's source code and Windows for this example as GLQuake's source code doesn't compile without many modifications.
2. FitzQuake Mark V source code Decompress the source.zip included.
Visual Studio Express 2012: Open Fitzquake_Visual_Studio_2012.vcxproj and press F5 [or click Build->Build Solution] to compile + run.
CodeBlocks + MinGW: Open Fitzquake_CodeBlocks.cbp and press F9 (or click Build->Build and Run).
That's it, the Mark V source compiles out-of-the-box. There are engine tutorials here and an engine discussion forum here.
Editing your own Quake engine [ edit ]
- Get MinGW or buy Visual C++
- Dowload whatever you want engine sources
- Suggestion:
- CleanSrc Simple and most likely to fit with general information about the Quake engine.
- TomazQuake(web) - Like CleanSrc it will fit with general information about engine development but with enhancements and extra features already added. Will build on Windows (Visual Studio).
- QMB(web)(git) - Moving away from the standard source layout, originally based on CleanSrc. Will build on Unix and Windows (GMingW).
- DarkPlaces(web) - One of the most comprehensive feature sets. Unlikely to fit with general information about Quake engines. Better suited to experienced programers who want the features it offers.
- FuhQuake(web) - Great starting point for QuakeWorld
- Use your project *.s files? -> then you have to build these with Gas, also included often. Or remove these and substitute by c
- Is your project for another compiler? (Darkplaces compiles on both Visual C and GCC for example, but some others only compile for Visual C)
- Ask at InsideQC
Understanding the code structure [ edit ]
This is a partial list of source files and brief explanation of what they do. They will vary from engine to engine, so don't worry if you can't find a particular file. If you are missing any files but have one with a similar name, it probably performs the same function.
This is list of github repositories of idTech engines, it's derivatives and sourceports. It also includes repos of some of the games and mods based on Quake and Quake-related engines.
If you just want to download executable files or compiled mods instead of source code - use Official website link if it exists or "Latest release" link on github. This page has more detailed instructions.
This is not a complete list, and it is gradually expanding and updating. There are mirrors of included repos made on github for archiving purposes: QuakeEngines for sourceports and map editors, QuakeMods for mods, QuakeTools for tools. They are periodically updated by "merge and rebase" with their original source repos.
Similar list for Half-Life related repositories - HLSources.github.io
Also check out "Other forks" link for each item, leading to JS app, which can sort forks by popularity.
Please post your suggestions and fixes on gihub issues page or in the comments section below.Quake 3:
ioquake3 [ioquake/ioq3]
ioq3-premake-msvc [jpcy/ioq3-premake-msvc]
A Premake script for generating Visual Studio projects for ioquake3
Quake3e [ec-/Quake3e]
Mirrors: QuakeEngines, Other forks
Official Discord server: edawnImproved Quake III Arena engine
Daemon [DaemonEngine/Daemon]
Mirrors: QuakeEngines, Other forks
Official Discord server: UnvanquishedThe Dæmon game engine. With some bits of ioq3 and XreaL.
Spearmint [zturtleman/spearmint]
Mirrors: QuakeEngines, Other forks
Official website: clover.moe/spearmint / Official Discord server: Fragmint★WonderlandSpearmint, an updated id Tech 3 engine for continuing the classics and creating new games.
OpenArena/engine [OpenArena/engine]
vitaQuakeIII [Rinnegatamante/vitaQuakeIII]
ioquake3 port for PSVITA (Currently supporting Quake III: Arena, Quake III: Team Arena, OpenArena, Urban Terror and Q3Rally)
vkQuake3 [suijingfeng/vkQuake3]
Q3lite [cdev-tux/q3lite]
Q3lite, an OpenGL ES port of Quake III Arena for embedded Linux systems.
dfengine [ykram/dfengine]
Defrag specific Quake 3: Arena engine.
XreaL [raynorpat/xreal]
XreaL is a heavily improved Quake 3 Arena engine. It's bundled with new tools and a demo game that was never finished.
DXQuake3 [coltongit/dxquake3]
DXQuake3, a Quake III engine in DirectX by Richard Geary
Quake-III-Arena-Kenny-Edition [kennyalive/Quake-III-Arena-Kenny-Edition]
The cradle of Quake III Arena
Qio [KuehnhammerTobias/qio]
An umodified copy of the Qio source code (by Vodin).
QuakeConstruct [zturtleman/quakeconstruct]
Unofficial mirror. Quake Construct is a quake3 mod that allows anyone with at least some knowledge of the lua programming language to create *simple, small modifications for the Quake 3 engine.
cake3 [raynorpat/cake3]
XreaL based cleanup project
Ioid3-qw [KuehnhammerTobias/ioqw-devel]
An updated id Tech 3 game, based on Zack Middleton's Spearmint engine (for developers only).
vkOpenArena [suijingfeng/vkOpenArena]
ioQuake3DS [masterfeizz/ioQuake3DS]
ioquake3 port for Nintendo DS
WolfcamQL [brugal/wolfcamql]
quakelive/quake3 demo player
RBQUAKE-3 [RobertBeckebans/RBQUAKE-3]
About Personal Quake III Arena toy engine based on my old XreaL Q3A project (2006 - 2011)
ioq3-for-UrbanTerror-4 [FrozenSand/ioq3-for-UrbanTerror-4]
Mirrors: QuakeEngines, Other forks
Official website: urbanterror.info
ioquake3 for UrbanTerror [mickael9/ioq3]
This is an up-to-date fork of ioquake3 for UrbanTerror with changes from the ioUrbanTerror engine
Quake3e-UrT [travmon/quake3e-urt]
Improved Quake III Arena engine (Quake3e for UrT)
ioq3-renderer-bgfx [jpcy/ioq3-renderer-bgfx]
A renderer for ioquake3 that uses bgfx
iodfengine [runaos/iodfe]
iodfengine is a defrag-oriented engine, a fork of ioquake3 with some dfengine features and some new things
SWiSH_ioUrT [spekode/SWiSH_ioUrT]
UrTDevs-Client [urtdevs/UrTDevs-Client]
A improved Client for Urban Terror 4.1.1/4.2.003 (WiP)
planet_quake [briancullinan/planet_quake]
Combination of graphics and features from many different games.
Quake-III-Arena (original) [id-Software/Quake-III-Arena]
Quake III Arena GPL Source Release
Mods and games.
OpenArena/gamecode [OpenArena/gamecode]
The game code for the QVM-files
Unvanquished [Unvanquished/Unvanquished]
An FPS/RTS hybrid game powered by the Daemon engine (a combination of ioq3 and XreaL)
Smokin' Guns [smokin-guns/SmokinGuns]
Official Smokin' Guns team engine repository, master branch was directly imported from SourceForge Subversion repository, pull requests will be reviewed and integrated in future Smokin' Guns releases.
baseq3a [ec-/baseq3a]
Unofficial Quake III Arena gamecode patch
EntityPlus [TheEnginesOfCreation/EntityPlus]
EntityPlus is a mod that offers a true single player experience in the Quake III Arena videogame
Tremulous [darklegion/tremulous]
Tremulous is a free, open source game that blends a team based FPS with elements of an RTS
PainKeep Arena @moddb [painkeep-arena]
Source code of Painkeep Arena mod for Quake 3
Rune [ElderPlayerX/Rune]
The Rune mod for Quake 3 Arena
planet_quake_data [briancullinan/planet_quake_data]
Game data for planet quake.
Afterwards [ElderPlayerX/Afterwards]
The Afterwards mod for Quake 3 Arena
Invasion [ElderPlayerX/Invasion]
The Invasion mod for Quake 3 Arena
vkOpenArena [suijingfeng/vkOpenArena]
Freeze Tag [dbircsak/freeze-tag]
Freeze Tag modification for Quake 2 and Quake 3
Aftershock XE [Irbyz/aftershock-xe]
Mirrors: QuakeEngines, Other forks
Official Discord server: vihmu
AfterShock XE is a fork of the AfterShock mod for OpenArena FPS game.
Quake 3 Nemesis [dledmonds/quake3-nemesis-1.16n]
Quake 3 1.16n Nemesis client mod
Stellar-Prey [QuakeMods/Stellar-Prey]
GrangerHub's STELLAR PREY™ game is a first person strategy shooter, originally based on darklegion development's Tremulous game and built on TheDushan's OpenWolf Engine.
Quake 3 Revolution [xzero450/revolution]
mint-metal [zturtleman/mint-metal]
Incomplete Heavy Metal F.A.K.K.² / American McGee's Alice game code for Spearmint.
MilitaryForces [marek/MilitaryForces]
MilitaryForces2 [osfpsproject/MF2]
Successor of MQF3 standalone game.
SpaceTrader-GPL-1.1.14 [ballju/SpaceTrader-GPL-1.1.14]
Space Trader is is a combination of first person action and trading game, was open-sourced in 2008
Omni-bot [jswigart/omni-bot]
Omni-bot is a first person shooter bot frameworkfor AI controlled multiplayer opponents in several popular FPS games and engines
No_Favorite
- Graphic Violence
- Explicit Sexual Content
- Hate Speech
- Misinformation/Disinformation
Publication date 1999 Topics Quake, WinQuake, QuakeWorld, GLQuakeWorld, GLQuake, Source Code Collection gamesourcecode; softwarehistory Language English
This is the complete source code for winquake, glquake, quakeworld, and
glquakeworld.
The projects have been tested with visual C++ 6.0, but masm is also required
build with only C code, but the software rendering versions lose almost half
its speed. The OpenGL versions will not be effected very much. The
gas2masm tool was created to allow us to use the same source for the dos,
linux, and windows versions, but I don't really recommend anyone mess
with the asm code.
The original dos version of Quake should also be buildable from these
sources, but we didn't bother trying.
The code is all licensed under the terms of the GPL (gnu public license).
You should read the entire license, but the gist of it is that you can do
anything you want with the code, including sell your new version. The catch
is that if you distribute new binary versions, you are required to make the
entire source code available for free to everyone.
Our previous code releases have been under licenses that preclude
commercial exploitation, but have no clause forcing sharing of source code.
There have been some unfortunate losses to the community as a result of
mod teams keeping their sources closed (and sometimes losing them). If
you are going to publicly release modified versions of this code, you must
also make source code available. I would encourage teams to even go a step
farther and investigate using public CVS servers for development where
The primary intent of this release is for entertainment and educational
purposes, but the GPL does allow commercial exploitation if you obey the
full license. If you want to do something commercial and you just can't bear
to have your source changes released, we could still negotiate a separate
license agreement (for $$$), but I would encourage you to just live with the
All of the Quake data files remain copyrighted and licensed under the
original terms, so you cannot redistribute data from the original game, but if
you do a true total conversion, you can create a standalone game based on
I will see about having the license changed on the shareware episode of
quake to allow it to be duplicated more freely (for linux distributions, for
example), but I can't give a timeframe for it. You can still download one of
the original quake demos and use that data with the code, but there are
restrictions on the redistribution of the demo data.
If you never actually bought a complete version of Quake, you might want
to rummage around in a local software bargain bin for one of the originals,
Читайте также: