Game Development Reference
In-Depth Information
Why Should You Even Care?
As mentioned before, domain-specific languages raise the level of abstraction, which allows you to address problems
right where they occur. But what does this mean for game development? Game development combines the artistic
challenges of multimedia production with the engineering challenges of IT. Experts from many different disciplines
(game design, art, programming, acting, music, and so on) join forces to create and deliver a product. Thereby, the
transition from game design to a playable game is arguably the most crucial step to take within a production process.
Game design documents (GDDs) are the common tool used to bridge the gap between design and
implementation. However, just as in classic software engineering, document-based development approaches of
this kind present several problems. They rely heavily on game designers' ability to communicate their ideas in a
comprehensible way, and to understand problems occurring during implementation that call for design changes.
These changes must be thoroughly integrated into the GDD. At the same time, development teams must be able to
interpret the design document correctly and translate it into code, never missing revisions or ad hoc changes.
It is hard to guarantee consistency throughout a project, especially with larger teams. On a project management
level, agile development approaches like Scrum (Schwaber, 1995, Keith, 2010) have been introduced successfully in
the last years to address these issues and to compensate for the missing scalability. Utilizing frequent communication
(“daily scrums”) and short iteration cycles (“sprints”), an empowerment of the development teams as well as a process
supervising role (“scrum master”) have brought significant benefits to different AAA productions, like Double Fine's
Brütal Legend, 7 Valve's Left 4 Dead 2, 8 and Turn 10's Forza Motorsport 3. 9 Still, there is a gaping lack of consistency
on the tool level that strengthens the transition from design to implementation, and that is where DSLs fit in.
In the realm of academia, there are different approaches that try to devise generic, formal languages that allow
the description of game design per se. Because they need to be able to cover the design of Skyrim as well as Angry
Birds, however, their concrete syntax often lacks accessibility and expressiveness, making them inapplicable in
practice.
It seems to be a more flexible and hence a more pragmatic approach to allow and utilize both the creation
and the application of specific modeling languages that meet the demands of a given game project directly. This
way, toolsmiths and developers can facilitate long-established and a “for them approved” terminology as well as
an appropriate level of technical orientation and abstraction in the language design. DSLs enable exactly this, and
generally, can be an integral tool to support the following:
The implementation of games in a faster, more precise, and more natural way.
The communication of game design by creating and using semantically meaningful and at the
same time formal models.
In the case of external DSLs, the integration of high-level content into a game by automated
interpretation or (text) generation.
Hence, the main potential of DSLs in game development is to empower non-programmers like game designers
and writers. Still, DSLs can be a useful tool for programmers too, not least by fostering interdisciplinary collaboration
among the different domain expert groups, but also by writing code on a higher level of abstraction. This approach
leads to faster iteration times, a higher consistency throughout the development process, and eventually to higher
product quality.
In the following section, you will look at a language engineering workflow that demonstrates how DSLs can be
defined and how this process can accompany and enhance game design.
7 Gamasutra. “Postmortem: Behind The Scenes Of Brutal Legend.” www.gamasutra.com/view/news/25799/Postmortem_Behind_
The_Scenes_Of_Brutal_Legend.php#.UJAn-Gcdx_A .
8 Nutt, Christian. “Q&A: Valve's Swift On Left 4 Dead 2's Production, AI Boost.” Gamasutra. www.gamasutra.com/view/
news/25701/QA_Valves_Swift_On_Left_4_Dead_2s_Production_AI_Boost.php#.UJAod2cdx_A .
9 Graft, Kris. “Racing Evolution: Forza 3 And The Changing Driving Sim.” Gamasutra. www.gamasutra.com/view/
feature/4144/racing_evolution_forza_3%25%20_and_the_.php .
 
Search WWH ::




Custom Search