10 likes | 179 Views
For more information visit FlexBot online:. http://www.cs.nwu.edu/groups/amrg/flexbotmain.html. FlexBot: Behavior-Based Techniques Meet Half-Life. Behavior-based AI in Half-Life Multi-play Bots NPC’s controlled via behavior-based techniques
E N D
For more information visit FlexBot online: http://www.cs.nwu.edu/groups/amrg/flexbotmain.html FlexBot: Behavior-Based Techniques Meet Half-Life • Behavior-based AI in Half-Life Multi-play Bots • NPC’s controlled via behavior-based techniques • Programs compile to parallel networks of finite state machines • All inferences completely recomputed on each decision cycle • Rapid bot development using GRL language • Full LISP-style macros and (compile-time) higher-order functional programming • Program modules are small and dynamically interchangeable during runtime • Complex Three-Dimensional Terrain Navigation • Low-overhead solutions for navigating three-dimensional environments • Sensors and actuators allow bots to interact with their environment in all three dimensions (change view pitch, climb ramps, perch on ledges, etc.) • Development Team: • Greg Dunham • Nick Trienens • Sanjay Sood • Aaron Khoo • Under guidance of: • Ian Horswill • Observation & debugging • Active participation • Participate in multiplay-mode games with humans and/or competing bot behaviors • Observation modes • Chasecam mode gives 3rd person view of bots • Freecam mode for free-floating view of carnage • GUI debugging tool • Real-time monitoring of program signals and internal state • Tournament mode with live, web-based StatServer • Pit competing teams of bots against each other in Half-Life Teamplay mode • Scores and statistics dynamically available via HTTP • Performance (on a 400 Mhz Pentium II) • Compiled machine code is extremely efficient: • 0.3% of CPU per bot • Small memory footprint • Game engine is the bottleneck, not the AI • Example bot: The Ledgewalker • Strategy: walk along high ledges, picking off enemies from above • Behavior stack • Shoot a visible enemy if in range • Approach to reasonable range for current weapon • Turn to sound if heard from behind • Respond to shots by searching for enemies • Unwedge from tight places if stuck • Pick up nearby weapons, ammo, or supplies • Go towards waypoints/attractors (doors or ramps) • Avoid falling from dangerously high ledges • Follow freespace • Planned Improvements • Storing state information about key locations or enemy positions • Better use of map information • Full path planning Northwestern University