Next: Introduction Up: Data-Oriented Design Previous: Data-Oriented Design
New version now available here at www.dataorienteddesign.com/dodbook/
This page is from the beta release of the Data-Oriented Design book. There are errors, spelling and factual, and this page is only kept for purposes of maintaining old links.
- Data-Oriented Design
- It's all about the data
- Data is not the problem domain
- Data and Statistics
- Data changes
- How is data formed?
- What can provide a computational framework for such complex data?
- Existence Based Processing
- Why use an if
- Don't use booleans
- Don't use enums
- Prelude to polymorphism
- Dynamic runtime polymorphism
- Event handling
- Component Based Objects
- Hierarchical Level-of-Detail and Implicit-state
- Condition Tables
- Building Questions
- Flip it on its head
- Logging decisions for debug: Making answers talk for themselves
- Branching without branching
- Finite State Machines
- Searching
- Indexes
- data-oriented Lookup
- Finding lowest or highest is a sorting problem
- Finding random is a hash/tree issue
- Sorting
- Relational Databases
- Normalisation
- Implicit Entities
- Components imply entities
- Cosmic Hierarchies
- Structs of Arrays
- Stream Processing
- Beautiful Homogeneity
- Optimisations and Implementations
- Tables
- Transforms
- Spatial sets for collisions
- Lazy Evaluation for the masses
- Not getting what you didn't ask for
- Varying Length Sets
- Bit twiddling decision tables
- Joins as intersections
- Data driven techniques
- Concurrency
- In Practice
- Maintenance and reuse
- Design Patterns
- What caused design patterns
- Data-Oriented Design Patterns
- Existing design patterns
- Locking out anti-patterns
- Game Development Patterns
- What's wrong?
- The Harm
- Mapping the problem
- Internalised state
- Hierarchical design
- Divions of labour
- Reusable generic code
- Looking at hardware
- Sequential data
- Deep Pipes
- Microcode: virtually function calls.
- Single Instruction Multiple Data
- Predictable instructions
- Future
Richard Fabian 2013-06-25