Code Overhaul


SJ’s gamecode (salvatrix) was re-done on the CleanQC-1.01 codebase that gnounc and me worked on recently. This means proper GPL-compatible code from here on out (QuakeC 1.01 is GPL, 1.06 isn’t).

The loot system is now loaded by the game for the first time; if you look closely at the image, you can see it lists the loot items in the console by name and finishes with “Loot table initialized”. It grabs those names dynamically from the lootdef array.

That loot table is a growing struct array containing “lootdefs”. A lootdef is a struct that holds all the properties of an item; the dropchances for the various monsters, name, icon, GUI elements, viewmodels, worldmodels, item type and more. This entire crap is initialized and loaded into RAM when the game starts, and each property of each item can then be accessed and modified as needed. For example to do a weighted random selection, or to transfer items between entities. Thanks are in order to Spike for squishing a critical bug in FTEQCC.

Another fun thing we did recently was test voice chat in FTE. This is going to be mad fun when the bugs are ironed out.

Oh yeah, and there will be crafting in Scout’s Journey; you’ll be able to make all the drugs in the game yourself and recycle used items. The skill tree is probably getting a fourth branch (in addition to movement, combat and psychic skills) – crafting skills.

I recently drafted up some technical documents about how to implement the Quest system as well, including how to transfer such information (and loot, journal, skills etc. on top of that) across levels. It looks like Scout’s Journey is probably going to make use of some Hexen 2 code to accomplish this.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: