Welcome!

This is the homepage of the open source Zircon engine ("DarkPlaces Mark V Project"), most of the 100+ enhancements are user-interface such as mouse driven menu and ALT-ENTER or user/mapper/developer convenience retaining full-compatibility with DarkPlaces.

Visual Guide: Features


Current Version: October 2 2023 v 60. Now with Quake Remaster support, "r_waterwarp 2", "r_waterdeform 2". Quake Remaster HUD via "sbar_quake 2" and automatic 2D scaling.
Linux compile source via "make sdl-release"


Quake3_Quake1 Mapping Resources is taking form. Tutorials on books/npc mouse driven dialog are up.

  • View media
  • View media
  • View media
  • View media
  • View media
  • View media
Post article RSS Articles

Quake 3 Map Compiler Upgrade (Download: Zircon Beta #58 - Win64)

Q3MAP2.exe (the Q3 map compiler) will not load scripts/*.shader files that are not listed in scripts/shaderlist.txt -- meaning one must manually edit the .txt file as an extra step to use a new .shader file. Zircon and DarkPlaces load all .shader files in the scripts folder. (Quake3_Quake1 Tutorials)

New: q3map2.exe loads all .shader files in scripts folder (Download Q3Map2 No ShaderList.Txt).


Q3Map2.exe 64-Bit For Windows (June 8 2024) - Features

  • Does NOT use scripts/shaderlist.txt, instead uses EVERY .shader file in the scripts folder. It does NOT search pk3 files for .shader files.
  • Unlike most q3map2.exe compilers, supports the Valve 220 map format meaning it can be used to compile maps made with the J.A.C.K. map editor.
  • 64-bit means it can compile some truely large maps because unlike the 32-bit version that comes with J.A.C.K. it can access more than 2 GB or 4 GB of memory during map compile time (the limit for 32-bit applications on Windows varies but is always 4 GB or less and is normally 2 GB or less).

  • It stores the q3map2.exe compile command line into the map as a worldspawn key. There is nothing more frustrating than revisiting an a map you made, say, 6 months later and then not remembering what q3map2.exe command you used. This will never be a problem with this compiler. (In Zircon, type "map" with a map loaded and it will print out the worldspawn keys.)

I use the J.A.C.K. map editor, but this Q3MAP2 compiler should work just fine with TrenchBroom or the traditional Q3 map editor.

Various Notes About The Quake 3 Map Format

Here is a map that is huge. It is 15 percent of the size of the largest Q3 map I have created.

Q3: Light Reflection Data Into Map (Deluxe Mapping)

With DarkPlaces, this would like textures/texturecan/checkerboard_gloss.jpg or such.

Q3: Patches - Non-Brush Collidable / Lightmapped Polygons

These can be in a func_door or func_illusionary - they can move.

AFAIK TrenchBroom does not support patches at this time.

Q3: Curved Surfaces: They Are All Patches

Any curved edge you see in a Quake 3 map is a patch.

q3curve

Every "curved" brush here is NOT a brush at all. It is a patch.

Q3: Zircon Can Do Quake 1 Buttons Where Texture Changes

DarkPlaces cannot at this time, but I communicated the method I used to the DarkPlaces dev team.

This func_button uses a shader specifying the texture for frame 0 (unpressed button frame) and for frame 1 (pressed button frame):

textures/trak5x_sh/button
{
	{
		framemap textures/trak5x/misc_button1.tga textures/trak5x/wall_wall7a.tga
	}
}

Q3: Animated Textures

Link: Animated textures in Q3 article from July 2023

Q3: Can a Quake 3 Map Do Quake 1 Action? (Yes)

A mini-campaign playable tech demo: Link: Quake3_Quake1 Tech Demo Download (Open Source/.Maps)

Q3: What Compiler Command Lines Look Like?

The -game nexuiz enables extra Q3 map compiler features that DarkPlaces supports. "-meta" must always be used for BSP. -mv and -mi are increased limits. -fs_game "id1" or -fs_game "quake3_quake1" is gamedir.

BSP:

C:/Program Files/J.A.C.K/quake3/q3map2_64_light_auto.exe -game nexuiz -fs_basepath "C:/quake/" -fs_game quake3_quake1 -meta -v -mv 1000000 -mi 6000000

VIS:

C:/Program Files/J.A.C.K/quake3/q3map2_64_light_auto.exe -game nexuiz -fs_basepath "C:/quake/" -fs_game quake3_quake1 -vis -saveprt -fast

LIT:

Quick light ...

C:/Program Files/J.A.C.K/quake3/q3map2_64_light_auto.exe -game nexuiz -fs_basepath "C:/quake/" -fs_game quake3_quake1 -light -deluxe -faster -cheapgrid -filter -gamma 0.7

Good light ..

C:/Program Files/J.A.C.K/quake3/q3map2_64_light_auto.exe -game nexuiz -fs_basepath "C:/quake/" -fs_game quake3_quake1 -light -deluxe -fast

The Quake 3 is massively more efficient with vertex and triangle counts compared to the Quake 3 map format, which chops up every surface for the WinQuake software renderer that no one uses anymore.

Q3: Terrain Blending

I am not a master of this. There are tutorials written by Sock (Arcane Dimensions author).

Those tutorials are available at link: Web.archive.org

q3terrain

Q3: Vegetation and The Vertex Animation Shader

If you look carefully, the leaves are moving a bit. It is not the model, it is the shader.

vertex animation

Q3: .fgd Definition File For J.A.C.K. (TrenchBroom can load .fgd files)

There is one in Quake3_Quake1 Demo (open source with .maps) in the quake3_quake1\scripts folder. It should be fully Quake compatible and additionally knows the Quake 3 extra worldspawn keys, the Quake 3 special entities and fields (this .fgd has extra capabilities for the Quake3_Quake1 also).

Q3: Textures

These textures DO NOT use shaders at all <-- !!!

They are from TextureCan.com and I renamed the _Normal_OpenGL to textures\texturecan\ something_norm.jpg and the ambient occlusion to textures\texturecan\ something_gloss.jpg. The ambient occulusion does not fully equate to _gloss so this may or may not yield perfect results.

The _norm gives it depth. The _gloss gives it light reflection/refraction.

There are also textures at AmbientCG.


r_glsl_deluxemapping 1 must be on. This is the map "park.bsp" in the Intermap Demo. The source code for that is available in the download.

Q3: Embed Models Into A Map (.OBJ, .MD3)

This rock is part of the .bsp -- it is lightmapped and every crack and nuance of the rock collides perfectly -- but it is not a brush. It in .obj model from Link: OpenGameArt.

this rock is obj

I happened to convert this model to .md3 with Link:Noesis. Noesis is one of the most useful tools for model conversion, scaling, centering, rotating, etc. Blender can also be useful. As are online model converters which occasionally can do jobs that Noesis can't (like real weird model format to .obj conversion).

{
"classname" "misc_model"
"model" "models/outdoors/rock_03.md3" // <------- that compiles entirely into the map
"angles" "0 30 0"
"spawnflags" "6" // Flag 2 is solid (otherwise non-solid), Flag 4 is lightmapped = 2 + 4 = 6
"modelscale" "7" // Which is scale, this model has 7x magnification of size
"origin" "5043 4544 -641"
}

Embedded models have visibility just like the area they are in. For instance, an .obj or .md3 sink in a bathroom will not draw when you cannot see any part of the inside of the bathroom.

However, embedded models do not have their own visibility -- for instance you could not import a house model and expect that if inside the house.obj that it would work like inside a house made from brushes.

They can be a func_wall or func_illusionary, just like patches.

Q3: Structural Vs. Detail

Brushes can be structural or they can be detail. (All misc_model are effectively detail no matter what, and also patches).

Detail is an attribute you apply to brushes that are not walkways or walls or major surfaces. The excludes them from interfering and needlessly complicating visibility calculations, makes the map compile faster, makes it smaller.

Q3: Decals

Decals can be a flat brush near the surface or a patch. Decals can be animated, it is possible to make something that looks like a window shadow or a rotating fan shadow. Decals can be part of a func_plat or door.

Q3: Liquid Brushes (Water, Etc.)

Quake 3 BSP is incredibly lax with these. Also, there are shaders that can make the water level rise a bit and then recede a bit, in addition to the more commonly seen effects.

Q3: Embed Models - Let's Talk About This Bathroom

The sink and the bathtub are .OBJ (Kenney) embedded in the map as misc_model. The toilet here actually is a Quake entity (that means box collision so you cannot throw a grenade behind the toilet).

sink

However, because the sink is misc_model as part of the map, there is actually a bottle of pills in the sink that perfectly collides and that bottle of pill spawned above the sink and fell into the sink.

Quake 1 BSP cannot do sizes. It knows 3 sizes -- player, shambler and point. It is impossible to make a tiny Shambler running around or a giant Shambler running around because those sizes cannot collide and you will actually see mods with dragons or such where the mapper boxes the entire area that the dragon is in with clip brushes to entrap the dragons because the dragons cannot collide correctly with the world.

Note: Eventually ...

I found a higher triangle count models (but still within reason) for a sink and toilet model ...

This is the map "park.bsp" in the Intermap Demo.


"Baker UI" - The Road To An Elite User Interface

"Baker UI" - The Road To An Elite User Interface

News 4 comments

A discussion of optional user interface capability and the road to come for Zircon.

Rain/Sprinklers - DarkPlaces Materials Test Map By GremlinForester

Rain/Sprinklers - DarkPlaces Materials Test Map By GremlinForester

News

Rain and sprinkers effects in a materials test map showcasing some material effects that are possible in the DarkPlaces engine. Download the map (.pk3...

Zircon Release 44 - More Effects/Video/Linux/User Interface - Much More To Come

Zircon Release 44 - More Effects/Video/Linux/User Interface - Much More To Come

News

Zircon #44 has improved video cutscene support, a graphical mouse-driven menu with screenshots for load games, new graphical effect capabilities (and...

2024 Quake Omega Effects Challenge Series #1 of 20

2024 Quake Omega Effects Challenge Series #1 of 20

News

2024 Quake Omega Effects Challenge Series #1 of 20 is the Intermap Travel Demo now available for download.

Add file RSS Files
64-Bit J.A.C.K. q3map2.exe Compiler 2024/June 🔥 (No ShaderList.Txt!)

64-Bit J.A.C.K. q3map2.exe Compiler 2024/June 🔥 (No ShaderList.Txt!)

Mapping Tool

(This q3map2.exe can be used with any map editor like TrenchBroom or the traditional Quake 3 map editor). This is a 64-bit q3map2.exe map (Quake 3 format...

Zircon Beta engine source 20240607 WIP

Zircon Beta engine source 20240607 WIP

Source Code

Work in progress for a future release. Most of the changes in source code are for progs / player.mdl.md3tags -- a text file specifying attachment triangles...

Zircon Beta engine source 20240606 WIP

Zircon Beta engine source 20240606 WIP

Source Code

Work in progress for a future release. Most of the changes in source code are related to "modeldecompile" with per frame support.

Zircon Beta engine source 20240605 WIP

Zircon Beta engine source 20240605 WIP

Source Code

Work in progress for a future release. Most of the changes are related to documenting the DarkPlaces model rendering with comments and some friendlier...

Zircon Beta Release #58 🔥 (Win64 binary, source)

Zircon Beta Release #58 🔥 (Win64 binary, source)

Full Version

v_viewheight 6 for checking out Half-Life viewheight in a Quake map (adds 6 to the viewheight, Quake is 22 and Half-Life is 28). Visibility fix from DarkPlaces...

Zircon Beta Release #57 (Win64 binary, source)

Zircon Beta Release #57 (Win64 binary, source)

Full Version

Noclipping does not touch triggers. Shift + arrow keys scroll console. OBJ "tagname" supports MD3 attachment (attach model to model, like helicopter propellor...

Post comment Comments  (0 - 10 of 129)
_jakub1_
_jakub1_ - - 45 comments

Good to hear a solution for flickering/non-responsive monsters in big levels is near. Looking forward to playing Tears of the false good for the first time in Zircon.

This bug does not affect only monsters, ammo and heath pickups as well as random doors and other func entities are also bugged.

Reply Good karma Bad karma+2 votes
Baker55 Creator
Baker55 - - 267 comments

Yes, very nice the DarkPlaces devs solved that.

A rare and awesome case of a big headache magically being solved and I didn't have to do anything.

I am very grateful that they solved that.

I've provided them several super-detailed bug reports (some of them were yours, some mine, some others here supplied) and fair number of solutions -- and they know where to get the Zircon source if they want to acquire anything -- a rising tide lifts all boats.

Reply Good karma+1 vote
MrNick2020
MrNick2020 - - 24 comments

Is there plans for mirroring the source code into github or gitlab?

Reply Good karma Bad karma+3 votes
Baker55 Creator
Baker55 - - 267 comments

Hey MrNick2020, right now the only plans are coding, coding and more coding until the engine is able to do everything I want it to do.

Are you the one who maintains the unofficial Zircon github mirror?

Reply Good karma+1 vote
_jakub1_
_jakub1_ - - 45 comments

so much hyped

so much...

:-)

Reply Good karma Bad karma+3 votes
grabeskuehle
grabeskuehle - - 102 comments

What is the main goal of Zircon?

I am asking because i am curious if Zircon also has features for new standalone games in scope.

For example some new qc builtins, better compatility with fte's csqc.
Or new file formats, renderer api, fixing ode support or similar things?

Reply Good karma Bad karma+3 votes
Baker55 Creator
Baker55 - - 267 comments

For now ...

Trying to get the engine to expose current DarkPlaces capabilities and do a better job of playing Quake.

And trying to expose some of those, while getting the engine to do a better job.

Add: I don't quite know the answer to the standalone games part ... because Zircon does support total conversions better than DarkPlaces because it was extended (KleskBY provided some of the ideas to improve it) ... see Rite of Reckoning or QUALKER ... a gamedir with ONLY a "data" folder .. Zircon will assume total conversion if no Quake data found .. so Rite of Reckoning below, was easier for KleskBY to put together (no batch file and no command line needed, engine-based total conversion detection).

Reckoning: Moddb.com

QUALKER: Moddb.com

(Yet I want it to do more ..)

Reply Good karma+3 votes
Hebi_Hayaki
Hebi_Hayaki - - 104 comments

Hi, I cannot run Quake Combat+ with zircon_gcc.exe in lastest version. Can you upgrade zircon.exe?

Reply Good karma Bad karma+2 votes
Baker55 Creator
Baker55 - - 267 comments

I did several tests and deleted my config and started QuakeCombatPlus and one of the times, it failed to startup and just crashed out.

Thank you for reporting this!

NOTE: I can have a hard time getting it to crash, the following replicates the crash every time --> no config.cfg in id1, no config.cfg in quakecombatplus folder ... start with zircon.exe -game quakecombatplus -> Single Player -> New Game -> crash.

Reply Good karma+1 vote
Baker55 Creator
Baker55 - - 267 comments

Started up fine for me. Doing more tests.

I started both from the command line and from Quake by doing "game quakecombatplus". Both worked fine.

Anything special about your setup? Is there an error message or what happens?

Please let me know!

Meanwhile, I'm going install from the download.zip and make sure that is ok.

(Just reinstalled zircon from the latest download #46, QuakeCombatPlus starts up fine for me).

What happens when you try to start it up?

Reply Good karma+1 vote
Baker55 Creator
Baker55 - - 267 comments

I'll investigate that ASAP.

Reply Good karma+1 vote
Hebi_Hayaki
Hebi_Hayaki - - 104 comments

Thank you for the update, now it's work.

Reply Good karma Bad karma+2 votes
Baker55 Creator
Baker55 - - 267 comments

Excellent!

Reply Good karma+1 vote
Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account:

X