Here comes the second update of our 0.55 release cycle! Just in time for Christmas! ️
Only the engine, the game code and the main game package are updated. There is no map or texture update. The update will then be very fast to download if you use our updater & launcher!
Dancing and flying bots
We can have drones in the night bots in the sky! As announced when we published 0.55, we started to merge bot improvements that were living on modded servers. The highlights of this release are the ability for bots to actively look at the floor to avoid stupidly falling off ledges, and the ability for them to use jetpack: they can now use the jetpack when fighting to escape as a way to avoid attacks, and can use it to navigate the map when specific navcons (navigation connections) are added to the map.
Curses everywhere
On engine side, it’s now possible to build the curses console interface (the -curses
option) on all systems, using PDCursesMod when ncurses is not available. It enables the curses interface on macOS, and Linux systems where ncurses isn’t easy to build (Flatpak).
Native Client: looking at Saigo
We merged the first bits to make it possible to build a Native Client virtualized game code with the “Saigo” compiler. We still use Native Client as the technology to virtualize the downloadable game code (mods…), but now that Native Client is deprecated in favor of WebAssembly we have a long-term plan to move to WebAssembly… and the more time passes, the more long-term is this plan ️. Standalone WebAssembly engines lag woefully behind browser-based ones, and still do not provide the minimum feature set we need to use them.
So we’re still using Native Client. The current toolchain we use (PNaCl) is now very old (based on Clang 3.6) and it prevents us to update some of the libraries we use, like RmlUi. While Native Client is officially deprecated by Google, they develop a new Native Client toolchain named Saigo, which is frequently rebased on latest LLVM (currently providing Clang 19!). Switching from PNaCl to Saigo will allow us to upgrade our code base without waiting for WebAssembly. For now the virtualized game code is still built with PNaCl, but we already have branches making it possible to fully rebuild our game with Saigo, and once we manage to provide the Saigo toolchain for common systems it is expected we switch to it.
Changes summary
Game
- Make bots trace for the floor to dance carefuly at the edge of ravines without falling (Sweet)
- Make bots strafe on attack: Dragoon, Advanced Dragoon, Tyrant (Sweet)
- Make bots buy jetpack and use it when fighting (Sweet)
- Add support for jetpack navcons (Sweet)
- Deep rework of bot behavior trees (Sweet)
- Fix bugs in the bot behavior tree parser (Sweet)
- Add
showBehavior
command for bots (Sweet) - Add commants
viewcon
,delcon
and update theaddcon
command for jetpack (Sweet) - Add
/r
command for replying to the last private message sender (Grise) - Fix reverb not working when there is no colorgrade (Slipher)
- Simplify location-dependent color grade code (Slipher)
- Fallback on Tremulous levelshot if Unvanquished one is missing (Slipher)
- Make the download bar visible again (Slipher)
- Move some UI elements in options (Grise)
- Mark more strings as translatable (Illwieckz)
- Update translations (various contributors)
- Avoid usage of exceptions (Slipher)
- Fix some divisions by zero and overflows (Illwieckz, Bmorel)
Engine:
- Make it possible to build against PDCursesMod on every system (Illwieckz)
- Fix the dedicated server not running on macOS because of the socket path being too long (Slipher)
- Skip standalone lightmaps, they are assumed to be buggy (Illwieckz)
- Simplify the full range overbright implementation (Slipher, Illwieckz)
- Fix portals when multithreading is enabled in the renderer (Reaper)
- Fix bloom and simplify its implementation (Reaper)
- Fix specular mapping with material system (Reaper)
- Fix a material system crash (Reaper)
- Fix the
r_showTris
debug tool with material system (Reaper) - Fix stage dynamic computation with material system (Reaper)
- Many other fixes on the material system (Reaper, Slipher)
- Fix MD3 model rendering with
r_vboModels 0
(Slipher) - Allow disabling depth prepass with r_depthShaders (Slipher)
- Stop Z clipping of 2D drawing without depth clamp (Slipher)
- NUKE depth/stencil channels of the default framebuffer (Slipher)
- Improve some SSE math code for transformations (Slipher)
- Rework the SSE code to avoid Clang 19 bugs (Slipher)
- Make the virtual machine receive timeout configurable (Illwieckz)
- Make it possible to use the Saigo toolchain for compiling Native Client virtual machines (Illwieckz)
Let’s play! Run the Unvanquished launcher and get the update automatically, or if you don’t have the game yet, download it, and join our servers!
One thought on “Unvanquished 0.55.2: bots in the sky”