bjoernknafla + altdev_behavior_tree_series_references   27

Behavior Tree Entrails « #AltDevBlogADay
Data structures and their interplay used in my data-oriented behavior tree experiment.
altdev_behavior_tree_series_references  behavior_tree  data_oriented_design  gameai  gamedev 
december 2011 by bjoernknafla
A Dynamic Component Architecture for High Performance Gameplay by Terrance Cohen
From the website: "Delivered at GDC Canada on May 7, 2010, this presentation details a dynamic component architecture used in the Resistance franchise to represent aspects of entity and systems' behavior. This component system addresses several weaknesses of the traditional game object model for high-performance gameplay, particularly in multi-threaded or multi-processor environments. Dynamic components are allocated and deallocated on-demand from efficient memory pools, and the system provides a convenient framework for running updates in parallel and on different processors such as SPUs. The system can be layered on top of a traditional game object model, so a codebase can gradually migrate to this new architecture. The presentation discusses motivations and goals of the system as well as implementation details."
altdev_behavior_tree_series_references  data_oriented_design  gamedev  optimization 
april 2011 by bjoernknafla
Introduction to Behavior Trees » #AltDevBlogADay
First article a series of blog articles about my experiment of marrying data-oriented, memory-streamlined behavior trees with a second representation to ease creation and modification during development.
behavior_tree  gameai  gamedev  altdev_behavior_tree_series_references 
february 2011 by bjoernknafla
Seven Degrees Of Freedom: Pitfalls of Object Oriented Programming
Tony Albrecht takes a C++ OO code example and otpimizes it in a data-oriented way showing the steps and the performance gains and demonstrates memory layout and cache usage and misses.
gamedev  programming  optimization  altdev_behavior_tree_series_references 
january 2010 by bjoernknafla
Seven Degrees Of Freedom: The Latency Elephant.
Tony Albrecht motivates the need for data-oriented programming if performance counts: the gap between processor and memory performance (cycles per access) widens more and more. Know your hardware, your compiler, the data and its flow through the software. Put data into homogeneous pools or keep data used together in contiguous blocks. Spatial and temporal locality of data is important. Data-oriented design results in simpler code, makes data dependencies clear, and is easier to parallelize than OO code. OO has its place though - for example in the 80% of code which isn't performance sensitive.
gamedev  programming  altdev_behavior_tree_series_references 
january 2010 by bjoernknafla
Not Your Father's Von Neumann Machine: A Crash Course in Modern Hardware
Dr. Cliff Click's and Brian Goetz's Slides from JavaOne 2009 that clearly demonstrate that we need to think data, not code, to use todays many-core machines. Optimize for throughput to hide latency. Avoid cache misses. Sharing mutable data is evil.
hardware  programming  parallelization  altdev_behavior_tree_series_references 
january 2010 by bjoernknafla
Beautiful Pixels: Multi-Platform Multi-Core Architecture Comparison (PC, Wii, Xbox 360, PS3, CUDA, Larrabee)
Vincent Scheib takes an abstract view on different parallel game computing architectures, abstracting registers, CPU cores, caches, local storage, memory, GPU memory, GPU and showing sharing and connections for homogeneous and heterogeneous architecture.
parallelization  hardware  altdev_behavior_tree_series_references 
january 2010 by bjoernknafla

Copy this bookmark: