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
Ain't Markup Language (YAML ￿ )Version1.2.”Availableat http://yaml.
org/spec/1.2/spec.html , 2009.
[Crockford 06] Douglas Crockford. “RFC 4627: The Application/JSON Media
TypeforJavaScriptObjectNotation(JSON).”Availableat http://www.ietf.
o rg/rfc/rfc4627 ,2006.
[Meyers 96] Scott Meyers. More Effective C++ . Reading, MA: Addison-Wesley
Professional, 1996.
[Wilson02]KyleWilson. “Data-DrivenDesign.”Availableat http://www.
gamearchitect.net/Articles/DataDrivenDesign.html , 2002.
[YCL10]“yaml-cpp—AYAMLParserandEmitterforC++.”Availableat http:
//code.google.com/p/yaml-cpp/ , 2010.
Search WWH ::




Custom Search