Quake II RTX

That's very cool.The rippled sand doesn't quite work - it needs to be more subdued - but I'm still in awe.

It is more subdued in normal rendering mode - I used the new photo mode which exaggerates everything heh.

While it is no Subnautica - that game would look so awesome with the path tracing system in Quake 2!
 
Does anyone else think that this RTX version gives some of the enemies a Plasticine look to them? I mean, it looks great, looks natural, but i also saw the newest trailer for Cyberpunk and im assuming it had realtime raytracing on, and that simmilar kind of look emerged. I think its in strong daylight that look. Control as well for that matter.

Anyways, just wondering if anyone else had that impression.
 
Dunno if anyone is interested but I made a mod for the RTX version - doesn't so much take advantage of the RTX features (and a few things don't render correctly with the RTX renderer unless I rewrite that as well) mostly done for my own amusement.

https://www.amazon.co.uk/clouddrive/share/ehxy0x0wc6BMMPlpdkzkvsLob61Dqdqno4XNDaJu2QF

https://mega.nz/file/4EoziDCS#L4ezWAPVSUoEN-poHlR0Uz8Cha_PbKj4VvsdS1X15Yg

(Hopefully one of those links works as I'm a bit short on hosting at the moment)

readme:

Preamble and credits
====================

Mod created by Rroff (all coding, models, etc. original work unless credited otherwise)

Alpha release for 8th April 2020

Originally started a mod to replace monsters in the maps with harder ones but ran into some issues
then started adding features for my own amusement but thought I'd release what I've done
This is very much an alpha release - I'm no C programmer and have limited potential to test
Many models, item names, descriptions and icons are placeholders and lack RTX feature/material integration
additionally many limitations due to sticking with the game logic code (game dll) rather than implementing
at engine level so as to avoid having to keep updating the main exe when new RTX updates are released.

Intention in the longer term to use this as a base for creating a custom coop campaign.

Most features are created with the intention of using the skill level 3 (nightmare) ingame and not tested
with lower skill levels.

Can ignore or use most features as you like.

The main features of the mod is an attempt to make the AI a little less static and increase the difficulty
of many maps with more monsters, new monster attacks and some randomness to spawns and generally
shake up the experience a little. Some maps have additional set piece fights or doors that need a security
key dropped by a monster elsewhere to open.
Also some additional items and powerups/modifiers that change up the gameplay - these can be activated from
the inventory when acquired.

Monsters will try to be more mobile and some can jump (currently a bit glitchy and silly but kind of fun)
they will also in some cases try to use alternative paths to the player or avoid friendly fire, etc. (also glitchy).

There are some additional features for coop including a hud to show the status of other
players (due to misusing a menu feature to make it work you need to hit escape twice to get to the main menu while it is
active and things like the help screen might be a little delayed opening/closing).
Respawn flares that can be selected by touching them or +use key.
Optional player classes which are intended for future use really as they are likely unbalanced with the stock maps.

Due to the scale of the mod there are probably things I've forgotten to mention here.

Credits:

While not directly involved in the creation of this mod I'd like to mention the following who have generally
helped me with quake modding in the past

Jah Raphael (formerly id software) for general quake related coding advice
Argh! (Tim Wright) - code used to modify id player model assets without having to redistribute
David Hyde, Mad Dog and the rest of the Lazarus team


Keybinds and setup
==================

Extract and place the moros folder in the quake 2 folder where q2rtx.exe resides.

Use either +game moros in the command line or \game moros in the ingame console to start the mod

You will need a key bound to +use (i.e. \bind mouse3 +use) for some features:

- activating certain items and actions
- selecting respawn flares in coop
- collecting items from monster/soldier bodies with some modifiers
- destroy player turrets
- shove monsters
- make friendly NPCs follow/unfollow the player

Additional shortcut binds for coop player classes:

ability1 - medic station, turret, taunt
ability2 - stim, ammo station
ability3 - explosive box

You should start a map at least once with g_patchgrunt set to 1 to copy over and modify the files
needed for friendly NPC feature to work. Your baseq2 folder will need a populated players folder
for this to work correctly. (Due to legal reasons the files needed for this can't be distributed
as part of this mod).


New cvars and commands
======================

g_ejectbrass - 0, 1, 2
Some weapons eject spent casings when fired - 0 disables, 1 uses a limited amount, 2 doesn't remove
spent casings until the game needs resources.
(Warning might break the game, not recommended for network play)

g_healthbars 0, 1
Players have a health bar over their heads, 0 disables - main use coop mode, disabling in single player
might avoid possible issues due to the additional modelindex it uses

g_doacidfx 0, 1
Certain projectile weapons (mostly the mutant acid spit) will update their angles more frequently when
set to 1 but uses more network bandwidth so might be useful to disable in coop
(Warning might break the game, not recommended for network play)

g_coophud 0, 1
Adds an overlay in coop mode showing other player's status uses more network bandwidth and a little
glitchy in implementation due to the limits of Quake 2. You will have to press escape/menu key
twice while it is showing to get to the main menu, once to clear the coop hud and again to open the main menu

cl_hudfix 0, 1
Client side variable - coop hud normally sends player icons for all models/skins if not all clients have
the same files you will get a bunch of errors - set to 1 to avoid and display all players with default icon

g_sillygore 0, 1, 2
Enables additional gore decals, weapon impact decals and doesn't free them unless the game needs resources
can break things in coop, etc. very heavy on network bandwidth.
set to 2 turns some settings up to higher levels
(Warning might break the game, not recommended for network play)

g_coopflags 0, 1
Currently not used for flags, setting to 1 enables spectators in coop that can take some control of monsters
current implementation is very crude and broken - not very useful just done for testing

g_moremonsters 0, 1
Removes some limits on how many monsters are spawned on a map but might break things recommended 0
(Warning might break the game)

g_hardmonsters 0, 1
Sets coop level roaming monsters spawns to a harder difficulty

g_patchgrunt 0, 1

Used to control the patching of player models into the mod folder to use as friendly NPCs - this will need to be
performed at least once [offline] to generate the assets initially and possibly after any mod update afterwards you
can disable but doesn't hurt to leave on

sv_maxreuse 0, 8 - 300
Recommend leaving at 0 (automatic) - overrides automatic allocation of a pool of disposable entities

g_hordemode 0, 1
Enables mini-horde mode on certain maps you need to beat to progress

You can jump to these with the commands:

map base2
map "mine2$mine1"
map fact1
map "waste1$power2"

(quotes around the mapname are important when spawn target is provided)

g_gibcount 3 or higher, default 12
Additional gibs created when a monster is gibbed when sillygore is used - leave on 12

noflare - clears out any selected flare spawn point in coop so you respawn at the start of the map


Changes specific to monsters
============================

Berserk - Is now faster moving, attacks on the move and can jump, re implemented jumping slam attack when target has low health.

Brain (technician) - Chest opening tentacle attack has additional tentacles for medium range, launches a decapitated head as a projectile attack.

Chick - Can teleport in and out of combat, has power shield for extra defense, able to jump

Float (head in a jar) - Re implemented lightning zap attack.

Gunner - Now aim their grenades a bit rather than just spam them horizontal.

Hover (Icarus) - Has active defense that can destroy hostile rockets and grenades.

Infantry - Faster moving, can jump.

Medic - Spawns a hovering heal bot to heal itself and other monsters, has parasite style drain attack which also leaches health from target to heal itself.

Mutant - Has new rock flinging and acid attacks.

Parasite - Drain attack pulls player towards it and leaches health to heal itself.

Soldier - Basic strafing when attacking, can jump. Machinegun variant has an underslung grenade attack.

Supertank - Additional grenade launcher attack

Tank Commander - Ability to bonus itself (red blinking colour shell) and nearby monsters so they are more durable and do higher damage, has an emergency power shield when health gets low.

Tank - Machinegun attack does higher damage.


New items and changes to existing items
=======================================

Silencer - While activated and shots remaining will make it harder for monsters to spot you making it easier to get surprise kills.

Additional keys - security tag and Strogg head which are dropped by some monsters and used to open certain doors or to use certain buttons.

Sling Pack and Resupply Pack - dotted around some maps to try and keep player from running out ammo with the higher number of monsters on the map.

New powerup/modifier items (which can be found around various maps in secret places, etc.):

Blaster Mod - Uses cells when available for a faster, higher damage energy blast.

Machinegun Mod - Machinegun fires incendiary rounds which do a little damage over time.

Regen Mod - Health pickups are increased by 25% but go into a pool instead of direct healing that heal you over time as needed.

Tombstone - Gibbing a monster drops an armour shard.

Grenade Mod - Grenades actively seek targets - crude implementation as game has no navigation/pathfinding data and had to break some physics stuff to make them work as I wanted.

Gambler - Every kill is a gamble between losing some health or gaining a short quad damage - won't reduce you below 1 health, kills at 1 health have a chance to gain you 15% of victim's max health.

Edge - You deal an extra 75% damage but take double damage yourself.

Solar - Regenerate a small amount of cells when in bright areas.

Sabot - Combat shotgun fires slugs which do extra damage against bosses, tanks and gladiator.

Berserk - Shotgun kills activate berserk mode - while using a shotgun damage is increased and short range damage to you is reduced a lot, all other damage to you reduced by half.

Reaper - Kills get you 2% of victims max health, surprising a monster doubles the health bonus. Railgun shots take 20% of your max health (won't take you below 1 health) but do 1.5x damage.
Railgun shots activate the reaper kills within the timer get you extra health.

GLauncher Mod - Grenade launcher fires further and does higher radius damage + small damage over time.

Tripmines - Turns grenades into tripmines.

Scavenger - Using dead monster/soldier bodies gains a small amount of ammo or other resources.

Active Defense - Detonates incoming rockets and grenades but uses cells to do so - short cooldown between activations.

Stim - Health pickups give you a 15 second bonus to agility and you take half damage.

Bouncer - Hits with the chaingun give you a little healing and damage resistance, misses drop time from the bonus and take 1 health. Chaingun does increased knockback.

Some of these items are acquired by doing certain things while playing:

Reaper - kill 10 monsters before they notice you
Berserk - kill 10 beserks within melee range
Gambler - get 30 kills with quad damage
Edge - get 10 kills while under 10 health
Bouncer - every 3 kills while constantly firing the chaingun get a point - need 5 points to get mod

(Alternative you can also spawn them from the console)

Most of these have limited balance testing, etc.


Horde mode
==========

Some maps have a a horde mode where you have to defeat 10 waves to progress through the rest of the map. It is activated by pressing +use
on a computer terminal found within the map. While horde mode is active health and ammo items in the map will respawn after awhile.


Experimental/misc features
==========================

Friendly grunt NPC (give grunt to add it to inventory then use grunt while pointing at a clear spot to spawn) very basic features/incomplete.

With g_coopflags 1 you can use spectator 1 in the console in a coop game to take control over monsters - this is very rough and unfinished.
Controls are the fire button, jump button and use button. Inventory prev/next buttons also swap between which is the selected monster.
Jump will select next monster, use key connect and disconnect from selected monster, fire button will detach view from monster.
When you have selected a monster and detached view then the fire button then can be used to set a waypoint for the selected monsters or a target to fire at.

Pressing the +use key on a monster will attempt to shove it out the way (larger monsters won't move much or at all).

Landing on a monster from height will deal some damage.

Knockback or landing on a monster in some cases will knock a monster to the ground.


Known issues
============

- Monsters running on the spot (various causes)
- Monsters unable to jump off boxes, etc.
- Monsters sometimes ignore player and run around aimlessly
- Monsters sometimes get stuck in mid air (usually due to invisible monster clip brushes)
- In rare instances the hyperblaster will continue firing even when the player is out of ammo
putting ammo count negative (possibly fixed)
- Made changes to random number generation which might cause some network prediction issues (untested)
- Deathmatch not supported
- Grunt NPC has frame lerping disabled on animations due to weapon model incorrectly moving with character otherwise
- Larger enemy might try to use ladders which looks silly especially monsters with tracks instead of legs
- Sounds sometimes are positioned incorrectly or wrong sound is played for an action usually after a save game reload
or returning to a previous map
- Seeking grenades have gliched movement sticking on surfaces, going slowly or going crazy up the walls
- Tripmines have poor detection when used vertically
- Possible crashes on city3 map "PF_FindIndex: overflow" due to too many model indexes
- Damage over time implementation is very basic
- Monster kill count off a little
- Some monster spawns are bugged (in solid, etc.) but usually sort themselves out or are in silly places due to automated level population

Something I forgot to add properly to the readme - there are some optional player classes (access through the ingame inventory) available in coop mode - not really intended for the stock maps where they are probably unbalanced.
 
I'd gladly try it out but unfortunately, I don't yet have a raytracing capable GPU. Once I do, though, I'll be sure to give it a whirl.

Don't suppose you'll be uploading a video of it in operation?
 
LOL I just been playing this less then 5 minutes ago and I quit the game and come on here and this thread is right at the very top :):)
I average around 47FPS with 2080ti at 3440x1440 :D

I only stopped playing because my PC was blowing hot air on me like it's a fan heater :(
 
Last edited:
I'd gladly try it out but unfortunately, I don't yet have a raytracing capable GPU. Once I do, though, I'll be sure to give it a whirl.

Don't suppose you'll be uploading a video of it in operation?

Mod works with the Open GL renderer in the RTX version - infact currently the impact decals, etc. only render correctly in the non-RTX renderer as they haven't added proper transparency support in that version :s

Mod is largely things I threw in for my own amusement though so a bit of a mixed bag.
 
I probably should have added a timer/stats to the horde mode heh. Sadly the Quake 2 AI implementation is very much a product of its time and short of ripping it out entirely and rebuilding there are a lot of states where monsters get stuck in a loop on the spot or wander off doing their own thing even with a lot of tweaking to try and make them move around more, etc. :(
 
Wow, the Ray Tracing looks incredible. For some very brief moments, it looked almost like a stop motion animation, as if it were a physical model/set rather than a rendering. When this can be done in real time, on high poly games it will be incredible
 
on high poly games it will be incredible

Polygon count doesn't massively impact the path tracing implementation in Quake 2 RTX - the bigger problem is that the techniques used to do modern games have some compatibility issues with ray tracing and with the limited number of people who have hardware that can run something like in Quake 2 RTX developers don't want to go to the effort of maintaining two branches of the game.

This isn't like the Minecraft implementation that takes advantage of the low detail geometry - you can increase the amount of detail in a Quake 2 map by like 64x and it only drops like 3% performance - a lot of the hit is just in getting that kind of rendering working in the first place - well that and screen resolution.

Quake 2 was as relatively easy target for them as the original game uses a baked in static ray tracing like technique to light the world so you can remove that without massively breaking the game or making it look too odd without doing a massive amount of rebuilding the game levels.
 

Quick video in Open GL mode of the infinite horde mode heh - finally got the Strogg sort of using ladders heh (they don't actively navigate to them sadly though I could setup a system to manually place points to identify ladders they can use).

Need to get my HDMI capture setup working again and something faster than my 1070 so I can get some footage in RTX mode :s
 

Gave the parasites a grapple ability for a laugh - sadly not that good without a proper navigation system in the game.
 
Those both look fun.

Been some interesting challenges along the way - as the engine is so old it not only lacks the underlying support for some of these features it even works against them in some cases without completely ripping out entire features and redoing them from scratch.
 
You know what is truly frightening, is how clear and precise the directional sound is in these old games compared to todays.
 
Back
Top Bottom