Thursday, 30 October 2014

Custom Characters and AI Meet

Just finished the new system which externalizes the animation frames used in the AI system, so now third party and official character packs can use different animation sets with the central AI system.  A typical example is the Zombie character which in the old version (an aborted build) would not follow paths, but the new one has all the power of the AI system but keeps the custom animations it had:

;anim
animmax       = 1
anim0         = 2552,2603
playanimineditor = 1

;AIAnims (Classic + Zombie)
csi_relaxed1 = 2552,2603
csi_relaxed2 = 2608,2659
csi_relaxedmovefore = 2500,2519
csi_cautious = 2552,2603
csi_cautiousmovefore = 2500,2519
csi_unarmed1 = 2664,2715
csi_unarmed2 = 2720,2771
csi_unarmedconversation = 3046,3094
csi_unarmedexplain = 3105,3155
csi_unarmedpointfore
csi_unarmedpointback
csi_unarmedpointleft
csi_unarmedpointright
csi_unarmedmovefore = 2500,2519
csi_unarmedmoverun = 2500,2519
csi_unarmedstairascend
csi_unarmedstairdecend
csi_unarmedladderascend1
csi_unarmedladderascend2
csi_unarmedladderascend3
csi_unarmedladderdecend1
csi_unarmedladderdecend2
csi_unarmeddeath = 3380,3439
csi_unarmedimpactfore = 3245,3300
csi_unarmedimpactback = 3159,3234
csi_unarmedimpactleft = 3310,3370
csi_unarmedimpactright = 3380,3439
csi_inchair
csi_inchairsit
csi_inchairgetup
csi_swim
csi_swimmovefore
csi_stoodnormal
csi_stoodrocket
csi_stoodfidget1
csi_stoodfidget2
csi_stoodfidget3
csi_stoodfidget4
csi_stoodstartled = 2861,2904
csi_stoodpunch = 2775,2848
csi_stoodkick = 2916,2969
csi_stoodmovefore
csi_stoodmoveback
csi_stoodmoveleft
csi_stoodmoveright
csi_stoodstepleft
csi_stoodstepright
csi_stoodstrafeleft
csi_stoodstraferight
csi_stoodturnleft
csi_stoodsubtleturnleft
csi_stoodvault
csi_stoodmoverun
csi_stoodmoverunleft
csi_stoodmoverunright
csi_stoodreload
csi_stoodreloadrocket
csi_stoodwave
csi_stoodtoss = 2981,3034
csi_stoodfirerocket
csi_stoodincoverleft
csi_stoodincoverpeekleft
csi_stoodincoverthrowleft
csi_stoodincoverright
csi_stoodincoverpeekright
csi_stoodincoverthrowright
csi_crouchidlenormal1
csi_crouchidlenormal2
csi_crouchidlerocket
csi_crouchdown
csi_crouchdownrocket
csi_crouchrolldown
csi_crouchrollup
csi_crouchmovefore
csi_crouchmoveback
csi_crouchmoveleft
csi_crouchmoveright
csi_crouchmoverun
csi_crouchreload
csi_crouchreloadrocket
csi_crouchwave
csi_crouchtoss
csi_crouchfirerocket
csi_crouchimpactfore
csi_crouchimpactback
csi_crouchimpactleft
csi_crouchimpactright
csi_crouchgetup
csi_crouchgetuprocket

As you can see, custom character models will NOT have all the animations the AI system requires, but I will be tweaking the system so it can skip an action if the corresponding animation is unavailable.  It's another way for artists and content creators to shape the behavior of the enemies from with the FPE file :)


The current character model has a little trouble holding the pistol in V1.0085 so we have improved it for V1.009. It's not PERFECT yet but it's a little better than the floaty version it replaces.


Ending on a lighter note, during my work on replacing the hacked internal animation values, my enemy decided to do a swan dive for me.  Thought it was quite amusing, and quite an unexpected attack from my enemy!

Friday sees the work begin on the terrain blending and ramping, which has been a long requested feature and so I am looking forward to seeing what I can do. Watch this space for some terrain magic :)

7 comments:

  1. That last screen shot reminds me of Tombraider ;)

    ReplyDelete
  2. This is great news about the frames and the ability to use 3rd party characters i tip my hat to you ;)

    ReplyDelete
  3. Great work Lee (again) great progress all round.

    Dave

    ReplyDelete
  4. Excellent, excellent! Can't wait to see what happens in the terrain department :D

    ReplyDelete
  5. OMG my animator heart is loving all the new values :D

    ReplyDelete
  6. I know it's minor, but should "stood" be "stand"?

    ReplyDelete
    Replies
    1. Yes. It'd be good if Lee were able to change this easily.

      Delete