Download E.B.P.L. USER GUIDE AND LANGUAGE
Transcript
Contents 1 Introduction 1.1 ebpl structure . . . . . . . . . . 1.2 BrainCompiler . . . . . . . . . 1.3 ebpl program. . . . . . . . . . . 1.4 Getting started . . . . . . . . . . 1.4.1 Running the simulation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 1 1 2 4 2 ebpl Language 2.1 Agent Characteristics . . . . . . 2.2 Agent Brain . . . . . . . . . . . 2.2.1 Brain Stacks . . . . . . 2.2.2 Global Variables . . . . 2.2.3 Variables . . . . . . . . 2.2.4 Functions . . . . . . . . 2.2.5 Call Lists . . . . . . . . 2.3 EBPL language structure . . . . 2.3.1 Stack Operations . . . . 2.3.2 Variable Operations . . . 2.3.3 Variable Opcodes . . . . 2.3.4 Collisions . . . . . . . . 2.3.5 Environment Collisions . 2.3.6 Structure Opcodes . . . 2.4 Drawing . . . . . . . . . . . . . 2.4.1 MiniGL Opcodes . . . . 2.4.2 Affine Transforms . . . 2.4.3 Drawing Primitives . . . 2.4.4 Line Drawing . . . . . . 2.4.5 MiniGL Example . . . . 2.4.6 AgentRender . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 5 5 6 7 7 7 8 8 8 11 11 12 13 14 15 15 15 16 17 19 20 3 Programmable Particles 3.1 Simple Particles . . . . . . 3.2 Cone Emit Particles . . . . 3.2.1 Wind vector . . . . 3.3 Projectile Motion Particles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 24 26 27 29 4 Flocking 4.1 A simple Flock in ebpl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Advanced Flocking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3 Avoiding Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 33 38 47 5 Agent Render 53 . . . . . . . . . . . . i