Quake исходный код

Обновлено: 19.05.2024

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 forks
Official website: triptohell.info/moodles/qss

FTE @sourceforge [fteqw]

Unofficial mirror on github: QuakeEngines/FTE-clone
Official 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 forks
Official 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: edawn

    Improved Quake III Arena engine

    Daemon [DaemonEngine/Daemon]

    Mirrors: QuakeEngines, Other forks
    Official Discord server: Unvanquished

    The 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★Wonderland

    Spearmint, 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,

    Читайте также: