The open source Zircon engine ("DarkPlaces Mark V Project") is a modification DarkPlaces engine with a mouse driven menu everywhere, ALT-ENTER fullscreen/windowed switching and 88 other enhancements to support user/mapper/mod coder ease-of-use and optional conveniences for those interested in a "1996 Quake" experience. "csqc_full_width_height 1" in console when running Arcane Dimensions at this time It is hoped that some/many/all of these enhancements will eventually make it into official DarkPlaces. The Zircon engine seeks to keep full compatibility with DarkPlaces so either engine can be used interchangeably.

Post news Report RSS December Lab Report #11 of 12 - The Future, Embracing The Past

Zircon now supports protocol 666 and 999, giving it the ability to play demos recorded in Quakespasm, connect to a Quakespasm coop game or host a game allowing Quakespasms to connect. This is part of rounding out the engine.

Posted by on

Update December 29 - (Download Beta #24)

First: Linux binaries have returned. Zircon now interpolates scrags -- DarkPlaces used MOVETYPE_STEP to determine interpolation, Zircon makes FL_MONSTER also interpolate. It can be turned off via cvar.

Support for FTE protocol extension to support 2048 entities for Quakeworld coop (like the Let's Play QW Coop server run by Freewill that has 2500+ single player maps). I was testing earlier, 5 or 6 players were there. It is almost better than Quaddicted in the sense that the next map might be something you never saw before. FTE chunked downloads means that 20 MB map downloads in a split second.

There are other strengthenings and improvements ("impulse 9" does nothing in console bug-fixed by making "cl_movement 1" not affect single player. This has other small issues addressed. Took the time to get the Linux compile working again, it last had worked 18 versions ago (only a few weeks ago, but codewise much changed).

This is clearing the queue to go hardcore to implement the "Kleskby 0 Ping Multiplayer" before -- hopefully -- the end of the year or maybe by January 2 if too much Year End celebration occurs.

Update December 25

🐞 🐞🐞🐞 Bug fix. 🎅 🎄 🎁

Update December 23

Should be getting close to adding a new prediction mode to Zircon that allows 0 ping at any ping, modelled after some experimental work Kleskby did in Client-Side QuakeC -- it was impressive. Zircon now has protocol extension support, so alternate models of handling player movement can be implemented while keeping full compatibility with DarkPlaces. And Zircon as a server will be able to offer chunked downloads while keeping compatibility with DarkPlaces, this means downloading a 50 or 100 MB map is possible.

Not only will 50 MB or 100 MB maps be downloadable (I was on the Let's Play QW Coop server and a 45 MB Quake 1 BSP downloaded pretty fast) -- but this also means downloading a 100 MB or 200 MB pk3 is also not really a big deal.

Forgot: Chunked downloads are now 4x times faster, reworked the network code to be more flexible with unreliable messages -- what chunked downloads uses to get the insane speed -- to ask for more data and do it faster. If the map isn't at least 15 MB, you might not see it download if look away from the screen for a second (if the server is FTE).

ogre

Update December 21

[Initial download had 1 outdated binary by mistake, the zircon_beta.exe was version 20, not 21.]

Added Quakeworld monster movement interpolation and spectator movement prediction (it didn't exist!). And the ability to chat using the console in a multiplayer game (cl_chatmode 1 = default, 0 to turn it off). More in readme.

Special thanks to Freewill who runs/codes the Let's play QW COOP server. Helped explain an obscure water-jump issue on a different server that is a MVDSV server bug and not a client bug (which is why no Quakeworld client I tried was able to get out of small pool of water) and helped me test monster movement smoothing.

If you use Zircon to coop on a Quakeworld server, the experience is very nice now. At some point (not soon), I will add some FTE extensions to cover the 2% of maps that require very high limits, but those maps are rare and usually coop very poorly (50-70 monsters with 8-10 puzzles or mysteries is often best, the extreme maps tend to have 200-400 monsters and are not suitable for a 20-30 minute game).

The above occurred while reading through the DarkPlaces prediction code to extend the protocol for more accurate prediction when connected to DarkPlaces servers with bad ping (seems largely or maybe entirely fine when connected to Quakeworld servers) -- recognized that the prediction code did not handle Quakeworld specators at all.

Update December 20

Zircon now has support for Quakeworld colored text, and Quakeworld "join" / "observe". This is in addition to new server browser modifications and the server browser "biased keyword sorting" cvar which can be customized.

Join/observe: "observe qw.servegame.org" and you will connect as a spectator (a invisible ghost that floats around). Then you can type "join" and enter the game. Or maybe type "observe" to become a ghost again. Likewise, "join qw.servegame.org" you enter the server as a player.

With these modifications and some others in the readme, connecting and playing on a Quakeworld server is a much more enjoyable experience.

The goal here is to make the experience on a coop server a solid one. There are some more things that eventually I want to do.

Update December 19

Next Up: Biased Sorting Via Cvar (Customize It)

Plus: Quakeworld servers sometimes use color codes that are recognized by the modern Quakeworld clients, next Zircon will read print messages as they come and convert any color codes to what DarkPlaces understands.

colorcode

The server browser in Zircon Beta Release #19 is "Server Browser Phase 4". It is sortable by column header, displays who is playing a server and their score.

The next version will have biased sorting via cvar. What this means is that the sorting will use "favored keywords" that win all ties, favoring certain words over others. You can set these yourself, by default "coop,crx,ffa" will be the list. (The CRx servers are team game servers in the USA that regularly try to get together players for pickup games -- I spotted Woods, an ally of mine who engine codes QSS-M, on one of the CRx hybrid servers).

For example, the coop servers are highly likely to have player activity (so are the FFA servers), during most of my testing there were players already on the coop server or joined as I was testing.

serverbrowser

Historically, I have been primarily a NetQuake multiplayer type --> Rocket Arena, Clan Arena, RuneQuake (quake.shmack.net). That being said, the qw.servegame.org -- a Quakeworld server somewhere in Europe -- is a legendary server that has always offered great FFA game on custom maps -- and, it has players on right now.

An engine like DarkPlaces has many capabilities, I thought I would spend some time to make this part of the engine exceptional while scouting out the main current mission of getting DarkPlaces 0 ping multiplayer improved.

Update December 14

If you want to see nice download speeds, this server has 2500+ single player maps for coop and FTE chunked downloads has even large maps downloaded with barely time to watch the progress bar.

connect "69.247.32.166:27500" // Let's play QW COOP

Chunked downloads, during testing, seems to perform better on FTE servers versus other server engines. Typing "cmd serverinfo" when connected to a server displays server details.

For comparison, another great coop server is:

connect "52.240.58.168:27503" // [HCI] COOP #3

Sentimentally an instant favorite because I noticed the server has the map The Undergate which is a map I made for cooperative play. But for comparison, this server uses MVDSV and the chunked downloads in Zircon, while faster, is only about 10-30% faster, not the blazing download speeds experienced on the FTE server.

Either way, in time I'll add the FTE download extension in some form into Zircon on the server-side so that Zircon as a server can have the extreme rocket speed of FTE, while maintaining backwards compatibility with DarkPlaces by using an extension system.

The Undergate

Update December 13 - Zircon Gaining Super-Fast FTE Chunked Downloads

chunked3During multiplayer 0 ping testing, often used Quakeworld coop servers mostly because I like custom single player Quake maps. DarkPlaces supports standard Quakeworld map download -- which is slowish (30000 KB/sec or less). These servers also support FTE client protocol extensions and if your client tells the server it supports chunked downloads, it gets enabled.

"Chunked downloads" is faster because the client doesn't have to acknowledge the receipt of the data before receiving more data (a major bottleneck in the data transfer), allowing the client to assemble the pieces and ask the server for other pieces. And when you have all the pieces, the download is completed.

Eventually, I'll add FTE chunked downloads server side as well. The speed of downloading maps in DarkPlaces is not really fast enough for a map that might be 5 to 10 MB -- and maps that really use DarkPlaces capabilities (Q3, .obj, etc.) can be far larger than that.

This is also important for DarkPlaces 0 ping multiplayer. I can use the extension system to enhance Darkplaces Protocol 7 while keeping the current functionality and I will not need to make a new protocol. (This is important to me, extra protocols increase the amount of code to maintain in perhaps over 100 different locations in the source code).

It is very nice that Spoike, the author of FTE and also Quakespasm Spiked, has made awesome stuff like this. Thanks for making this, Spoike!

Zircon Capable Of Running Protocol 666/999

tears

Pictured: Zircon running ad_tears using DarkPlaces Protocol 7 with r_novis 1. (See bottom of page).

Zircon can play demos recorded in protcol 666 or 999 (Quakespasm compatible protocol), connect to a coop game on a Quakespasm client or use the protocol to host a game that Quakespasm clients can connect to. There are said to be Quake single player mods that use demos recorded in protocol 999 as cut-scenes.

Work Continues A Pace

dog


To the best of my knowledge, Zircon Beta is now on the verge of no longer being beta.

Every DarkPlaces Beta issue I can recall coming across has been dealt with, and I resolved several other issues. Deep testing in the last 2 weeks, I discovered 4-6 issues of moderate to high level of difficulty. Baker: 6, Code Monsters: 0 final score -- nice to have them in the grave -- but unwanted use of time.

With a clean slate, I will be dedicating 100% of time to seeing what I can do engine side to do "0 ping multiplayer".

DarkPlaces Has Many Capabilities

jack21

And Zircon Beta is close to being in a great place, with the dozens upon dozens of updates done to the engine to make it user-friendly and smoothly polished.

Then there is some future-building to do.

dog2


The reason that DarkPlaces struggles with ad_tears is not the protocol, 
it is most likely the map vis data.  Quakespasm ignores map vis data for an entity
under certain circumstances and DarkPlaces uses the vis data which results
in invisible monsters.

Or at least, this is what I currently think.  I used ad_tears as the main candidate for testing
the implementation of protocol 999 in Zircon.   

Eventually I will decide a strategy for this or any similar maps.

This concludes Lab Report #11.

Post comment Comments
Mirrorman95
Mirrorman95 - - 141 comments

What was that chunk-downloaded Quakeworld Coop map in the middle with the statue with a really fancy-looking face on it?

Reply Good karma Bad karma+2 votes
Baker55 Author
Baker55 - - 252 comments

Some negke map. I can't remember the name, but I rather liked it.

(When I was on the server, there was another player and both of us were looking all over the map trying to figure out how to open the pyramid to get inside. Eventually we did.)

Google is doing me no favors, tried to Google up something to see if I could determine the name -- to no avail.

I can say for sure that if you asked at Quaddicted, they would know. Negke is one of the mappers that helps Spirit maintain the Quaddicted database.

Reply Good karma+2 votes
Baker55 Author
Baker55 - - 252 comments

Realized I could look in the maps menu and look at the map titles ...

It is: retrojam6_negke

Reply Good karma+2 votes
Mirrorman95
Mirrorman95 - - 141 comments

Thanks. I googled the map name and found it on Quaddicted: Quaddicted.com

Reply Good karma Bad karma+2 votes
Post a comment

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