Procedural Content Graphs for Urban Modeling
Hindawi Publishing Corporation
International Journal of Computer Games Technology
Volume 2015, Article ID 808904, 15 pages
http://dx.doi.org/10.1155/2015/808904
Research Article
Procedural Content Graphs for Urban Modeling
Pedro Brandão Silva,1 Elmar Eisemann,2 Rafael Bidarra,2 and António Coelho1
1
Faculdade de Engenharia/INESC TEC, Universidade do Porto, Rua Dr. Roberto Frias, 4200-465 Porto, Portugal
Computer Graphics and Visualization Group, Delft University of Technology, Mekelweg 4, 2628 CD Delft, Netherlands
2
Correspondence should be addressed to Pedro Brandão Silva;
Received 22 April 2015; Accepted 28 May 2015
Academic Editor: Hanqiu Sun
Copyright © 2015 Pedro Brandão Silva et al. This is an open access article distributed under the Creative Commons Attribution
License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly
cited.
Massive procedural content creation, for example, for virtual urban environments, is a difficult, yet important challenge. While
shape grammars are a popular example of effectiveness in architectural modeling, they have clear limitations regarding readability,
manageability, and expressive power when addressing a variety of complex structural designs. Moreover, shape grammars aim
at geometry specification and do not facilitate integration with other types of content, such as textures or light sources, which
could rather accompany the generation process. We present procedural content graphs, a graph-based solution for procedural
generation that addresses all these issues in a visual, flexible, and more expressive manner. Besides integrating handling of diverse
types of content, this approach introduces collective entity manipulation as lists, seamlessly providing features such as advanced
filtering, grouping, merging, ordering, and aggregation, essentially unavailable in shape grammars. Hereby, separated entities can
be easily merged or just analyzed together in order to perform a variety of context-based decisions and operations. The advantages
of this approach are illustrated via examples of tasks that are either very cumbersome or simply impossible to express with previous
grammar approaches.
1. Introduction
Content creation is one of the most expensive factors for
many game productions. In particular, urban modeling is an
important challenge, as it has applications in various areas
from city planning, training, and learning, to simulation,
and entertainment. Unfortunately, creating large-scale urban
areas by hand is a very complex task that quickly becomes
unmanageable in cost and time. Although procedural methods have received much attention in game development,
automating urban modeling remains a very difficult process, as it concerns the creation and integration of terrain,
vegetation, roads and complex buildings [1], each involving
particular representations and content types (meshes, lines,
textures, lighting, etc.).
Grammar-based approaches [2–4] have proven useful for
the generation of several kinds of pattern structures, yet
their formal, textual representation is generally inadequate
for artists [5]. A large variety of different rules have to be
defined in order to achieve a fine-grained control and, for
complex designs, even small changes may require redefining
many grammar rules and writing new ones. Such large rule
sets also lead to reduced readability and manageability: it
becomes hard to find meaningful rule names, rule sequencing
becomes hard to maintain, and the data flow becomes hard to
follow (see Figure 2).
The initial steps in such grammars are typically topdown, sequentially dividing shapes entities to define local
scopes. While each rule can produce multiple shapes, it can
only operate on one individual shape at a time. This implies
that, once split, separate entities cannot be merged back nor
queried anymore as a whole set. This limits the expressiveness
of the approach, that is, the range of ideas that can be
communicated and represented, such as
(i) clustering, for example, to assemble buildings into a
certain number of neighborhoods featuring different
architectural styles or purposes;
(ii) averaging, for example, to find the center location of
a set of buildings to divide them into downtown and
peripheral areas;
2
International Journal of Computer Games Technology
(i) a collective management of entities as lists or groups,
for example, for sorting, advanced filtering, and
aggregation operations;
(ii) a flexible and extensible framework featuring parameters, attributes, and so-called augmentations to create
custom graph nodes with compact manipulation
possibilities;
(iii) a visual graph-based framework for procedural content generation, supporting a transparent data flow
control to manipulate and combine different data
entities within a single pipeline.
Figure 1: Our graph-based approach introduces context-awareness
verifications which can be applied at any step of the generation
process. Here, we perform visibility calculations to determine which
façades are visible (marked in green) from a highlighted street
(marked in yellow) and which are not (marked in red). We also
calculate the minimum distance of each house towards that same
street and decide on a level of detail (1, 2, or 3, as marked on the roofs)
based on the distance. For applications focused on a main path, for
example, racing games, this information could be used to guide the
procedural content generation and include budget considerations in
the construction of the virtual world.
(iii) ordering, for example, to create green areas on the
blocks closest to a particular point of interest or
location;
(iv) finding maximum/minimum, for example, to create
the building garage door on the largest façade and the
main door on the smallest one;
(v) achieving uniqueness, for example, to attach a chimney
to only one of many candidate roof sections;
(vi) merging, for example, to merge corner walls of adjacent façades to build continuous balconies;
(vii) context development, for example, build the lot gate
right in front of the building main door;
(viii) visibility testing, for example, to determine if a building detail will be seen from a particular location or
path (see Figure 1).
Graph-based representations [6] facilitate the understanding of complex rule sets, but in the context of grammars,
such solutions still have manageability or flexibility issues [7]
and inherited the grammar limitations mentioned above [5].
We introduce procedural content graphs, a generic graphoriented approach to specify content generation procedures.
While still retaining the expressive power of grammar-based
solutions (such as recursion or natural rule divergence), it
extends them by addressing many of their shortcomings. In
particular, we make the following contributions:
We start by reviewing previous work (Section 2) and then
present our graph-based approach (Section 3) by describing
the spec (...truncated)