Game Development Reference
In-Depth Information
20.5 Conclusion
We have presented a simple and ecient data-driven design solution for C++
projects based on the YAML data description language. This solution success-
fully meets adoption requirements both on the developers' and the artists' side by
making it easy to integrate structured and human-readable data into C++ code at
runtime.
The yaml-cpp library, on which our solution is based, can also serialize C++
classes into YAML through its emitter. This is very useful to save game states and
objects or to exchange structured objects over a network. Moreover, as YAML is a
widely adopted standard, many other languages, like Python or Ruby, have YAML
bindings and can be used to quickly develop new tools. A full list of these bindings
and supported languages can be found on YAML's website,
http://yaml.org/
.
Bibliography
[Ben-Kiki et al. 09] Oren Ben-Kiki, Clark Evans, and Brian Ingerson. “YAML
org/spec/1.2/spec.html
,
2009.
[Crockford 06] Douglas Crockford. “RFC 4627: The Application/JSON Media
TypeforJavaScriptObjectNotation(JSON).”Availableat
http://www.ietf.
[Meyers 96] Scott Meyers.
More Effective C++
. Reading, MA: Addison-Wesley
Professional, 1996.
[Wilson02]KyleWilson. “Data-DrivenDesign.”Availableat
http://www.
[YCL10]“yaml-cpp—AYAMLParserandEmitterforC++.”Availableat
http: