Gameplay
Balance
Vortex’s push force has been reduced from 400 to 200 so players no longer fly to the other end of the map when hit by a Vortex shot.
Electro primary bolts are now capable of detonating secondary orbs in close proximity.
This adds support for midair combos but is currently disabled by default.
Previously, bolts could only trigger the combo by hitting the orbs’ bounding boxes or an adjacent surface.
Crylink now has a linkexplode property which makes all pellets explode at once when any of them hit a player.
This makes damage more consistent because when only 1 pellet hits, the others may still deal splash damage.
It also reduces visual clutter compared to having all the missed pellets bouncing around.
Duel
Duel is now a dedicated gametype, there is no longer a need for deathmatch with max playercount of 2.
This allows duel-specific gameplay settings and cleaner handling by XonStat.
Freeze Tag
Clever tactics are rewarded with epic comebacks and laziness is punished with these changes:
- Players are immune to damage for 1 second after being revived. This spawn shield is lost if they fire.
- Manual revival progress now contributes to automatic revival progress. To compensate for the increased ease of reviving players, an extra point is no longer awarded for a revival (time spent reviving is still rewarded).
- Auto revival progress is no longer reset when a frozen player falls into the void.
- Auto revival progress starts as soon as the player gets frozen.
- Auto revival progress is displayed as a waypoint sprite health bar rather than a normal health bar, which was barely visible for red team players.
- Auto revival progress advances when frozen players are hit by enemies (the amount depends on the hit force).
Optionally this behaviour can be enabled for when frozen players are hit by teammates too. - View jitter when floating on water while frozen is fixed.
- Players now spawn with 100 armor points instead of 0.
Gameplay miscellaneous
- Spectators are no longer forced to join in Last Man Standing.
- New “most_available” weapon arena setting only gives the weapons available as pickups on the map.
This allows weapon arena mutators and gametypes to only have the weapons the mapper intended the map to have. - Items such as Strength and Shield now initially spawn at the same time.
- Dropping powerups on death is supported, off by default.
- Powerup code has been redesigned and Speed and Invisibility are now implemented as powerups instead of buffs.
- Rockets can no longer be fired such that they’re stuck in a wall.
- Weapon & ammo hitboxes are taller so you don’t jump straight over them without acquiring them.
Bots
Behaviour
- Default bot skill increased from 1 to 8.
- Fixed underwater navigation.
- Fixed all kinds of issues when bots walk on flooded floors.
- Bots no longer get stuck in bad spots (without linked waypoints) or when blocked by other bots of the same team.
- Fixed bad behaviour in Freeze Tag and Clan Arena and improved behaviour in many game modes.
- Added ability to jump and crouch thanks to new dedicated waypoints.
- Improved ability to climb ladders and use jumppads.
- Improved ability to avoid danger while running and bunny hopping.
- Improved ability to chase enemies.
- Improved item rating.
- Fixed bad jetpack usage.
- Fixed bots ignoring teleporters and warpzones.
Waypoint editor
- Fixed creation of waypoints underwater.
- Added new waypoint types (jump, crouch, custom jumppad waypoint, support).
- Added ability to create waypoints at crosshair.
- Added ability to create waypoints for jumppads without automatically generated waypoints.
- Added ability to create support waypoints to replace incoming links of a problematic teleporter or jumppad.
- Made creating hardwired links easier.
- Automatic symmetrical waypoint creation for symmetrical Capture The Flag maps.
- Waypoint files are now versioned and timestamped.
- Added a waypoint editor menu with all the commands (can be bound to a key in the key binder).
Bots miscellaneous
- Improved performance.
- Added automatic balancing of bots between teams.
- Added cvar (active only in team modes) and made cvar only affect Free For All modes.
These cvars add or remove (when humans join) bots as necessary to achieve the configured minimum player count.minplayers_per_teamminplayers - Added bots and nobots votes to add/remove bots through and cvars.minplayersminplayers_per_team
Artwork
Player model skins
All player models have improved visibility by default, and there’s several fixes:
- Balanced primary (‘shirt’) and secondary (‘glow’) colors in some models (especially in Erebus and derived models).
- Fixed burned glow color reducing the number of available colors from 15 to 9.
A side effect of this is that the glow color of the blue team is blue-cyan (original color) instead of cyan.
Other team colors are unchanged. - Fixed primary and secondary colors being mixed up on some models.
Click to see hidden (unavailable in the menu) player models
Maps
We have two new official maps:
- Bromine by packer, a rusty styled map for large games!
- Opium by cityy, a medium sized level with plenty of vertical action!
Existing maps received various fixes and/or visual updates:
- Erbium: brushes/textures/clips/shaders cleanups, fixed projectiles entering the ground under the Mega Armor.
- Final Rage: added more lamps to fix very dark areas, fixed a few perching spots.
- Implosion: lightning bolts effect added on top of the central towers (indicates danger), tweaked the catwalks below the map, textures/clips cleanups.
- Silent Siege: brushes/patches/textures/clips cleanups, fixed a visible caulk, added a small light above the Mega Armor.
- Solarium: glass texture added to the big windows, brushes/patches/textures cleanups.
- Space Elevator: aligned the jump pads with the glowy pipes, updated bot waypoints.
- Warfare: recompiled the map to fix some poorly rendered terrain textures.
- and more.
Drain and Oil Rig are now hidden from the game menus and will be removed in the next release.
Sounds
Refreshed weapon and item sounds are easier to distinguish in combat, and more fun.
- Pickups are a little finer, when we use the powerups, we’re feeling a force coming and growling from inside.
- Players’ footsteps are a bit more realistic, when they jump and land on some metal ramp, it’s like they are hitting iron with their feet.
- Spawns are more attractive and it feels like air is coming out from inside.
- Weapon shots are direct, futuristic and mixed with an audacious sensation.
- New kill sound consisting of a high-pitched version of the hit indication sound.
- Loss of armor is clearly audible.
Weapon models
Morphed has turned up the polygon count in the splash damage department with these impressive Crylink and Electro models. They’re animated and feel like a natural match for the gameplay and art style.
Monster models
Joining the existing Zombies are the new Wyvern, Golem, Mage and Spider.
They feature new animations and are supported by reworked and faster code with some new abilities.
The Invasion gametype remains a work in progress but you may encounter these monsters on certain maps or servers.
User Interface
HUD, Centerprints and Scoreboard
- A title was added to centerprint messages and their animations and legibility improved.
- The Timer HUD panel now indicates the match phase with a subtext.
A secondary timer for round-based game modes displays the remaining round time. - The player’s remaining oxygen is now indicated by a meter while underwater.
- Assistance with strafe jumping and other physics tricks is provided by a new strafe HUD panel.
- Item pickup counts are now displayed in a dedicated panel under the scoreboard.
Menu
- A small menu for quick access to the most commonly used options is now opened by the ESC key.
- A new Welcome dialog replaces the old MOTD centerprint, bringing better looks, better accessibility for new players, and support for scrolling.
- Video, Effects and Misc settings are more helpful, have less footguns, and support upcoming DarkPlaces Engine versions.
- Server list now has the option to filter out very high ping servers.
- It’s now possible to scroll the chat history with mouse wheel up/down.
- The quickmenu has a better input system.
- The default Luma theme was refined for a cleaner look.
Translations
- Welcome message and key names are now translatable.
- 5 years worth of translation updates for multiple languages are included, thanks to all our translators!
Japanese, Portuguese (Brazil) and Turkish are now available in the game menu.
XonStat 2.0
During the pandemic XonStat was written from the ground up, solving many of the pain points of the previous version. A full list is too lengthy for this post, but here are some highlights:
- Code is in Go (statically typed, compiled) instead of Python (duck-typed, interpreted).
- Standard library (net/http) HTTP server instead of via a WSGI web framework (Pyramid).
- API documentation via Swagger, with just about every endpoint having a JSON representation!
- Shared cache via Redis instead of per-process, in-memory cache via Python’s Beaker.
- Foundation 6 instead of Foundation 4 for the CSS framework.
- Chart.js (HTML canvas) instead of NVD3.js (embedded SVG) for charting/visualization.
- Weng-Lin instead of Elo for skill, with async calculations.
- Rate limiting (none previously).
- Tracking of spectators/forfeits (none previously).
- Badges incorporated into the codebase (previously standalone).
- Submission Inspector for much easier troubleshooting.
NetRadiant level editor
Development activity got a boost and the project now has its own website (netradiant.gitlab.io) and its own release schedule and downloads (see the NetRadiant download page). This is still a Xonotic project maintained by the Xonotic Team with code hosted at Xonotic GitLab.
- Mapping support package is not needed anymore with features implemented in both the NetRadiant level editor and the q3map2 map compiler: PK3 symlink, DDS prefix. The Xonotic mapping support package may still be needed when using others editors if they did not implement such features.
- Xonotic map build menu for NetRadiant was updated (merge request). Following good advices by Julius they are expected to produce good looking maps on par with official maps.
- Available for macOS and FreeBSD in addition to Linux and Windows.
More details about the NetRadiant builds at Xonotic 0.8.5 release time and more informations about changes having been done the past years can be found on the NetRadiant website itself.
Other changes in Xonotic
Build systems
- Xonotic is compiled on a much newer and self-hosted platform.
This fixed several old problems with SDL on Linux. - Fresh Windows DLLs are compiled automatically as part of every build, replacing ancient manually updated files.
Lack of HTTPS and multi channel audio on Windows are fixed. - HTTPS is now fully supported for pk3 downloads from servers, and is used by default for all XonStat connections.
This will improve reliability on servers that take advantage of it. - A redesigned Makefile is included that makes it easy to compile a build optimised for your machine.
- Higher quality compression gives a sharper look with less artifacts to sprites and surfaces using official textures.
- The pack no longer includes a very old version of NetRadiant, see above.mappingsupport
Campaign
- Bromine and Opium have replaced the Oil Rig and Drain levels.
- The match is reset when the player joins so the timer is cleared and a nice 3 second countdown appears.
- A convenient “Restart level” button is included in the new ESC menu.
Terms of Service
At first start, a “Terms of Service” (ToS) dialogue will explain transparently what data is required or optional.
Server admins can (and should) provide server-specific Terms of Service that will be displayed in the server info dialogue (right-click on the server in the multiplayer menu).
Resetmatch
New votable command restarts the match without restarting the whole server, meaning players stay in their teams and don’t have to reconnect. Loading screens are eliminated and the process is instant.resetmatch
Quake 3 map compatibility
- More appropriate equivalents are selected for some items.
- Layouts and item placements that vary between different mods and gametypes are (almost fully) supported.
- Many Q3 map entities including damage sources, weapon and ammo givers, doors and sounds now behave more like they do in Q3.
Map entity logic and documentation
- Several fixes and code cleanups were applied to existing functionality.
- Several map entities can now be (de)activated by relays: Merge Request
- Entity descriptions for NetRadiant were updated: Merge Request
Rulesets
Popular gameplay configurations are now organised in files.ruleset-*.cfg
QC Physics
Player physics is now implemented in QuakeC gamecode instead of using the engine physics.
This will enable custom features that otherwise wouldn’t be possible. It also brings bug fixes for stairs and moving platforms.
DarkPlaces Engine
- Performance is significantly faster and smoother in bot matches and when the world origin is in the playable area.
- A very old regression that caused incorrect gloss intensity is fixed.
- A workaround was applied to fix IPv6-enabled servers having unreliable IPv4 in the server list.
- A Quake Live style mouse acceleration mode was added.
- Most glow maps (bright textures used on lights) on Quake 3 maps are now working.
- gl_flashblend mode no longer causes corona effects to be excessively huge and bright.
Visual effects and sprites
- Weapon muzzle effects always originate at the weapon model now, fixes obscured camera when using .g_shootfromeye 1
- Muzzle effects and bullet cases are no longer rendered when the first person weapon model is disabled.
- Simple item sprites no longer disappear behind grate textures.
- Rain and snow are faster and more reliable, especially on larger maps.
- Waypoint sprites now show icons rather than text.
- Overlapping player name tags are now always visible with lower alpha.
- An empty bar is always drawn under health and armor bars to highlight values from 0 to 100.
- Bloom is more subtle.
- Refraction effect of water and warpzones is more subtle.
- Race CTS waypoint sprite placement is now reliable for arbitrarily complex map entity chains.
Miscellaneous
- Idle players are automatically moved to spectators after some time (60 seconds by default).
- Optional automatic kicking of players who repeatedly teamkill was added.
- Each enemy can now be assigned a unique color in all game modes without teams (except duel).
- Clients automatically send cvars to the server when they’re changed, for settings handled by the server.
- Several bugs with submission of data to XonStat are fixed.