News | Forum | People | FAQ | Links | Search | Register | Log in
What Is Wrong With Monster Design In The First Place??
Quote from Lunaran about Kiltron's D3SP map:

It still suffers from all of the things I see wrong with the monster design in the first place, however. No SP map can escape that without accompanying coding.

Do you mean D3 or any SP game, Lun??

Either way, what's the feedback from the floor - is monster design in most FPS games (or perhaps just D3) fundamentally flawed?? If so, why/how, and what could be done to improve it??

Bonus points if you manage to discuss something other than just "Improve AI".
First | Previous | Next | Last
Lunaran 
That's interesting. After reading your info on the wraiths, it struck me that I had created an almost identical monster in QuakeC years ago - a variant of the Death Knight that I haven't used in a release yet. He basically cloaks by becoming invisible and non-solid, but still uses normal movement ai. After a set time (or when in melee range) he uncloaks. Because of the way Quake's movement code works, he will never willingly move through another monster, but others may walk through him. A collison check is thus necessary for him to decide to uncloak, but I still haven't perfected it - he still gets telefragged a little bit too much for his own good :P 
Kinn: 
you can use the same trick id used on the zombies to detect when it is ok for them to get back up and become solid again:

<Q>
self.solid = SOLID_SLIDEBOX;
if (!walkmove (0, 0))
{
self.think = zombie_paine11;
self.solid = SOLID_NOT;
return;
}


walkmove(), although a movement function, it can also be used to determine wether it can mvoe or not. if it is false (0), then it can't move, otherwise it returns true (1).
this should never result in telefragging and is pretty fast. 
Awww... 
i borked the tags. :\ 
Necros 
very useful info - thanks.

However, I always did a very thorough line-tracing bbox check which seemed foolproof (although your method looks much faster).

The problem was not the collision checking, it was related to the lifetime of the teledeath box; there was always a chance that something could touch him in the 0.2 seconds before the teledeath removed itself ^_~

I guess I could just not spawn the teledeath, but I just get the feeling it should be left in... 
... 
well, are you talking about the actual teleport killing where it gibs what was on the position?

or are you talking about the teleport flash?

if it's just the flash, you can easily place that in with:
spawn_tfog (self.origin);

if you want the teledeth box to remove itself after the first touch, then you can put a remove(self) or SUB_Remove() into the touch function at the end, so as soon as it's finished the killing, it will go away.

also, a note, the method i described above for checking if it can become solid or not only works for monsters that walk. swimming and flying monsters don't work... some limitation of the code because walkmove requires the FL_ONGROUND flag set, which it obviously isn't for flying monsters. i briefly talked to FrikaC about this... apparently, you can trick it with setting the FL_PARTIALGROUND flag or something, but didn't really experiement with it.


as a final alternative, you can make a findradius look for any monsters within a certain radius. the findradius is more robust than walkmove, but more complex.


... now, back to the regular d3 monster design thread... 
Necros 
Yeah, i'm quite familiar with the ins-and-outs of QuakeC, it's just that I guess I wanted to leave the teledeath in for "realism" or something. I guess I can take it out no problem, seeing as the walkmove check is pretty safe.

Interesting point about walkmove not working for flymonsters - it's called in ai_run_slide(), which is used by the scrag, so i dunno.

Btw, isn't it about time we a had a permanent QuakeC thread? Considering the number of Q1 mappers here that dabble in QC, i'm sure it would be useful.

anyway, back to Doom... 
Wait, One Last One: 
well, i didn't really explain properly... walkmove is half broke.
it will move the monster, but the actual check is busted, so using walkmove in an if (walkmove) won't work and always returns true, no matter what. 
 
The death knight should telefrag whoever's in his way, except the player. I'd find that to be a cool monster. 
necros: aha. that makes sense.

scampie: what, you mean a monster should gib if he crosses the path of a cloaked deathknight, even if the deathknight isn't uncloaking? That would look freaky, but possibly make balancing combats a bit difficult. 
No 
I mean the deathknight should actively attempt to "uncloak" where other monsters are, and gib them. Just a fun idea, and really, it's that what it's all about? 
The Idea 
of a deathknight cloaking and just strutting through a wave of tiny imps as they gibs under his wake would be pretty fun.

as for actively uncloaking where monsters are... why would it do that.

It seems more in character for such a huge beast to act as if the other baddies aren't even there and aren't even worth the time to check if they're around before he shoots,frags,kills etc...

/me imagines waves of zombies being thrown into the air... 
Hmm 
I think the hellknight tossing other enemies aside would be far cooler than just gibbing them. Just use the ragdoll to send them up and slightly backwards and play the swipe animation at the same time.

Imagine a seeing hoard of zombies shambling towards you and then a couple of hellknights charging through them to get at you :) 
We Should... 
recreate the battle of Helm's Deep with imps...
yeah. THOUSANDS OF IMPS!!!# 
Metlslime 
consider it done.

^_~ 
What, Like This? 
That Excites Me. 
Seriously.

Yes, in that way. 
Czg 
Wow.. defeating thousands of imps just using double barrel shotgun is really challenging... If you are able to survive to this battle, I just can say bravo !! 
Meh.. 
imps in doom weren't that hard. thousands of spider masterminds, on the other hand... 
Extreme Scrag Hordes Show Shortcomings In Flymonster Movement Code 
Ok, I did some more extreme spawner testing, this time using Scrags. I found that after a while, the hordes showed up some serious shortcomings in the flymonster movement code, possibly related to the infamous "Scrags fly through walls" bug.

http://kinn.spawnpoint.org/randompics/scragmerge1.jpg
http://kinn.spawnpoint.org/randompics/scragmerge2.jpg
http://kinn.spawnpoint.org/randompics/scragmerge3.jpg

Sweet dreams >:D 
yeah, that's about right. x.x 
Kinn, The Great QuakeC Code Spelunker 
his legend will live on long after the PC is gone 
Lol HeadThump 
Well, if someone can show me an engine out there that has fixed this issue, I'd probably be so excited, I'd end up "Spelunking" all over my keyboard. 
Hellboy's Attempt 
Being so freaked out by the movie I tried to wrap the thing out of it's vertices and screwed it out so far.
Must say it still has a nasty 1462 triangles, and 771 vertices but for a start I can live with it.

http://members.home.nl/gimli/gnerk.jpg

Further more I'm afraid it will look a lot like the demon fiend as its shape has a lot of it.

http://members.home.nl/gimli/gnerk.mpg

lol! 
Um 
ok? 
Ah 
Hope I didn't disturb anyone. 
First | Previous | Next | Last
You must be logged in to post in this thread.
Website copyright © 2002-2024 John Fitzgibbons. All posts are copyright their respective authors.