Jump to content
The Dark Mod Forums

Simple animals


Baddcog

Recommended Posts

  • Replies 179
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

Cool. :) He's steadily looking less cute and more rat-like.

 

I agree with Domarius, this has to be the most detailed rat I've ever seen in-game. Normally they're rather nondescript grey/brown blobs in a vague rodent shape.

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

I agree with everyone else. This is much better than I even hoped! :)

 

Hmm, I can't help but wonder how hard it would be to make giant rats as adversaries....

Link to comment
Share on other sites

thanks guys, glad you're diggin him.

 

I just chopped and dropped the tex from that pic Spring posted. Worked out better than I had planned, I was gonna try and paint him.

 

Giant rats eh? Like sword weilding ones :D

Seriously though I think it would be pretty easy to add an attack anim, maybe 2 to mix it up. I don't think Morrowind or Oblivion really had more anim than that. search, walk, run, attack. well, death anim.

I almost think just large rats in a pack would be better than giant ones.

Dark is the sway that mows like a harvest

Link to comment
Share on other sites

I didn't mean the rat-men of TDS. :) More like dog-sized rats. They're a fantasy staple, and would fit well in lots of Thief-like environments (sewers, crypts, caves, abandoned city quarters, etc). Since we'll already have walk and scamper animations, we'd only really need an attack (maybe search) and a ragdoll.

 

Just an idle thought. I have a feeling lots of little rats wouldn't work well, for performance reasons.

Link to comment
Share on other sites

I have a feeling lots of little rats wouldn't work well, for performance reasons.

They wouldn't, but since there's no point running the whole AI script for them, it'd be better than lots of guards.

 

On that note, I think we should make separate, cut-down AI scripts for ambient animals, rather than having them do the whole sentry/patrolling/searching thing. Doesn't seem like it'd make much sense to have a rat guarding anything. ;) And if they don't have to react with as much fidelity as human AIs, we might be able to make them a bit more efficient. Just have them wander around if the player is nearby (they can safely go dormant if the player is a long distance away), and run away if the player gets too close. No need for vis checks (they have good night vision) or audio alerts (they don't need to respond differently based on how loud the player is being).

 

I imagine it'd go something like this: Every few frames, just do a simple, cheap, quick-n-dirty distance calculation from the player to the rat. If outside X distance, the player is too far away to notice us, so go dormant for a bit. If inside Y distance, the player is too close, so FLEE! Otherwise, pick a random AAS pathfinding node a short distance away and go there.

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

IMO the mouth opening to attack might be appropriate for "giant" rats, but on the small ones, I'd rather save some polies by not including a rigged mouth and be able to have more onscreen than have tiny mouths opening and closing that people most likely won't notice.

 

@Crispy:

I agree we should have simplified AI behavior for animals. Especially animals that flee rather than attack. Your ideas sound good. Even for animals that do attack you, if they're dumb enough, I think we could skip the whole hiding spot analysis, prioritization and search. Instead we could do something like random walks starting near the point of the alert. Kind've like what the AI used to do way back when I just put in a placeholder random walk, random time search algorithm.

Link to comment
Share on other sites

Don't know if iot is that simple. After all, even though the rat might wander almost aimlessly, if it flees the player, one would expect that it looks for a hole or something. If they are just moving randomly it might look strange, if they start to bunch up in some corner or somesuch behaviour. So the randomness should have some limitation to it to avoid this.

Gerhard

Link to comment
Share on other sites

Well, if you want an attacking rat we should decide fairly soon.

It would probably need a mouth that opens to bite.

 

Hmm. I really don't want to turn it into a 'project'. It was just something I thought might be an easy addition to the current rat. Would it be crucial for it to open its mouth when attacking? It will be so close to the player, and so quick, that it might not even be noticed.

 

If it's going to take a lot of extra work, then it should probably wait.

 

 

As far as directory:

 

models>md5>chars>montsers

or

models>md5>chars>small animals?

 

The regular versions wouldn't go under monsters...I like Crispy's term, 'ambient_animals'.

 

I agree we should have simplified AI behavior for animals.

 

I agree as well.

 

I thought perhaps they might be able to make use of spawn and exit nodes, however, so that they don't get bunched in a corner somewhere like Spar said. If the rat flees, it flees to the nearest predetermined exit node, where it disappears (the mapper can put this somewhere believable, like next to a hole or under a pile of crates). It would then respawn at any 'spawn' node that isn't in the player's area. Is that difficult to do?

Link to comment
Share on other sites

Even for animals that do attack you, if they're dumb enough, I think we could skip the whole hiding spot analysis, prioritization and search. Instead we could do something like random walks starting near the point of the alert. Kind've like what the AI used to do way back when I just put in a placeholder random walk, random time search algorithm.

Yeah, that would be good.

 

Don't know if iot is that simple. After all, even though the rat might wander almost aimlessly, if it flees the player, one would expect that it looks for a hole or something. If they are just moving randomly it might look strange, if they start to bunch up in some corner or somesuch behaviour. So the randomness should have some limitation to it to avoid this.

This is why I suggested picking a somewhat distant (but not too distant) AAS node and pathfinding to it. That way it looks like there's some purpose to the movement, and they shouldn't bunch up at all.

 

If they were just doing some kind of crappy "random walk" where you pick a random direction and go until you hit something or a randomised timer expires (which is the naïve solution), then I agree that would look bad. Hence the need for proper pathfinding.

 

It strikes me that AAS32 isn't really appropriate for a rat (technically they should be able to scurry through small holes that normal AI couldn't even dream of fitting in), but I don't think that's important enough to care about. At least it'll help them avoid getting trodden on by other AIs. Only problem is that you could theoretically have an AI refusing to walk down a corridor just because there's a rat in there (and not in a realistic "help, a rat" fashion, but rather in a blatantly obvious "my pathfinding is confused" fashion). Can we instruct AI to ignore other particular AIs for the purposes of pathfinding?

 

I thought perhaps they might be able to make use of spawn and exit nodes, however, so that they don't get bunched in a corner somewhere like Spar said. If the rat flees, it flees to the nearest predetermined exit node, where it disappears (the mapper can put this somewhere believable, like next to a hole or under a pile of crates). It would then respawn at any 'spawn' node that isn't in the player's area. Is that difficult to do?

Doesn't sound too difficult, and it makes the decision of where to flee to easy, but it does create some extra mapper labour to place the points. I guess we could make them optional (fleeing to a semi-randomly selected AAS node if there are no exit nodes present).

 

This is really not worth obsessing over, though - it'll look fine either way and that's all that matters.

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

I thought perhaps they might be able to make use of spawn and exit nodes, however, so that they don't get bunched in a corner somewhere like Spar said. If the rat flees, it flees to the nearest predetermined exit node, where it disappears (the mapper can put this somewhere believable, like next to a hole or under a pile of crates). It would then respawn at any 'spawn' node that isn't in the player's area. Is that difficult to do?

 

Sounds pretty good to me, and definitely not that hard to do. But I guess then we need to also have some additional keys. Probably an area brush, that determines where such ambient animals are allowed to move around and the maximum number of ambient animals available at any given point in time.

Otherwise, if a rat goes away, we wouldn't know that we should respawn it again.

Gerhard

Link to comment
Share on other sites

I posted last night, IE lockedup when I was almost done, arghh... let's see if I can remember what I posted:

 

I'll let you guys worry about pathfinding, ect...

--------------------------------------------------

Rat Mouth - Attacking rats

 

I think an opening mouth would look best. But you are right, player might barely see it, unless maybe a rat was attacking a guard.

I still think 2-3 small attacker would be cool, but do realize the prob is not polys (maybe 600 each) but the AI computations.

 

The reason I'd like to do a mouth for them all (IF we want a mouth on large rat) is that it'll only increase polys by 30-50. Reasonable since it's only at -500 polys now.

 

If I gav all rats a mouth I wouldn't have to re-rig for a lartger version, which would also mean reanimate. Adding verts and polys messes up the order and count and bone attachments.

 

But if you guys are fine with NO mouths on any of them that's perfectly fine by me. I still have some touch ups to do so there's time to decide.

I might like to start rigging by next weekend.

------------------------------------

 

I will put the rats into ambient_animals

 

But I think if we do a large attacking rat it should probably be in monsters (help the author defferentiate between a standard rat and a monster rat)

-------------------------------------

 

As far as AI scripting goes this is what I think we should do:

 

Very Ambient Creature:

base creautre scripts. these are ravens, butterflies, dragonflies, snails. Animated but don't attack, not even aware of player. All they do is patrol, whether on ground or air (I'm not sure how flying creatures play into simplicity)

 

Ambient Creatures:

rats, same as above BUT they are aware of player and will flee.

possibly frogs. I'd like to do a bullfrog at some point. Big fat slimy bullfrog, not T2 chicken leg frogs. (This might be an after release thing, but would be cool to have some kindof base scripting to use)

 

Not so Ambient creatures:

Attacking rats, possibly exploding frogs.

Can patrol, CAN detect player. Can attack. But very basic, they see polayer they charge, that's it. No figuring out what they should say/whatever. Just patrol/attack.

---------------------

probably all creatures should die. with instecs death very low priority. If a snail is hit with sword and doesn't die no biggie.

But if a racne is shot with arrow it should die, same with all rats. They will have AF's anyway, and a death anim is quick and easy. It would suck if a rat got shot and just kept trolling.

Dark is the sway that mows like a harvest

Link to comment
Share on other sites

One of my more perverse joys in games is killing ambient animals (shooting ravens in HL2, stomping rats/shooting bats in Undying, etc), most of the time because they're so much harder to kill. It really helps to keep the player immersed if he can kill those animals. I doubt a snail would really need a death animation, though; the only way a player would notice it were dead is if it were splattered.

 

Definitely include death animations for ambient animals.

Link to comment
Share on other sites

Yeah. I was also thinking about it. We could also make them dissapear by letting them running into a wall. I still think that the mapper must define the area they are allowed in though, with a few additional parameters. When respawning we need to make sure that the spawn behind a wall, and we could let them clip through the wall, as if they came out of a rathole.

Gerhard

Link to comment
Share on other sites

Definitely include death animations for ambient animals.

 

They don't need actual death animations. That's what ragdolls are for. We definitely don't want to start putting more time into ambient animals than we do our actual AI.

Link to comment
Share on other sites

As I haven't got to mess around too much with this stuff yet I wasn't sure how it works. If you shoot a rat and it dis and just falls into an af lump that's OK by me. I thought maybe it needed the deathanim to get to dead heap state.

 

I thik rat holes would be a great addition to maps. It is something hat alot of people wanted to accomplish in T2. The only real way was to make a wall (object) that blocked only the player. I could have a 'rat hole' modeled into it. Then an Ai could go thru. Any AI of course.

 

It's deffinately something players would notice, but I think it should be an authors choice. Not sure we should g to great lengths to fix up pathfinding to make it happen though.

Dark is the sway that mows like a harvest

Link to comment
Share on other sites

They don't need actual death animations. That's what ragdolls are for. We definitely don't want to start putting more time into ambient animals than we do our actual AI.

I guess I really meant having them actually go to ragdoll--that they actually, recognizably die. Literal death animations are not so important, no.

Link to comment
Share on other sites

For dying, it would probably be easiest to signify it by having their body jump a few inches in a random direction as soon as they die and turn into a ragdoll. No need for a fancy animation or anything, just a small physics push that makes it look like the rat jumps from shock as they keel over. Then it would be easy enough to see that their body is indeed dead and turned into a ragdoll, and it shouldn't interfere with a physical object hitting and killing them (box, arrow, etc.) since the object would have far more force than the small death push would.

 

Otherwise, man that's a nice looking rat. Amazing how much detail that thing will have considering it will be so small in the player's view. Could definitely be resized to be bigger without hurting its realism. Oh and for the mouth, I'd suggest adding one just in case, but honestly I'm not sure if it would even be very noticable if it doesn't open it's mouth when it attacks. Would still be a nice detail though.

 

Just out of curiosity, if we do start adding more ambient animals into the game, would it be worthwhile to maybe have certain creatures attack/respond to eachother? I think it would be pretty cool to see cats attack and kill rats, dogs barking at cats, etc. (assuming we even have enough ambient animals for that). It obviously wouldn't require guard-level AI complexity since we can pretty much just ignore everything except line-of-sight between creatures, but I'm unsure of what other issues might crop up because of it.

Link to comment
Share on other sites

if we do start adding more ambient animals into the game, would it be worthwhile to maybe have certain creatures attack/respond to eachother? I think it would be pretty cool to see cats attack and kill rats, dogs barking at cats, etc. (assuming we even have enough ambient animals for that). It obviously wouldn't require guard-level AI complexity since we can pretty much just ignore everything except line-of-sight between creatures, but I'm unsure of what other issues might crop up because of it.

 

Well, like I said, we don't want to be spending a lot of time on ambient animals when our primary AI are still far from finished.

 

Trying to make realistic cat or dog behaviour would be quite complex, as people are very familiar with both animals. Way back near the beginning of the mod we had a lot of discussions about this, and we decided that cats and dogs would only be added for scripted sequences (eg, a cat could sprint across the hall ahead of the player when he gets to a certain point) since then they don't have to actually react to the player.

 

Rats are much simpler, and people are generally less familiar with them, so they're ok. My raven idea was to simply have a raven that sits, turns his head back and forth, and caws (with a ragdoll in case it gets hit by an arrow). It wouldn't be interactive or meant to be approached by the player.

Link to comment
Share on other sites

I thought an owl sitting there acting like you described the raven would be cool too.

 

I figured you wanted a flying raven Springheel. Easy either way, both ways could be easy too. Maybe even a take off anim. So it could hang out and caw, be triggered by an event and take of then just fly around, or fly out of view...

 

Just a little ramble.

 

--------

the rat:

I guess I'll skip the mouth. Almos dded a partial open one just for shape. can stil do it if needed. pretty much finished. I'll take a screen and post for review.

 

OK, this is without a normal map. I need to do alot of touch up to it. I think he's done.

added some alpha hair under body. lighting looks off because this is object/had to spliut polys to do 2 materials (one alpha blend - No Shadows).

NoSelfShadow might work for only one material in md5, haven't gotten that far yet. Either way the lighting will be smooter there.

 

He has feetsies now.

ratwipnv8.jpg

Dark is the sway that mows like a harvest

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

    • nbohr1more

      Was checking out old translation packs and decided to fire up TDM 1.07. Rightful Property with sub-20 FPS areas yay! ( same areas run at 180FPS with cranked eye candy on 2.12 )
      · 1 reply
    • 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
       
      · 3 replies
    • 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
×
×
  • Create New...