New Quake monster: Spider

Discuss anything not covered by any of the other categories.
Seven
Posts: 301
Joined: Sat Oct 06, 2007 8:49 pm
Location: Germany

New Quake monster: Spider

Post by Seven »

Hello,

I would like to release a new Quake monster that I was working on.
Some time ago I mentioned it in the "What are you working on" thread.

It uses Psionics spider model. I want to thank Psionic very much for his great model.
It was the first time, that I implemented a completely new monster with its own AI, animations, sounds and mean features :)

You do not need 'special' maps to use it, the spider is randomly used/spawned as a replacement for regular Quake monsters.
It has a chance of 30% (adjust the chance for each monster individually in QC if you want) to replace the original Quake monsters.
It works with all maps. If you create new/own maps, you can also call/spawn it via "monster_spider".

When using the random replacement method, I tried to keep the balance of the game by doing the following:
- Spider has the same health as the replaced monster type
- Spider uses a different skin for each replaced monster type (it has 8 skins)


Some more details:

Model by Psionic.
5 skins by Psionic. 3 skins and leg gibs by webangel
Quake implementation (AI, sounds and some effects) by me.

Monster properties:
- 3 different melee attacks
- 1 long jump attack
- 1 ranged attack: Spits out webs that glues the player to the ground for a short (adjustable) time. (default is 2 sec.)
- Has an adjustable chance to resist shotguns and nailguns attacks (default is 25%)
- Has an adjustable chance of hiding / sneeking inside the ground (= suprise attack) (default is 35%)
- Adjustable replacement monster for all Quake monsters individually or spawn it via "monster_spider".
Depending on which monster it replaces, its health points and skin texture will change accordingly.

Special credits to Psionic for his amazing model !!
Thank you for your free contribution.


I included the source, so that everybody who wants, can add the spider into their mods.

Important:
This spider is engine independent (read some comments/notes inside spider.qc for more details)
The QC source is vanilla Quake 1.06 with my adds included.
See the qc-files change dates to see which files I modified (besides the new spider.qc ).
I commented every new entry with: // added by Seven so that you can find them easily and copy/paste it into your mod.
I also tried to comment the new things as good as possible inside spider.qc so that it is easy to understand.

Please forgive the messy code. :-)


I also made a different version for Darkplaces engine (which uses a lot of dpextensions).
That version has extended visuals, particle effects, High res skins and a special death animation (and other stuff that nobody really needs).
The DP version can be downloaded here (if you are interested):
http://quakeone.com/forums/quake-mod-re ... thers.html

This is the DOWNLOAD for the engine indepenedent version:
http://rapidshare.com/files/4056222459/ ... _Seven.rar

I hope that some of you enjoy it. Feel free to use anything from it in your mods if you want.

Here is a short youtube clip to see the spider in action (it shows the Darkplaces version):
http://www.youtube.com/watch?v=1RUMEjOjwiw

Image

Kind regards,
Seven
CocoT
Posts: 695
Joined: Tue Dec 14, 2004 5:39 pm
Location: Belly-Gum
Contact:

Re: New Quake monster: Spider

Post by CocoT »

This looks very nice! Thanks for the share! :)
Neurotic Conversions - New location: Update your bookmarks!
Dr. Shadowborg
InsideQC Staff
Posts: 1120
Joined: Sat Oct 16, 2004 3:34 pm

Re: New Quake monster: Spider

Post by Dr. Shadowborg »

Thanks for this. :D

Initial examination indicates that he's not THAT engine independent, largly due to his rather massive triangle count at 3804. (I may do a lower-poly remake of his model later when I have time, just so that FQMV doesn't choke on it.)

Noted bugs:

His animations appear all messed up ingame, though I've only tested this in FTEQW and BJPQuake. I'll take a look at your code later and see if I can't fix this. :wink:

All in all, VERY COOL. :)
Seven
Posts: 301
Joined: Sat Oct 06, 2007 8:49 pm
Location: Germany

Re: New Quake monster: Spider

Post by Seven »

Hello Dr. Shadowborg,

Yes, you are of course right.
The QC that I used is "engine independent", as it doesnt use any engine specific extensions.
So that is not the issue and the spiders code runs fine.
The bottel neck is clearly the spider model itself. :|

I just tested and it seems that the max. vertices limit for a .mdl model is: 2048
(EngineX is telling me this as the reason why it wont load it.)
The spider has a few more... unfortunately.
QME didnt report any issues during convertion and saving, so I thought everything is fine...


Engines I tested, that can handle the spider without any issues are:
- DirectQ
- Darkplaces


Engines I tested, that can handle the spider, but have issues with your above mentioned "animation framegroup mixup":
- FTEQW
- Qrack (when spider is converted into .md3)

The result is that the spider goes into different animation framegroups that it should not (mainly death and jump animation).
Spike or R00k can surely tell us the shortcut extension or cvar to fix this in their engine :)

The total amount of animation frames of the spider is: 401 frames
(maybe this is resulting in FTEQWs and Qracks mixup of animations...?)


The solution for both above mentioned issues would be to
1.) reduce the vertices of the spider model (or use .md3 format)
2.) delete some animation frames (if that is causing the mixup in FTEQW and Qrack, and there is no cvar/command for a fix ?)
This would make it usable for all "replacement-content-supporting" engines.

I am very sorry for the inconvenience.
The engine, which I used for developing the spider is Darkplaces, so I could not see the issues.

Kind regards,
Seven
Spike
Posts: 2914
Joined: Fri Nov 05, 2004 3:12 am
Location: UK
Contact:

Re: New Quake monster: Spider

Post by Spike »

vanilla network protocols have a limit of 256 frames. you can probably use framegroups as a way around that if you need.
using more frames than that is an extension.
regarding qrack, r00k was working on addding support for fitzquake's protocol, so that should fix that.
regarding fte, there's some debug_pext_replacementdeltas cvar/feature which I keep tweaking, that should provide this extension with a few other bumped limits. You could also use csqc, but that's overkill.
r00k
Posts: 1111
Joined: Sat Nov 13, 2004 10:39 pm

Re: New Quake monster: Spider

Post by r00k »

I dont see why csqc is overkill. :)
Server tells client, ent is dead, client does animations. done. No need fo rthe server to send frame->frame->frame->... for death animations....
Spike
Posts: 2914
Joined: Fri Nov 05, 2004 3:12 am
Location: UK
Contact:

Re: New Quake monster: Spider

Post by Spike »

r00k, because that's not really any different from just using framegroups. :P
altough csqc and iqm would mean the spider would be able to move each leg individually, in case you want better cornering. that's most useful if it was a car. and its a spider, not a car. meh.
Seven
Posts: 301
Joined: Sat Oct 06, 2007 8:49 pm
Location: Germany

Re: New Quake monster: Spider

Post by Seven »

Thank you very much for your answeres Spike and R00k.

As far as I understand, with implemented fitzquake's protocol qrack can run the animations (so R00ks new builds should do fine).
And for FTE, it is also possible with enabled "limit-extending-cvars".
(By the way: FTE also supports Q3A. Is the anim limit also 256 in Q3A ?)

Regarding CSQC:
If we would use csqc for that little fellow spider, even less engine could support it anymore due to missing csqc support.
So csqc would (even though it is a solution for almost all issues :P ) not help here, to get more engines supporting the actual spider.

Removing animations from 401 to 256 is a lot. That would ruin the monster I think. Or I would have to delete all of the random animations (like look-around or that little jump) which makes it so sweet :)

Anyhow, at least now we can say that 4 engines support it in the actual condition.
Thank you again for your clarification and help.

Best wishes,
Seven
Nahuel
Posts: 495
Joined: Wed Jan 12, 2011 8:42 pm
Location: mar del plata

Re: New Quake monster: Spider

Post by Nahuel »

Hello Seven, you can convert this model to mdl for quake 1 using neosis and milkshape 3d. first, you need to optimize the poly count (with tools, directx mesh . after you need "reasign" all bones to the correct (maybe is some tedious work). After you can "scale" the number of animations to 250 or the limit (tools scale animation), export to md3 (maybe), and convert it to mdl with neosis (you can scale the skin easily with neosis)
EDIT: I did the work (i didn´t optimize the polys)
this spider will work un vanilla, i escale the animation count to 218 frames
http://www.mediafire.com/?zcaa21g2tov9drw
hi, I am nahuel, I love quake and qc.
Spike
Posts: 2914
Joined: Fri Nov 05, 2004 3:12 am
Location: UK
Contact:

Re: New Quake monster: Spider

Post by Spike »

Seven, Q3's protocol has a 16-bit frame field. Plus it has a clientside module (effectively csqc, with a 31bit frame field). Q2's protocol has a 16bit frame field also.
Seven
Posts: 301
Joined: Sat Oct 06, 2007 8:49 pm
Location: Germany

Re: New Quake monster: Spider

Post by Seven »

Hello Nahuel,

Yes, what you explained was exactly the way I converted the model from Psionic.
Original Psionic model was milkshape 3d format.
From there I went to .md3 and then .mdl

Once I had .mdl I created "rough" framegroups from the existing animations.
But as you maybe have seen, Psionics animations are different to my modified version.

I had a "vision" in my mind how the spider should move and behave inside Quake. So I had to rework them to make the Quake animations I had in my mind.
I ended up with 401 frames (which are distributed into several frame groups).
As far as I remember Psionics original model had even more than 500 frames.
I am no modeler, so this work took me the most time in this small project.

Due to the fact, that I didnt know about a max. vertices and max. anim frame values, the result is as it is. :|
QME never told me that I overcrossed the limit border... during saving the "quake .mdl" format.

If I would rework the animations again (to almost half) and also rewrite the whole qc code for that, it would take quite a long time.
Due to my available freetime this will most probably not happen.

So in the end, I have to say sorry for only beeing "compatible" with 4 engines.
But I have learned a loooot and had fun during this spider development. Which is good.
And I want to thank you for taking your time to give feedback and test this little fellow spider.
Maybe some will still find it useful. For me it is big fun to play aginst the spider in Quake. :)

Have fun,
Seven
taniwha
Posts: 401
Joined: Thu Jan 14, 2010 7:11 am
Contact:

Re: New Quake monster: Spider

Post by taniwha »

Interestingly, the max vertices count was 2000 for sw and 1024 for gl. It seems the limit got removed from QF long ago.

Final death throes:
commit 1e57bcdca27dc4886616675b52e0bd5c422b1790
Author: Seth Galbraith <sgalbrai@linknet.kitsap.lib.wa.us>
Date: Sat Jan 5 17:56:33 2002 +0000

no more hardcoded MAXALIASVERTS limit
I still haven't played with the spider (time), but the high vert, high frame version will be good for ensuring QF can handle such :)

As for csqc: QF is slowly inching its way towards having it.
Leave others their otherness.
http://quakeforge.net/
ceriux
Posts: 2230
Joined: Sat Sep 06, 2008 3:30 pm
Location: Indiana, USA

Re: New Quake monster: Spider

Post by ceriux »

engines with csqc are always sexy
goldenboy
Posts: 924
Joined: Fri Sep 05, 2008 11:04 pm
Location: Kiel
Contact:

Re: New Quake monster: Spider

Post by goldenboy »

If we would use csqc for that little fellow spider, even less engine could support it anymore due to missing csqc support.
The RemakeQuake engine is based on Fitzquake and has CSQC, so wtf is csqc not in other Fitzquake derivatives yet?
leileilol
Posts: 2783
Joined: Fri Oct 15, 2004 3:23 am

Re: New Quake monster: Spider

Post by leileilol »

Easier said than done.
i should not be here
Post Reply