MICRO Scripted Action Systems

 

Lucas N Ellis

Lead Software Engineer

opGames Inc.

 

op-games.com

What games ?

  • Originally engineered system for Beakiez
    • opGames Inc. Boulder CO
    • opEngine
  • Nascent Nomadic Engineer Kevin Depue
    • Backflip Studios Boulder Colorado
      • NinJump, Army of Darkness Defense 👍, others . . .
      • Acquired by Hasbro Gaming (Toy Industry)

ACTION_

  • Only a few bytes per action
  • No large state machines / graphs
  • Simple DSL for timed actions
  • Basic procedural animations

 

Can we do anything interesting w/ something this simple?

Basic Action_ Vocabulary

  • Sleep
  • Move
  • MoveTo
  • Rotate
  • RotateTo
  • Smooth
  • Trigger
  • Destroy
  • Scale
  • Most Actions take time

 

  • Modifier Actions shape time 
    • Smooth (start slow, end slow)

 

  • List Actions control sequencing
    • Sequential
    • Loop
    • Parallel

Pong Paddle

  • Loop
    • Move Y=1 Time=1
    • Move Y=-1 Time =1

OnCreated

BOUNCING Ball

  • Loop
    • Fall (ease out)
      • Move Y=1 Time=1
    • Ramp (ease in)
      • Move Y=-1 Time =1

OnCreated

Hovering CUBE

  • Loop
    • Smooth
      • Move Y=1 Time=1
    • Smooth
      • Move Y=-1 Time=1

OnCreated

TRIGGERS: Adding Multiple Systems

  • Triggers
    • Named Action Sets

OnTrigger

Pop a Bubble

  • Parallel
    • Scale Scaling=1.5 Time=0.5
    • Sequential
      • Sleep Time=0.25
      • FadeAlpha A=0 Time=0.25
      • Spawn Class=BubblePop
      • Destroy

BubblePop

  1. Make the bubble bigger
  2. Fade out the bubble at the last moment
  3. Create a pop effect

Beakie Freak Out

  • Parallel
    • Loop
      • Animate Name=Freakout
    • Loop
      • Maybe Chance=0.5
        • RotateTo Yaw=-45 Time=0.1
      • Maybe Chance=0.5
        • RotateTo Yaw=45 Time=0.1
    • Loop
      • Sleep Time=0.1
      • Maybe Chance=0.1
        • PlaySound Name=Chirp

Freakout

Multiple Objects

  • Root Object
    • Trigger Name=!BeakieHappy
      • (! broadcasts to all child nodes)

 

 

  • Beakie Object
    • OnTrigger Name=BeakieHappy
      • Parallel
        • Animate Name=Happy
        • PlaySound Name=Chirp

Demonstration

Contact

lucas@op-games.com

lucas@optml.io

Micro Scripted Action Systems

By Lucas Ellis

Micro Scripted Action Systems

Micro Scripted Action Systems

  • 802