Project RDX is a mod based on the IDTech3 engine. The goal is to make the game more complex, and balanced between the "ol' school" and "realistic" games. Read More...

  • View media
  • View media
  • View media
  • View media
  • View media
  • View media
Every vote counts and may win you a game on Steam!

Why embark in this messy bunch of work? I've asked myself the same thing a few times. But *drum rolls* The time has come, and the benefits of coding NPCs in have piled up with each day of development, and so did inspiration.

The goal is to make AI-controlled entities different from the bots that we already have, that can be interfaced with script files and/or the map editor.

-Singleplayer campaign
Sounds far-fetched? Maybe, but as always I'll start with small steps. A simple mission or two, on the same wavelength of the tomb tutorial map. Think Sauerbraten, they have some fun singleplayer missions to play alongside multiplayer.

-Cooperation / Zombie mode
This is an even more important reason. Using dumbed-down bots as zombies is both limiting and wasteful.

-The reasons why bots aren't suitable
1) The bot AI is built with one purpose in mind: emulating a player as well as they can - the default OA bots manage that well enough. That means considerable thinking depth and independence, working in teams, following the goal of every game mode -- which can imply many things other than blowing someone to smithereens. The bot AI is very complex.

All while the singleplayer/Coop AI would need (for the moment) pretty much two things: Following a script (such as patrolling waypoints) and fighting the player(s) and/or other NPCs. That is true for anything from the final boss to the lowliest cannon fodder.
Merging these two things would probably do more harm than good.

2) Even outside of their AI, bots are coded in every respect like players. Again, the core server code that handles clients (players and bots) is pretty arcane and better just left alone. What to send to whom, etc.
Also, even the game mechanics (not the core, the .vm) would need extensive modifications to accomodate that. Just scratching on the surface, the respawn mechanics.
I did experiment a bit on the bots before moving on to understand this.

3) NPCs should be spawned in relatively large numbers, at the beginning, via map layout, or via scripts, and just be removed at the end of a level or when they die. The clients need, again, some complicated pathways for that to happen.

=== Progress ===
Surprisingly, getting them to spawn without crashing was relatively painless.
Models are still behind however:

Mr. Armor Shard firing his invisible gun.

Using the armor shard as a placeholder. You see a NPC relentlessly firing an invisible gun, complete with invisible infinite, magic-reloaded ammo.

Mr. Armor Shard reaps another kill

Yeah. That used to be me. Now they can target you and hit you with surprising (read: too much) accuracy. However, as of now (7 nov) they can't move, except for falling. They're much like turrets.

Movement, AI, and graphics are the next steps.

(9 nov) Adding movement proved disastrous. Despite having "Fatal errors" in the AI, the Angry Armor Shard o' Doom was teleporting around the map mowing me down with its unlimited ammo, impossible to hit and sometimes to see.
(11 nov) Movement somewhat fixed, but still far from done.
(11 nov, 2) Basic movement (A to B) works
(13 nov) Moving on to weapon usage
(14 nov) NPCs now have a target detection algorithm that considers field of view, target distance, target speed and how much in front of them the target is.
(16 nov) NPCs will now pick a weapon taking into account enemy distance, ammo left and preference (similar, but not exactly like bot weights). Strangely head aim is a bit disappointing now. It will stay off for the moment.
(19 nov) Aiming issues fixed, now giving them a model.
(20 nov) Models are working (the headlessness will be addressed soon)
Enough with these armor shards
(20 nov, 2) Hitboxes work. Wow, it's been quick.
(26 nov) They can now hear sounds. On to map scripting (already partially done).

(30 jul) huge break in the news, but it's still going (albeit a bit slowly).
Now the game will load an additional file alongside the map .bsp (e.g. q3dm1.npcdef) that will contain info about any NPCs used in the map - e.g. hit points, model, speed, acceleration, how you'll interact if you use your action key on them, etc. so that in different maps you can have drastically different enemies - currently up to 8 types, but it'd be really trivial to raise that limit should the need arise.

The rest is done via map editor - their weapon, what to do when spawned, waypoints to follow, etc.
What needs to be done is deaths of NPCs "firing their targets", that is, activating something like a button activates a door. So when you've defeated that boss, the exit door will conveniently open by force of plot.

Additional mapping features (keys, multiple switches to open one door, skill level-based events such as more enemies spawning, ...) are a bit lacking and are on their way in. Already made keys in the classic doom style (blue yellow and red).
The keys could also be used in MP team mode, since the two teams could be made to carry the respectively color-coded key by default...

MD5 support in progress...

MD5 support in progress...

4 years ago News 4 comments

Of course it's not proving too easy, but it's on the pipeline.

RSS feed Downloads
18-08 Release

18-08 Release

4 years ago Demo 3 comments

Release with many serious or trivial bugs fixed, and some attempts at performance improvement.

28-07 Demo release

28-07 Demo release

4 years ago Demo 0 comments

Alright, I had to remove and reupload the 26-07 release since it had a bug with the hitboxes. Anyway, this release has the MD5 mostly working, and is...

Adjusted MD5 blender exporter

Adjusted MD5 blender exporter

4 years ago Modelling Tool 0 comments

Here is the MD5 exporter with a small fix to allow you to export some animations without some channels. That is, some bones move, and other don't - this...

19-06 Demo release

19-06 Demo release

4 years ago Demo 0 comments

New, considerable, update. Includes working (at least, freshly tested...) binaries for Linux and Windows, updated pak files with a new map, source code...

Blender Terrain scripts

Blender Terrain scripts

4 years ago Mapping Tool 0 comments

Blender scripts to turn an elevation grid into a terrain in .map format to be used in Radiant.

Project RDX Source code, 9 May 2011

Project RDX Source code, 9 May 2011

4 years ago Source Code 0 comments

Temporary source code upload. This is split in: engine (openarena-engine-0.8.1) SDK (openarena-RLC) RLC is the old name. Will be renamed RDX soon enough...

Post comment Comments  (0 - 10 of 11)
thewonderboy Jun 20 2011 says:

it worked and it was interesting. damage levels seem to be just perfect (in general). it played quite i was hopping for

headshot hits seem to not work at all... except for bots.

is there possibility to swap your primary/secondary somehow (to those laying in ground) ? i couldnt figure it out.

also one wish for shotty: is it possible to make one of the pellets always hit centre ? i think it could balance it nicely to not be completely useless at longer ranges. some games have done this with pretty nice shotgun balance (Rainbow six vegas 2, BF bad company 2, MOH 2010)

+1 vote     reply to comment
Nubstrike Creator
Nubstrike Jun 20 2011 replied:

Gooood, very good
Yeah, the headshots are iffy, they've always been.
I'm now working on implementing MD5 models (those used in Doom 3) so hopefully I'll scrap current hitboxes completely and re-make them from scratch. The MD3 hit box code is horrendously messy.

About shotty:
It already does - one pellet goes in center. The pellet is just not 100% accurate, but comparable with a pistol. The other pellets go off in a sort of hexagon pattern (7 pellets in total), each with its own spread.

Dropping weapons: Select weapon and press H.
The command to bind is "drop weapon".

+1 vote   reply to comment
thewonderboy Jun 13 2011 says:

either im realy bad or windows (ofcourse its experimental) version just doesnt work.

unknown event *insert number*

i went as far as cleaning my whole baseq3 folder (about 500mb's fo files)

buuuut finished version will be worth waiting :P, i realy dont have a hurry since i need to get new pc, this one is going to toast the videocard. cant realy play much.

+1 vote     reply to comment
Nubstrike Creator
Nubstrike Jun 13 2011 replied:

No worries, probably my fault - haven't really tested the windows binaries. Could be a good time to do so, since apparently they don't work.

By the way, i'm seriously thinking of merging the mod with the xreal engine. Is it as good as it seems? MD5 model support sounds really awesome.

+1 vote   reply to comment
thewonderboy Jun 20 2011 replied:

xreal is neat, not a super engine as they have hyped it to be but very graphics/performance wise.

they have moved on to Wolfenstein ET so the IoQuake 3 version is pretty much dead. but i dont think that matters much.

gotta test the new version of RDX now ---->

+1 vote     reply to comment
thewonderboy May 21 2011 says:

hmm it doesnt work with OA, error i get is "bad system trap 46"

sooo, now i try with chili quake xxl (which comes with external .EXE, one virus infected my Quake3.exe so it was removed.)

i placed pak7-mod.pk3 into baseq3 located in chili quake xxl (its a graphilcal modification, i can run other mods with it but not all) but those binaries i put into Quake 3 folder where chili quake xxl reads them.

result is that i get some weird midgets jumping at me and game with all other basic quake 3 assets.

i guess i have to try with quake 3 demo.

+1 vote     reply to comment
Nubstrike Creator
Nubstrike May 22 2011 replied:


Sounds like you are using Windows...

The only binaries I supplied as of now only work for Linux - hence "linux binaries"
the openarena.i386 and etc. files are basically the linux equivalents to openarena.exe and etc.

OA should work, the mod at this point doesn't use much from Q3 / OA aside from maps, textures and interface.

I'll upload a zip of experimental Windows binaries in moments.

+1 vote   reply to comment
TheLeadHead May 18 2011 says:

Great to see Quake 3 still being modded, do want to see this mod alive!

+1 vote     reply to comment
Nubstrike Creator
Nubstrike May 22 2011 replied:

Yeah, hopefully won't take long. However I always find something new to waste time on.

It's already possible to try a demo, but it's quite tricky to set up as of now.

+1 vote   reply to comment
thewonderboy May 10 2011 says:

great to see it still going :P
So it does work with Q3 and open arena ? I erm... Demolished my quake 3 so have to use OA for now. I spread word a little.


+1 vote     reply to comment
Nubstrike Creator
Nubstrike May 16 2011 replied:

Hi, still going and trying to fix bugs.
Yeah, it works on either, even if the source code refers to some Q3 default models, you would likely get a couple headless characters.
One of these days I will upload the .pk3 with assets and a couple binaries, hopefully tomorrow or so.

+1 vote   reply to comment
Post a comment

You are not logged in, your comment will be anonymous unless you join the community. Or sign in with your social account:

Quake III Arena
Send Message
Release date
Mod watch
Start tracking
Embed Buttons
Link to Project RDX by selecting a button and using the embed code provided more...
Project RDX
Last Update
3 years ago
15 members