Jump to content
The Dark Mod Forums

Giant Spiders


Springheel

Recommended Posts

  • Replies 82
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

BTW, AFs have some standard naming conventions I guess. They need chest, waist, head, ruparm, luparm, lupleg, and rupleg in order for them to work.

Are you sure this isn't the code I just added throwing an error? Those are the specific joints I added in ai_humanoid_base to test the physics that keeps dragged bodies on the floor. If you're inheriting ai_humanoid_base for spiders (which I don't think you should because they're not humanoid :) ), then you'll get errors if you don't have those joints.

 

The humanoid def was intended for things like human biped footstep sounds, KO location and joints to keep on the ground for humanoid creatures, and other AI should use ai_base, or if multiple ones use similar settings you create antoher hierarchy.

Link to comment
Share on other sites

Did anyone make any changes to anything that might have affected the spider's ragdoll in the last twenty-four hours?

 

Yesterday morning I was able to get them into a map by changing the "head_bodyname" to "waist". I may have synced after that, I can't remember. But by the evening, I was getting the bodyID error again: "GetBodyId: no body with the name 'chest' is not part of articulated figure" and maps with spiders were crashing. There is nothing different in the spider's Def file; it is still set for "waist". I have no idea where the "chest" is coming from. The only change I made locally was to the size of the AAS box, but that shouldn't have had anything to do with it.

@Spring: Please see above. In my update for keeping dragged bodies on the ground, I added some AF body names that are checked to make sure they stay on the floor to ai_humanoid_base. Since all of our humanoids currently use the guard ragdoll, I assumed it was okay to do this, and assume future ragdolls for humanoids would follow the same naming conventions as the current one.

 

Spiders on the other hand shouldn't be inheriting from humanoid_base, that's the problem.

Link to comment
Share on other sites

Speaking of AFs, I fixed the guard_base & belchers & I found more useful info on AFs:

http://www.doom3world.org/phpbb2/viewtopic.php?t=12485

Having worked some more with this and that, I found some info tucked away on the iddevnet pages that actually made sense in conjuction with some problems I'd been having:

 

On a spider like critter I'm fooling around and making an AF with, I got a lot of weird twitching and thrashing, despite care and careful tweaking of the joints.

 

If your AF, when you punch, shoot or drag it, starts to spin, twitch and thrash around on the floor all by itself, or jumping and 'popping' all over the place without you touching it, then these tips should help:

 

iddevnet had the answer - which one actually fixed it I can't tell yet, so I'll share both of them:

 

1) From iddev: "Make sure the mass of each body is within a reasonable range. Use af_showMass 1 to show the mass of each body. A body mass in the range [1, 100] usually works well. Connecting a very heavy body with a lightweight body often causes problems. It's usually also wise not to make the articulatd figure too heavy. The forces required to keep heavy bodies together can grow quite large and might not be represented accurately in the physics engine."

 

In more pratical terms, go to the VIEW tab and check 'show mass'. This will display the total mass for each BODY in your AF. If your AF has bodies at the END of a chain that have MORE mass than the bodies ABOVE it, then you can get the wierd thrashing of which I spoke. For example, if the UPPER ARM body has a mass of 50, and your LOWER ARM and/or HAND body has a mass of 80, then the AF will think the hand is much heavier than the shoulder and cause the wierd twitching and thrashing. Set the lower body extermities to lower numbers by going to the BODIES tab, selecting the appropriate BODY and going to the DENSITY field. Fiddle with the numbers there until you get better results. Once I set my shoulder body to 60 mass, the upper arm to 40 and the lower arm to 20, I got much better results....

 

2) iddev: " Make sure there are no contact points fighting with joint like constraints. When for instance three bodies are connected with two universal joints, and the bodies are relatively close to each other. The outer two bodies might be considered in contact. The figure will be pulled apart at the contact points while the universal joints try to keep the bodies together. Jumpy behaviour is often the result. Disabling self collision on the whole figure or on certain bodies can fix the problem."

 

In 'normal people language' - If you're making a spider or something similar that has a lot of joints really close together, it can make the AF thrash around a lot. The 'self collision' may be causing this. You can turn off self collsion for the whole model in the PROPERTIES tab. You can turn off self collision for individual bodies with the check box in the BODIES tab. Fiddle around until you get a combo that works best.

 

(Note - turning off self collision did NOT fix my thrashy model problem. I didn't get results until I altered the mass on the individual legs.)

 

Hope this gives yet more clarification to a process that was once a mystery to everyone except the folks at ID......

 

Slyrr

 

EDIT: Crap! They worked fine in the editor :angry: Now they bounce around like crazy :wacko:

Link to comment
Share on other sites

The humanoid def was intended for things like human biped footstep sounds, KO location and joints to keep on the ground for humanoid creatures, and other AI should use ai_base, or if multiple ones use similar settings you create antoher hierarchy.

tdm_ai_humanoid also has some settings relating to AI behaviour which shouldn't be applied to monsters. For example, wine-bottle throwing is disabled for all AI by default, but is enabled for humanoids by way of tdm_ai_humanoid.def. Similarly, IIRC only humanoids will take cover.

My games | Public Service Announcement: TDM is not set in the Thief universe. The city in which it takes place is not the City from Thief. The player character is not called Garrett. Any person who contradicts these facts will be subjected to disapproving stares.
Link to comment
Share on other sites

We'll need a run animation as well. We could probably just speed up the walk animation without it looking terribly bad--I don't think we'd notice much 'gliding' with eight legs.

Link to comment
Share on other sites

I haven't checked out the speeds yet, but if the walk is too slow, could we speed it up a bit and then use the current walk as a searching animation?

Link to comment
Share on other sites

Hey will they be able to walk up stairs like you got the other AI to do, and like the Doom 3 spider droids already do?
I'm having trouble with the ik setup but I'm hoping they will. Having 8 legs with ik is posing a problem. Maybe grouping the legs into 4 groups of two . . .
Link to comment
Share on other sites

I'm having trouble with the ik setup but I'm hoping they will. Having 8 legs with ik is posing a problem. Maybe grouping the legs into 4 groups of two . . .

 

The IK code says:

IK controller for a walking character with an arbitrary number of legs.

 

Then later on it says

static const int MAX_LEGS = 8;

 

That should mean that 8 legs can work, but with documentation like this, you never know. :)

Link to comment
Share on other sites

Once again you're moving at warp speed. Seriously, do you ever have time to sleep? ;)

 

Not important right now, but tdm_spider_child is called that because it is supposed to have a matching colour scheme to tdm_spider_queen. I didn't specifically make it for the baby spiders, and it may not be the best default skin for them in the long run. :)

 

Actually, I'd vote for the spider_pale being the eventual default for the baby spiders--I think that's what colour they were in T2, and as Oddity said a while back, it made them look pretty freaky. :)

Link to comment
Share on other sites

  • 4 weeks later...

major update to the spider: walk ik now works very well now, the small spider's jump attack works, the walking & running is faster. Here's screenies of the ik in action:

spider_ik1.jpg

 

Now here's how he looks on flat ground:

spider_ik2.jpg

 

& here's the spider child's jump attack:

spider_jump_attack.jpg

 

I had to add 8 new joints to the spider in order to get ik properly working:

spider_new_joints.jpg

 

& here's the def file referencing those joints:

	"ik_dir1"						"left_knee_1"
"ik_dir2"						"right_knee_1"
"ik_dir3"						"left_knee_2"
"ik_dir4"						"right_knee_2"
"ik_dir5"						"left_knee_3"
"ik_dir6"						"right_knee_3"
"ik_dir7"						"left_knee_4"
"ik_dir8"						"right_knee_4"

Notice the ik_dir is commented out in the rest of the AI because I didn't rig them in & the builder guard does not have those joints (normally something coming out of the knee joint). The spider needed these joints so the ik knows which direction the joint is going to bend.

 

EDIT: Oh yeah, if you want to see it in action, test_walk_ik.map has him in there now.

Link to comment
Share on other sites

major update to the spider: walk ik now works very well now, the small spider's jump attack works, the walking & running is faster.

 

Can't wait to try it out. :)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recent Status Updates

    • taffernicus

      i am so euphoric to see new FMs keep coming out and I am keen to try it out in my leisure time, then suddenly my PC is spouting a couple of S.M.A.R.T errors...
      tbf i cannot afford myself to miss my network emulator image file&progress, important ebooks, hyper-v checkpoint & hyper-v export and the precious thief & TDM gamesaves. Don't fall yourself into & lay your hands on crappy SSD
       
      · 1 reply
    • OrbWeaver

      Does anyone actually use the Normalise button in the Surface inspector? Even after looking at the code I'm not quite sure what it's for.
      · 7 replies
    • Ansome

      Turns out my 15th anniversary mission idea has already been done once or twice before! I've been beaten to the punch once again, but I suppose that's to be expected when there's over 170 FMs out there, eh? I'm not complaining though, I love learning new tricks and taking inspiration from past FMs. Best of luck on your own fan missions!
      · 4 replies
    • The Black Arrow

      I wanna play Doom 3, but fhDoom has much better features than dhewm3, yet fhDoom is old, outdated and probably not supported. Damn!
      Makes me think that TDM engine for Doom 3 itself would actually be perfect.
      · 6 replies
    • Petike the Taffer

      Maybe a bit of advice ? In the FM series I'm preparing, the two main characters have the given names Toby and Agnes (it's the protagonist and deuteragonist, respectively), I've been toying with the idea of giving them family names as well, since many of the FM series have named protagonists who have surnames. Toby's from a family who were usually farriers, though he eventually wound up working as a cobbler (this serves as a daylight "front" for his night time thieving). Would it make sense if the man's popularly accepted family name was Farrier ? It's an existing, though less common English surname, and it directly refers to the profession practiced by his relatives. Your suggestions ?
      · 9 replies
×
×
  • Create New...