In anticipation of the DOOMBRINGER Americas Cup #1, Reki has overhauled the client prediction side of the netcode, as well as added some tweaks on the server side to make ping differentials feels more fair. Weapons are now predicted (with cl_weapon 1) which removes latency between input and seeing weapons fire.
Kristus has also been busy finishing the art pass for Duel3, featured in this update. The art-style for Duel3 is similar to that of Duel5, with gothic architecture and brightly burning braziers. This style is planned to be explored further in the second campaign episode. He also slaved over creating a new crosshair system, with lots of customization options to choose from. This will be expanded even more in the future, and feedback is welcome in the Discord.
Primeval has cooked up some spicy new music tracks, some featured in the last update. Much more of his work will be featured in the first Singleplayer campaign episode, releasing on May 21st.
Duel3 Art Pass:
Duel3 has received an art pass, exploring the style of Episode 2 and Duel5.
Netcode Changes / Overhaul:
- QuakeC: Fixed a bug causing bolter/gotlung knockback to be lower than intended if sv_antilag was enabled
- QuakeC: You nolonger take knockback if shot after entering a teleporter by a laggy client
- QuakeC: Antilagged projectiles nolonger hit playerclip, this was causing problems on duel3's shootable grate
Projectile Rendering (Changes)
- QuakeC: Projectile rendering has been moved to CSQC, all physics remain serverside.
- QuakeC: Projectiles now visually come from the barrel of your viewmodel, this can be disabled in misc options or with 'cl_trueprojectiles 1'
Movement Prediction (Changes)
- Engine: Changed how input_timelength is calculated to help reduce warping and "low fps" stutter effect
- Engine: Solid SSQC entities are now collided with by CSQC traces
- Engine: Added csqcflags field to stop invisible (dead) players from causing collisions and warping
- QuakeC: Ported collision code from Engine into QuakeC, almost completely eliminating warping due to precise collisions
- QuakeC: Fixed a lot of issues related to jumping that were causing warping
- QuakeC: Redid how camera position is calculated, it's now using your true position instead of an approximation. This should make movement feel a lot tighter on high ping.
Weapon Prediction (New)
Added weapon prediction with 'cl_weapon 1', at pings over 30 this should eliminate latency for weapon effects and animations
- Engine: Added input_impulse so QuakeC can read what weapon swap was requested
- QuakeC: With antilag and weapon prediction enabled, projectiles are now predicted and should feel completely lagless at pings under sv_antilag_maxrewind_projectile
Hit Beeps (Changes)
- QuakeC: Added a flag to hitbeeps to mark if a frag was scored, this could be marked with a sound effect in the future
- Weapon prediction can misbehave if your ping bounces between 20 and 40, if you experience dropped weapon sounds please disable weapon prediction in the 'misc' options menu
- Weapon prediction causes railgun hum to play during reload
- Weapon prediction may sometimes cause sound loops to stick
- Movement prediction may still look stuttery at high refresh rates, feedback on this is appreciated
3 Part Crosshair System (New, thanks Forty for the idea)
- QuakeC: Crosshairs are now made of 3 parts: dot, edge, hitbeep
- QuakeC: Added lots of new crosshair* cvars for customization
- QuakeC: Overhauled menu to allow for most customization options
- QuakeC: Images are now precached properly, which should reduce stuttering when hud elements are first shown.
- QuakeC: Some 2D assets are now mipmapped on map load, which should reduce aliasing on squished elements.
- QuakeC: Added flat background option for timer.
- QuakeC: Added option to set scale of simple items.
- Engine: Made drawpolygon unaffected by fog when drawing to the hud
Timestop (New, thanks jehar for the idea)
Added demo timestop feature, this can be enabled and adjusted with cl_demo_timestop_* commands
this creates an automatic slowmotion effect whenever the POV gets a frag
- QuakeC: New function cl_followcaster. Makes spectators follow on another spectator. Helpful for casting games with another person. Needs to be tested more though.
- QuakeC: Fixed an exploit allowing you to suicide in warmup without losing frags, effectively being able to choose your spawn
- QuakeC: Fixed initial spawns facing you the wrong direction due to SENDFLAG_FIXANGLE misbehaving
- QuakeC: Hopefully fixed some cases of rocket sound looping with dropped packets
- Numerous other small fixes