GSTF JOURNAL ON COMPUTING VOL.2 NO.1, FEBRUARY 2012 1
An Approach for Constraint Based Heuristic
Method of Generating Houses and Building
Blueprints for Real-time Applications
Daniel Sanchez, Elio Lozano, and Juan M. Solá-Sloan
Abstract—Most city-generation computer graphic algorithms
are focused on creating exteriors by extruding some random
shapes. The problem with this approach is that the interiors are
ignored. This paper presents a series of algorithms and heuristics
to generate building blueprints of single or multi-floor houses.
The type and cost of the building establish the lot space available
for it. In the case of a single floor, rooms with their corresponding
doors and windows will be placed on the space randomly by
following a set of conditions that dictate where the rooms can
be placed with respect to each other. In the case of multiple
floors, the first floor contains public rooms only; the upper floors
contain private rooms. The algorithm’s output consists of a two-
dimensional drawing of the floor plans and a three-dimensional
model of the generated house. The experiments show that this
algorithm can generate a large number of houses in a short
period of time.
Index Terms—blueprint, automatic interior design, procedural
generation
I. I NTRODUCTION
Today’s hardware has the capability to create virtual en-
vironments at run time. Procedural generation is a method
used for generating artificial environments at run time, such
as structures, buildings and parts of cities, which are used in
computer games and animated movies[1]. An alternative to
procedural generation consists of hiring artists that design the
environment. Usually this environment follows an architectural
style based on the taste of the artist. However, this method
is time consuming. Artists have to modify the architectural
style every time it is required [2]. In contrast, procedural
generation uses fewer resources than applications that store
all pre-modeled content in memory [3]. There are games that
already use this approach such as The Elder Scrolls, Oblivion
[4] and Borderlands [5].
During the last decade, many researchers have focused on
procedural generation [6], [7], [1], [3]. In [8], [9], Martin
proposed an algorithm to dynamically generate plans for
single-level houses using procedural generation. This research
is focused in extending Martin’s work. Various algorithms for
generating basic floor plans for single- and multi-level houses
were created. First, the Non-Specific Room Placement (NSRP)
algorithm places rooms without any constraints on the type
of room to be included in the blueprint. Second, the NSRP
was extended to include the architectural patterns presented by
Daniel Sanchez is with Polytechnic University of Puerto Rico
Elio Lozano and Juan Sola-Sloan are with University of Puerto Rico at
Bayamón, 170 Road # 174, Parque Industrial Minillas, Bayamón, Puerto Rico
Alexander in [10]. This version of the algorithm was called the
Specific Room Placement (SRP) algorithm. These algorithms
are not primarily focused on constraint optimization [11],
however, they implement heuristic methods to determine the
placement of rooms. In addition, these algorithms have the
capabilities to place windows and doors. Another set of algo-
rithms that uses extrusion of a 2D blueprint has been included
for generating the 3D respresentation of the single- and multi-
level houses. Tests were conducted for the various placement
algorithms varying the type of house/building, the number
of houses/buildings, and the number of floors. Finally, ideas
that extend this research to generate different architectural
structures have been proposed. These structures vary from
houses to buildings.
This article is structured as follows. Section II contains
works related to research carried out. Section III presents the
algorithms used to generate the floor plans for single and
multiple story structures. Section IV shows the results for
the different floor plan algorithms. The main conclusions and
future directions of this research are presented in the final
section.
II. RELATED PREVIOUS WORK
Procedural generation is not new. Others have proposed
methods for the generation of content for computer games
and movies.
Lindenmayer and Prusinkiewicz [12], [13] introduced L-
systems which are formal grammar used to generate building
and cities dynamically. This grammar was used in [14].
However, this is not the only work that uses grammars. Shape
grammars are used in [15], split grammars in [16] and a
database of grammar rules in [17].
In [8], [9], Martin shows methods to procedurally generate
single-level houses based on architectural patterns presented
by Alexander in [10]. These architectural patterns (or rules)
advise how rooms, doors and windows are organized. Among
these rules are: lot space available must not be completely
filled by rooms; the bedrooms need windows and should
contain an outer wall; a bedroom must contain two set of
windows, hallways and staircase placement. These rules were
included in the development of the algorithm.
There are other classical methods used to generate architec-
tural structures at run-time. Extrusion of 2-dimensional poly-
gons is another technique used to generate three dimensional
models of terrains [2] and buildings [6]. In [6], [7], the building
DOI: 10.5176_2010-2283_2.1.154
GSTF Journal on Computing (JoC) Vol.2 No.1, April 2012
220 © 2012 GSTF
brought to you by CORE View metadata, citation and similar papers at core.ac.uk
provided by GSTF Digital Library (GSTF-DL): Open Journal Systems (Global Science and Technology...