halo.bungie.org

They're Random, Baby!

first | previous | next | last

Mat Noguchi GDC 2005 Talk Slide 13

For a simple example, let's take a look at our sound_environment tag. In code, we have a sound_environment struct. To expose this struct to the tag system, we define a TAG_GROUP in C with a little bit of preprocessor magic like so. The tag_group definition provides the tag system with a straightforward mechanism for type reflection; we use reflection to perform universal tasks on tags, such as automatic serialization or building up editors.



bungie.org