Glossary script

Inter- living objects protocol

Protocol

  • 2 livingobjects communicate and interact via a protocol
  • caller ==> callee
  • caller <-- callee return
  • consensus - hand shaking before making any change
  • autonomous - read-only to each others' state
  • any updates that affect determinism must occur no earlier than the upcoming frame transition
  • this treatment is to ensure that livingobjects have equal opportunity regardless of their position on the processing pipeline
  • for explanation of this problem see multi-processing

hit

  • exist between all living objects
  • A ==> B.hit() I hit you!
  • A <-- true accept your hit (hand shaking)
  • A is responsible for keeping arest or vrest, that A cannot interact with B again in a defined time interval
  • B is responsible for putting itself into an effect
  • B may return false under some circumstances, in such case this hit event will cause no change

catch & throw

  • exists only between characters, say A catches B:
  • phase a: when A's itr:kind:1 intersect with B's body, which B is in state 16
    • A ==> B.caught_a() I catch you!
    • B double checks whether itself is in state 16 (autonomous)
    • B transits to itr.caughtact depends on being attacked in front or at back
    • B resets fall, drops weapon and labels A as catcher
    • B returns true, and indicates being attacked in front or at back
    • A <-- true yes you caught me (hand shaking)
    • A transits to itr.catchingact depends on attacked in front or at back
    • A labels B as being caught (a channel established)
  • phase b: A has a cpoint:kind:1, B has a cpoint:kind:2
    • A ==> B.caught_b()
    • B receives and stores A's cpoint
    • B will (in the next TU) move itself to coincide its cpoint with A's cpoint
  • phase throw: when A decides to throw B
    • A ==> B.caught_throw()
    • B transits to cpoint.vaction or (if undefined) a default frame
    • B receives and stores A's cpoint
    • B will (in the next TU) gain velocity and an impulse, and fly away afterwards

0 comments:

Post a Comment