Logo Studenta

Generacion-procedural-de-contenido-en-la-programacion-de-videojuegos

¡Este material tiene más páginas!

Vista previa del material en texto

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO 
POSGRADO EN CIENCIA E INGENIERÍA DE LA COMPUTACIÓN 
 
 
 
 
 
 
GENERACIÓN PROCEDURAL DE CONTENIDO EN LA PROGRAMACIÓN 
DE VIDEOJUEGOS 
 
 
 
TESIS 
QUE PARA OPTAR POR EL GRADO DE: 
MAESTRO EN CIENCIAS (COMPUTACIÓN) 
 
 
 
 
PRESENTA: 
HÉCTOR ADRIÁN DÍAZ FURLONG 
 
 
 
TUTOR: MAT. ANA LUISA SOLÍS GONZÁLEZ COSÍO 
FACULTAD DE CIENCIAS 
 
 
 
 
MÉXICO, D. F. MARZO 2013 
Índice general
1. Generación Procedural de Contenido 10
1.1. Historia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2. Enfoques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.2.1. Online versus O­ine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.2.2. Contenido Necesario contra Opcional . . . . . . . . . . . . . . . . . . . . . 14
1.2.3. Semillas Aleatorias contra Vectores de Parámetros . . . . . . . . . . . . . 14
1.2.4. Generación Estocástica contra Determinística . . . . . . . . . . . . . . . . 15
1.2.5. Algoritmos Constructivos contra Algoritmos de Generación-y-Prueba . . . 15
1.2.6. Generación Procedural de Contenido basada en Búsqueda (SBPCG -
Search-Based PCG) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.2.7. Generación Procedural de Contenido guiada por Experiencias (EDPCG
- Experience Driven PCG) . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.3. El Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
1.4. Hipótesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
1.5. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
1.6. Metodología . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2. Diseño de Videojuegos y el Concepto de Flujo 34
2.1. La Estructura de un Juego . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.1.1. Los Elementos Dramáticos de un Juego . . . . . . . . . . . . . . . . . . . 35
2.1.2. Los Elementos Formales de un Juego . . . . . . . . . . . . . . . . . . . . . 37
2.2. El Diseño de Videojuegos y la Generación Procedural de Contenido . . . . . . . . 42
2
2.3. El Concepto de Flujo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.4. Curvas de Di�cultad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3. Creación del Videojuego 52
3.1. Presentando: The Chronicles of Balam - The Lost Panda . . . . . . . . . . . . . . 52
3.2. La Premisa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.3. Los Personajes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.4. La Historia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.5. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.6. Procedimientos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.7. Recursos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.8. Con�icto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.9. Límites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.10. Reglas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.11. Prototipo Físico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4. El Generador de Contenido 66
4.1. De�nición del Tipo de Contenido . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.2. Representación del Contenido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.3. Generador de Contenido Constructivo . . . . . . . . . . . . . . . . . . . . . . . . 71
4.3.1. Generación del Terreno . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.3.2. Distribución de los Recursos y Obstáculos . . . . . . . . . . . . . . . . . . 77
4.3.3. Generación de la Cadena de Bits . . . . . . . . . . . . . . . . . . . . . . . 80
4.4. Generador de Contenido Genético . . . . . . . . . . . . . . . . . . . . . . . . . . 81
4.4.1. Función de Aptitud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
4.4.2. Cálculo de la Curva de Di�cultad . . . . . . . . . . . . . . . . . . . . . . . 83
4.4.3. Resultados Preliminares . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
4.4.4. Revisión de la Representación del Contenido . . . . . . . . . . . . . . . . 89
4.5. Construcción del Nivel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
3
5. Pruebas y Resultados 97
5.1. Las Pruebas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
5.2. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
5.2.1. Tiempo de Generación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
5.2.2. Con�abilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
5.2.3. Variabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
5.3. Calidad del Contenido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
6. Conclusiones 119
A. Interpolación con Splines 125
A.0.1. De�nición de un Spline Natural . . . . . . . . . . . . . . . . . . . . . . . . 127
A.0.2. Cálculo de un Spline Natural . . . . . . . . . . . . . . . . . . . . . . . . . 132
B. Algoritmo Genético de Vasconcelos 135
C. Cuestionario de Playtesting 137
D. Contenido del Disco 138
4
Generación Procedural de Contenido en la Programación de Videojuegos
por
Héctor Adrián Díaz Furlong
Presentada al Posgrado en Ciencia e Ingeniería de la Computación
el 22 de marzo de 2013, como requisito parcial para obtener el grado de
Maestro en Ciencias de la Computación
Resumen
La Generación Procedural de Contenido (PCG � Procedural Content Generation) se re�ere
a la creación del contenido de un videojuego de manera automática usando algoritmos. Por
contenido de un videojuego se entienden todos los aspectos de un videojuego que afectan el
modo de jugarlo, como los niveles, la historia, los personajes, las reglas, etc., excluyendo los
comportamientos de los NPCs (Non-Player Characters) y el motor del juego. La generación pro-
cedural ofrece varias ventajas a los desarrolladores de videojuegos, tales como el menor consumo
de memoria, un menor costo y tiempo de producción y la creación de nuevos tipos de juegos
con mecánicas basadas en la generación de contenido. Sin embargo, la falta de con�abilidad de
algunas técnicas de PCG presenta un problema, ya que no es aceptable presentarle al jugador
contenido que es imposible de jugar. Además, el contenido debe ayudar a crear una experiencia
divertida para el jugador. En este trabajo se utiliza la generación procedural de contenido para
crear los niveles de un nuevo videojuego, incorporando las técnicas de PCG al proceso de diseño
y de�niendo una forma de evaluar el contenido que es independiente del género del juego y el
tipo de contenido, basada en teorías de la diversión, experiencia óptima y diseño de videojuegos.
5
Agradecimientos
Al Consejo Nacional de Ciencia y Tecnología por otorgarme la beca que me
permitió realizar mis estudios de maestría.
Al Posgrado en Ciencia e Ingeniería de la Computación por recibirme y prepararme
durante dos años para hacer de mí un profesional apasionado por las ciencias de la
computación.
A mi tutora, la Mat. Ana Luisa Solís González Cosío por creer en mí y permitirme
realizar un trabajo de investigación relacionado con el desarrollo de videojuegos. Sé
que al igual que yo, reconoce la relevancia que tiene este campo para el desarrol-
lo tecnológico, así como los retos que conlleva el diseño y desarrollo de un nuevo
videojuego.
A mis sinodales, Dr. Edgar Garduño Ángeles, Dr. Juan Pablo Romero Mares, Dr.
Jesús Savage Carmona y Dr. Borís Escalante Ramírez, por sus valiososcomentarios
y sugerencias para hacer de éste un mejor trabajo.
A Marco Ángel Vela Garay, por haber dejado todo atrás y embarcarse en esta
aventura conmigo, construyendo una nueva vida en una ciudad desconocida, compar-
tiendo las alegrías y tristezas y haciendo realidad nuestros sueños juntos. Ayudaste
a aligerar la carga y hacer soportable el camino. Este trabajo no hubiera sido posible
sin ti.
A mi familia por darme su amor y comprensión, por siempre apoyarme en mis
decisiones y ser una gran motivación para seguir adelante.
A mis amigos y compañeros que han estado junto a mí, siempre animándome a
lograr mis metas.
6
Introducción
El surgimiento de herramientas de desarrollo de videojuegos como XNA1, Unity2, Unreal3
o CryENGINE4 entre otras, así como el acceso a nuevos canales de distribución como XBOX
LIVE5, PSN6, Wii Shop Channel7, STEAM8 y los mercados de aplicaciones9, han abierto las
puertas de la industria de los videojuegos a los desarrolladores independientes. Sin embargo,
el costo promedio de desarrollo de un videojuego se ha incrementado bastante. Actualmente,
producir un título para una consola de última generación cuesta entre 13 y 30 millones de
dólares, y la cifra sigue aumentando [21].
Cuando se trata del desarrollo de un videojuego moderno, el tiempo y esfuerzo requerido
para la creación del contenido del juego representa una gran parte del costo de desarrollo.
Mientras que la tecnología de los videojuegos ha avanzado a pasos agigantados, desde los grá�cos
basados en pixeles e interacciones predecibles de Breakout10 y Pac-Man11, hasta los elaborados
1 c
 2012, Microsoft, create.msdn.com
2 c
 2012, Unity Technologies. www.unity3d.com
3 c
 2008-2012, Epic Games, Inc. www.unrealengine.com
4 c
 2012, CRYTEK. www.crytek.com/cryengine
5 c
 2012, Microsoft. www.xbox.com/en-US/live
6PlayStation R
Network, c
 2012, Sony Computer Entertainment. us.playstation.com/psn/
7 c
 2012, Nintendo.
8 c
 2012, Valve Corporation. store.steampowered.com
9Android Market, www.android.com/apps, Windows Phone Marketplace, www.windowsphone.com/en-
us/store, Apple App Store, www.apple.com/ipad/from-the-app-store/
10 c
 Atari, Inc. En el juego, una capa de ladrillos ocupa la parte superior de la pantalla. Una pelota viaja a
través de la pantalla, rebotando en las paredes laterales y superior de la pantalla. Cuando un ladrillo es golpeado,
el balón rebota y el ladrillo se destruye. El jugador pierde un turno cuando el balón toca la parte inferior de la
pantalla. Para evitar que esto ocurra, el jugador tiene una paleta móvil para hacer rebotar la pelota hacia arriba.
11 c
 Namco. En el juego, el jugador controla a Pac-Man, un personaje amarillo y redondo que abre su boca
para comer puntos sobre un laberinto en 2D. En el laberinto hay fantasmas que pueden destruir a Pac-Man si lo
tocan.
7
y realistas ambientes 3D de títulos como Halo12 y Call of Duty13, la elaboración de contenido
es todavía en su mayoría de forma manual. Usualmente, un grupo de personas de diferentes
departamentos de la producción es responsable de crear a mano todo el contenido del juego.
Por ejemplo, el juego Grand Theft Auto IV 14, fue elaborado por un equipo de 1000 personas
en un periodo de 3 años [90].
Cualquier tecnología que pueda aligerar la enorme carga que representa la creación de con-
tenido será bienvenida por los desarrolladores, críticos y el público en general. Este argumento
se extiende a juegos cuyo propósito va más allá del puro entretenimiento, como los usados para
simulación, entrenamiento, educación y toma de decisiones en muchos sectores de la sociedad
[90].
En este trabajo se busca incorporar la generación procedural de contenido al proceso iter-
ativo de diseño de videojuegos, generando de manera procedural los niveles de un videojuego
3D y dotando al diseñador del control necesario sobre el algoritmo generador para que el con-
tenido encaje con el diseño general, cumpla con las metas de experiencia establecidas y tenga
la variabilidad, con�abilidad y calidad deseada.
En el capítulo 1, se de�ne la generación procedural de contenido y se presenta una breve
historia de cómo ha sido utilizada en diferentes juegos. También, se presenta un estudio de los
diferentes enfoques de la generación procedural que se pueden encontrar en la literatura. En
seguida, se plantea el problema a resolver y los objetivos del proyecto, así como la metodología
a seguir.
En el capítulo 2, se presentan los conceptos básicos utilizados en el diseño de videojuegos.
También, se discute el concepto de �ujo y de curvas de di�cultad, que son la base del modelo
de experiencia del jugador que se utilizó.
En el capítulo 3, se presenta el diseño del videojuego que se desarrolló, de�niendo sus
elementos formales y dramáticos, con los cuales el lector podrá familiarizarse con la estructura
y elementos de los niveles que serán generados de manera procedural.
12 c
 2012, Microsoft Corporation. Un juego de disparos en primera persona en 3D, donde se desarrollan batallas
entre la humanidad y una especie extraterrestre.
13 c
 2004-2012, Activision Publishing, Inc. Un juego de disparos en primera persona que simula batallas de la
infantería en la Segunda Guerra Mundial.
14 c
 Rockstar Games. Juego de aventura situado en un vasto mundo por el cual puede moverse el jugador,
conducir vehículos e interaccionar con otros personajes.
8
En el capítulo 4, se de�ne el contenido que será generado y su representación. Después, se
discute el desarrollo de los generadores de contenido, empezando por un generador constructivo
estocástico y continuando con un generador genético, haciendo una revisión de la representación
de contenido para mejorar los resultados del algoritmo genético. Por último, se discute la con-
strucción del nivel a partir de la representación elegida.
En el capítulo 5, se presentan las pruebas realizadas con los generadores y los resultados
obtenidos. Para cada generador, se discute su con�abilidad, tiempo de generación y rango
expresivo. Por último, se presentan los resultados de las sesiones de playtesting que se llevaron
a cabo para medir la di�cultad, factor de diversión y diseño de los niveles generados.
Finalmente, se presentan las conclusiones del trabajo. Se incluyen cuatro apéndices. El
apéndice A explica la interpolación con splines, la cual es usada para crear las curvas de di�-
cultad que constituyen la entrada de los generadores de contenido. El apéndice B describe el
algoritmo genético de Vasconcelos, que es el algoritmo genético que elegimos para la generación
de contenido. En el apéndice C, se presenta el cuestionario que fue aplicado a los jugadores en
las sesiones de playtesting. El apéndice D, describe los contenidos del disco que acompaña este
documento, así como el manual de instalación del software.
9
Capítulo 1
Generación Procedural de Contenido
La generación procedural de contenido (PCG � Procedural Content Generation) se re�ere
a la creación del contenido de un videojuego de manera automática usando algoritmos. Por
contenido de un videojuego se entienden todos los aspectos de un videojuego que afectan el modo
de jugarlo (gameplay), excluyendo los comportamientos de los NPCs (Non-Player Characters) y
el motor del juego. Esta de�nición incluye aspectos como los niveles, la historia, los personajes,
las reglas, dinámicas y armas, entre otros [81].
1.1. Historia
En 1980, el juego Rogue1 fue pionero en la generación procedural, creando calabozos que
el jugador podía explorar. Al principio, la generación procedural de contenido fue más una
necesidad que una elección, debido a que los medios de almacenamiento no podían guardar una
gran cantidad de contenido. Como resultado, los desarrolladores adoptaban alguna forma de
generación procedural. Por ejemplo, el universo del juego Elite2, publicado en 1984, contenía
ocho galaxias, cada una con 256 planetas diferentes que tenían nombre, descripción, posición,
nivel de tecnología, precios de productosy una cultura, todo dentro de 22 kilobytes de memoria
[90].
Durante las siguientes dos décadas, las computadoras y consolas de videojuegos evolu-
1Diseñado por Michael Toy y Glenn Wichman. El juego se basa en la exploración de calabozos.
2 c
 Acornsoft. Un juego de comercio situado en el espacio exterior.
10
cionaron, teniendo menos restricciones en su capacidad de almacenamiento y haciendo que
los juegos tuvieran cada vez más contenido hecho a mano. Por ejemplo, un listado de los
mejores juegos del 2011 incluye a Call of Duty: Modern Warfare 3 3, Just Dance 3 4, Elder
Scrolls V: Skyrim5, Batman: Arkham City6 y Assasin�s Creed: Revelations7 [64], todos ellos
ofrecen contenido producido por los diseñadores (Figura 1-1). Cualquier mapa de Call of Duty,
los movimientos de baile de alguna canción en Just Dance, la ubicación de aldeas y ciudades en
Skyrim, la secuencia de objetivos en Arkham City y la disposición de los mapas en Assasin�s
Creed, son ejemplos de contenido hecho a mano que será consistente sin importar cuantas veces
se juegue [11].
Sin embargo, no se puede decir que ningún juego popular utilice generación procedural
(Figura 1-2). Tal vez el ejemplo contemporáneo más reconocido de generación procedural sea
Minecraft8, que ofrece incontables mundos compuestos de bloques tridimensionales que el ju-
gador puede explorar e interaccionar con ellos. Las primeras versiones del juego generaban
el terreno de acuerdo a una serie de mapas de ruido Perlin en dos dimensiones para la ele-
vación, aspereza y detalles locales. Después se adoptó un sistema basado en ruido Perlin en 3D,
muestreado a una baja resolución e interpolado linealmente [59].
Spelunky9, un juego en 2D de exploración de calabozos, utiliza un enfoque diferente para
generar los niveles del juego. Cada nivel está restringido a una cuadrícula de dieciséis cuartos,
con cuatro �las y cuatro columnas, a través de la cual se calcula un trayecto desde la entrada,
que se encuentra en la primera �la, hasta la salida en la última �la. Se seleccionan plantillas de
cuartos con base a dónde se encuentran en la trayectoria y se generan partes de estas plantillas
de manera aleatoria para tener más variación. En la etapa �nal, se añaden al espacio generado
3 c
 2012, Activision Publishing, Inc. Es un juego de disparos en primera persona. Se trata de la octava entrega
de la serie Call of Duty y la tercera entrega de la serie Modern Warfare.
4 c
 2011, Ubisoft Entertainment. Es un videojuego musical lanzado para Wii, Xbox 360 y PlayStation 3 con
soporte para Kinect y Move, donde el jugador copia pasos de baile de un avatar.
5 c
 2012, Bethesda Softworks LLC. Es un juego de rol cuya historia principal gira en torno a los esfuerzos
para derrotar a Alduin, un dragón que está destinado a destruir el mundo.
6 c
 2012, Warner Bros. Interactive Entertainment & Rocksteady Studios. Es un juego de acción-aventura que
incorpora elementos de juegos de sigilo, donde el jugador asume el rol de Batman.
7 c
 2007-2012, Ubisoft Entertainment. Un juego de acción y aventura donde el jugador controla a un asesino
en el Imperio Otomano.
8 c
 2009-2012, Mojang. Minecraft es un juego donde debes colocar y romper bloques. https://minecraft.net
9 c
 2009-2012, Mossmouth, LLC. Es un juego de plataforma en 2D en donde exploras calabozos generados
de manera aleatoria. http://spelunkyworld.com/
11
Figura 1-1: Ejemplos de videojuegos que ofrecen contenido producido por los diseñadores. La
secuencia de objetivos en Arkham City (a), la disposición de los mapas en Assasin�s Creed
(b), la ubicación de aldeas y ciudades en Skyrim (c), cualquier mapa de Call of Duty (d)
y los movimientos de baile de alguna canción en Just Dance (e), son ejemplos de contenido
hecho a mano que será consistente sin importar cuantas veces se juegue. (Imágenes tomadas de
www.gamespot.com)
los enemigos, trampas y tesoros [11].
Actualmente, la generación procedural de contenido es usada casi exclusivamente para tareas
muy especí�cas y casi siempre durante la fase de desarrollo del juego. Probablemente, la técnica
más difundida es SpeedTree, que genera automáticamente una gran cantidad de árboles similares,
pero no idénticos, para decorar terrenos [81].
1.2. Enfoques
Mientras que la generación procedural de contenido ha sido utilizada de diferentes formas en
los videojuegos desde hace varios años, no había existido una comunidad académica dedicada a
su estudio. Esta situación ha cambiado con el establecimiento de una lista de correspondencia10,
10http://groups.google.com/proceduralcontent
12
Figura 1-2: Ejemplos de videojuegos que utilizan generación procedural. a) Minecraft ofrece
incontables mundos compuestos de bloques tridimensionales generados de acuerdo a una serie
de mapas de ruido Perlin. b) Spelunky genera calabozos en 2D a partir de plantillas. c) SpeedTree
es probablemente la técnica de PCG más utilizada en videojuegos para generar vegetación.
una IEEE CIS Task Force11, un taller anual12, un wiki13 y una competencia internacional de
generación procedural de niveles14. Togelius et ál. [82] sugieren una taxonomía de los diferentes
enfoques de PCG encontrados en la literatura, la mayoría de las distinciones que ellos hacen
no son binarias, sino más bien un rango en el cual se pueden ubicar los ejemplos de generación
procedural.
1.2.1. Online versus O­ine
La primera distinción que se puede hacer es si la generación de contenido se lleva a cabo
online, es decir, durante la ejecución del juego, u o­ine, es decir durante su desarrollo. Un
ejemplo del primer caso es cuando el jugador entra por una puerta de un edi�cio y el juego
genera al instante el interior del edi�cio. En el otro caso, un algoritmo sugiere la disposición del
interior del edi�cio y luego es editado y perfeccionado por un diseñador humano. Pueden haber
casos intermedios, donde un algoritmo que se ejecuta en un servidor sugiere mapas a un grupo
de jugadores basado en registros de sus estilos de juego.
11http://game.itu.dk/pcg/
12http://pcgames.fdg2010.org/
13http://pcg.wikidot.com
14http://www.marioai.org
13
1.2.2. Contenido Necesario contra Opcional
Una distinción relacionada con el contenido generado es si ese contenido es necesario u
opcional. El contenido necesario es el requerido por los jugadores para avanzar en el juego, por
ejemplo, los calabozos que deben cruzar, los enemigos que deben vencer, reglas cruciales del
juego, etc., mientras que el contenido opcional es aquel que el jugador puede optar por evitar,
como armas disponibles o edi�cios a los que se puede entrar o ignorar. La diferencia está en que
el contenido necesario debe ser siempre correcto, es decir, no es aceptable generar un calabozo
que no tenga salida, reglas que no puedan jugarse o enemigos invencibles si esto hace que sea
imposible que el jugador avance. Tampoco es aceptable que se genere contenido cuya di�cultad
sea desproporcionada al resto del juego. Por otro lado, se puede permitir que el algoritmo genere
armas inservibles o disposiciones del terreno irrazonables si el jugador puede optar por dejar el
arma o ignorar el terreno para dirigirse a otro lado.
La categorización del contenido como opcional o necesario depende de manera signi�cativa
en el diseño del videojuego, de ello también depende hasta qué punto el contenido opcional
puede fallar. El juego de disparos en primera persona, Borderlands15, tiene armas generadas
aleatoriamente, muchas de las cuales no son útiles, pero experimentar con estos objetos es una
parte esencial de la mecánica del juego. Por otra parte, una planta mal diseñada y que parezca
arti�cial puede afectar la credibilidad de un juego con un fuerte enfoque en realismo visual.
Por lo tanto, el análisis de qué contenido es opcional debe hacerse en relación a cada juego en
particular.
1.2.3. Semillas Aleatorias contra Vectores de Parámetros
Otra distinción que concierne al algoritmo de generación, es hasta qué punto puede ser
parametrizado. Todoslos algoritmos de PCG crean contenido expandido de algún tipo a partir
de una representación más compacta. En un extremo, el algoritmo puede simplemente tomar
como entrada una semilla para un generador de números aleatorios; en el otro extremo, el
algoritmo puede tomar como entrada un vector multidimensional de parámetros reales que
especi�quen las propiedades del contenido. Por ejemplo, un generador de calabozos puede tomar
15 c
 2009, Gearbox Software, LLC. Es un juego de disparos en primera persona que combina el sistema de
recompensas de un juego de rol y el frenético combate de un juego de disparos.
14
parámetros como el número de cuartos, el factor de rami�cación de los corredores, la agrupación
de los ítems, etc. El rango de parámetros del algoritmo también se conoce como los grados de
control.
1.2.4. Generación Estocástica contra Determinística
Otra distinción se re�ere a la aleatoriedad de la generación de contenido. La variación entre
el contenido generado en diferentes ejecuciones del algoritmo con los mismos parámetros es una
cuestión de diseño. Es posible concebir algoritmos de generación determinísticos que siempre
produzcan el mismo contenido dados los mismos parámetros. La semilla de un generador de
números aleatorios no se considera un parámetro aquí, ya que esto implicaría que todos los
algoritmos son determinísticos.
Los algoritmos de PCG completamente determinísticos pueden verse como una forma de
compresión de datos. Un buen ejemplo de este uso de las técnicas de PCG es el juego de disparos
en primera persona .kkrieger16, que logra almacenar todas sus texturas, objetos, música y niveles
en 96 kilobytes de memoria. Otro ejemplo es el juego Elite descrito anteriormente.
1.2.5. Algoritmos Constructivos contra Algoritmos de Generación-y-Prueba
Una distinción �nal se da entre los algoritmos que pueden ser llamados constructivos y aque-
llos que pueden ser descritos como de generación-y-prueba. Un algoritmo constructivo genera
el contenido una vez y termina, asegurándose de que el contenido es correcto o por lo menos lo
su�cientemente bueno mientras está siendo construido. Esto puede lograrse efectuando opera-
ciones que garanticen que nunca se generará un contenido fallido. Un ejemplo de este enfoque
es usar fractales para generar terrenos [47].
Un algoritmo de generación-y-prueba incorpora un mecanismo de generación y otro de
prueba. Después de generar una instancia de contenido candidato, se prueba de acuerdo a
algún criterio (por ejemplo, ¿existe un camino entre la entrada y la salida de un calabozo?). Si
la prueba falla, todo o una parte del contenido candidato se descarta y se regenera, este proceso
continúa hasta que el contenido es lo su�cientemente bueno.
16 c
 2004, .theprodukkt
15
1.2.6. Generación Procedural de Contenido basada en Búsqueda (SBPCG -
Search-Based PCG)
La generación procedural de contenido basada en búsqueda es un caso especial del enfoque
de generación-y-prueba de la PCG, con las siguientes características:
La función de prueba no solo acepta o rechaza al contenido candidato, sino que lo cali�ca
usando un número o un vector de números reales. Esta función de prueba es llamada de
manera diversa como función de utilidad, de evaluación, objetivo o de aptitud. El número
o vector que asigna al contenido es llamado aptitud o simplemente el valor del contenido.
La generación de nuevos contenidos candidatos depende del valor de aptitud asignado a las
instancias de contenido previamente evaluadas, de tal forma que se produzcan contenidos
con mejor aptitud.
Togelius et ál. [82] eligen el término basada en búsqueda en lugar de evolutiva para evitar
excluir otras heurísticas como el recocido simulado17 [33] y la optimización de enjambre de
partículas18 [29] o las búsquedas locales estocásticas. Su de�nición de basada en búsqueda incluye
de manera explícita todas las formas de algoritmos estocásticos o heurísticos de optimización
y búsqueda. (Algunos casos de búsqueda exacta, exhaustiva y basada en derivación pueden
cali�car también, aunque en la mayoría de los casos la función de evaluación del contenido
no es diferenciable y el espacio de contenido es demasiado grande para realizar una búsqueda
exhaustiva.)
La computación evolutiva ha sido hasta ahora el método favorito de los investigadores de
PCG basada en búsqueda [82]. En un algoritmo evolutivo19, se mantiene en la memoria una
población de instancias de contenido. En cada generación, estas instancias son evaluadas por la
función objetivo y ordenadas de acuerdo a su aptitud. Los peores candidatos son descartados y
17Simulated annealing.
18Particle swarm optimization.
19Togelius et ál. [82] utilizan el término evolutionary algorithm. Sin embargo, de acuerdo a Sivanandam et. al.
[68], la computación evolutiva engloba cuatro paradigmas diferentes: los algoritmos genéticos, la programación
genética, las estrategias evolutivas y la programación evolutiva. Estos paradigmas se diferencian en la naturaleza
de sus esquemas de representación, los operadores de reproducción y sus métodos de selección. De la descripción
que hacen Togelius et ál. de los algoritmos evolutivos se in�ere que se trata de los algoritmos genéticos. Sin
embargo, puede que utilicen el término para englobar a todos estos paradigmas.
16
reemplazados por copias de los mejores, las cuales han sido modi�cadas (mutadas) de manera
aleatoria y/o recombinadas. La Figura 1-3 muestra el �ujo general de un algoritmo basado en
búsqueda y lo sitúa en relación con los enfoques constructivos y de generación-y-prueba más
simples.
Figura 1-3: Tres enfoques a la generación procedural de contenido: constructiva, generación�
y-prueba simple y basada en búsqueda. Note que no todos los algoritmos de búsque-
da/optimización que son aptos para PCG mantienen una población de candidatos, pero los
más usados sí lo hacen. (Figura adaptada de [82].)
Una cuestión central en la optimización estocástica y las metaheurísticas es cómo representar
lo que se va a evolucionar. En otras palabras, una pregunta importante es cómo los genotipos
(i.e., las estructuras de datos que son representadas internamente por el generador de contenido)
son proyectados a fenotipos (i.e., la estructura de datos o proceso que es cali�cado por la función
de evaluación). En el contexto de la generación de contenido de videojuegos, el genotipo puede
ser el conjunto de instrucciones para generar un nivel y el fenotipo el nivel mismo.
17
En un algoritmo genético se usa una metáfora donde un problema de optimización toma el
lugar de un entorno y las soluciones a ese problema son consideradas como individuos viviendo
en ese entorno. Un individuo representa una única solución y agrupa dos formas de la solución:
1. El cromosoma, que es la información genética en bruto (el genotipo) con la que trabaja
el algoritmo genético.
2. El fenotipo, que es la expresión del genotipo que corresponde al modelo del problema.
Un cromosoma es una secuencia de genes. Un gen es una cadena de bits de longitud arbitraria
y es la representación de un factor de la solución.
La aptitud de un individuo es el valor de la función objetivo para su fenotipo. Para calcular
la aptitud, el cromosoma debe primero decodi�carse y evaluarse la función objetivo. La aptitud
no solo indica qué tan buena es la solución, sino que también corresponde a qué tan cerca
está el cromosoma del óptimo. Para que el algoritmo genético encuentre la solución óptima,
es necesario aplicar ciertos operadores a los individuos de la población, éstos son: selección,
cruzamiento y mutación.
La selección es el proceso de elegir dos individuos de la población para cruzarlos. El propósito
de la selección es enfatizar a los individuos con más aptitud para que su descendencia tenga
mejor aptitud. La selección es un método que escoge al azar algunos cromosomas de la población,
de acuerdo a su valor de aptitud. Entre más alto sea su valor de aptitud, más probabilidad tiene
ese individuode ser seleccionado. Típicamente, se pueden distinguir dos esquemas de selección:
selección proporcional y ordinal. La selección proporcional escoge a los individuos basada en sus
valores de aptitud en relación a la aptitud de los otros individuos en la población. El esquema
de selección ordinal elige a los individuos no de acuerdo a su aptitud sino a su rango en la
población. Existen varias técnicas de selección: roulette wheel selection, random selection, rank
selection, tournament selection, boltzmann selection, entre otras [68].
El cruzamiento es el proceso de tomar dos soluciones padres y producir a partir de éstas
una solución hija, con la intención de que tenga un mejor valor de aptitud. El operador de
cruzamiento funciona en dos pasos:
1. Se selecciona al azar un punto de corte dentro de la longitud de la cadena (cromosoma).
18
2. A partir del punto de corte, se intercambian los valores de los cromosomas padres.
Es decir, la forma más fácil de realizar el cruzamiento es elegir al azar un punto de cruza-
miento y copiar todo lo que está antes de este punto del primer padre, y luego copiar todo lo
que está después de este punto del otro padre. También existen diversas técnicas de cruzamien-
to: single point crossover, two point crossover, multi-point crossover, uniform crossover, shu­e
crossover, entre otras [68].
El parámetro básico de la técnica de cruzamiento es la probabilidad de cruzamiento (Pc),
ésta describe qué tan frecuentemente se realizará el cruzamiento. Si no hay cruzamiento, los
hijos serán copias exactas de los padres. Si hay cruzamiento, los hijos estarán formados por
partes de los cromosomas de ambos padres. El cruzamiento se hace con la esperanza de que
los nuevos cromosomas tengan buenas partes de los antiguos y por lo tanto serán mejores. Sin
embargo, es bueno dejar que sobreviva parte de la antigua población en la siguiente generación
[68].
Después del cruzamiento, los cromosomas se someten al operador de mutación. Si el cruza-
miento se supone que explota la solución actual para encontrar mejores, la mutación ayuda a
explorar todo el espacio de búsqueda. Introduce nuevas estructuras genéticas en la población
al modi�car aleatoriamente algunos de sus bloques de construcción. La mutación ayuda a es-
capar de los mínimos locales y mantiene la diversidad en la población. Hay diferentes formas
de mutación para los diferentes tipos de representación. Para la representación binaria, una
mutación simple puede consistir en invertir el valor de cada gen con cierta probabilidad. La
probabilidad es usualmente 1=L donde L es la longitud del cromosoma. La mutación de un bit
signi�ca voltearlo, de 0 a 1 y viceversa.
El parámetro importante de la técnica de mutación es la probabilidad de mutación (Pm),
ésta decide qué tan frecuentemente se mutarán las partes del cromosoma. Si no hay mutación,
los descendientes se generan inmediatamente después del cruzamiento sin ningún cambio. Si se
realiza la mutación, se cambia una o varias partes del cromosoma. La mutación no debe ocurrir
con mucha frecuencia, porque sino el algoritmo genético se convierte en una búsqueda aleatoria
[68].
Existe una distinción importante codi�caciones directas, donde el tamaño del genotipo es
linealmente proporcional al tamaño del fenotipo y cada parte del cromosoma se proyecta a una
19
parte especí�ca del fenotipo, y las codi�caciones indirectas, donde el genotipo se proyecta de
forma no lineal al fenotipo y el primero no tiene que ser proporcional al último [5], [25], [74],
[76]. El estudio de representaciones en computación evolutiva es un campo amplio, de donde se
han originado varios conceptos de importancia para la PCG [65].
Entre los trabajos que se han hecho sobre generación procedural basada en búsqueda está
el de Hom y Marks [44], quienes utilizaron algoritmos genéticos para crear reglas de un juego
de mesa de dos jugadores. Las reglas se representan relativamente de manera directa como
árboles de expresión en el lenguaje de descripción de juegos Zillion of Games (ZOG) [39], con
el espacio de búsqueda restringido a juegos como Tic-Tac-Toe (Gato), Reversi y Damas Chinas;
este espacio contiene un total de 5,616 juegos. Cada juego es jugado automáticamente 100 veces
con un tiempo límite de un segundo por cada movimiento. El valor de aptitud es la suma de los
términos de balance y diversidad. El balance se calcula como cien menos la diferencia entre el
valor absoluto de la diferencia entre el número de juegos ganados por el jugador A y el número
de juegos ganados del jugador B y el número de empates. De tal forma que un juego que no le
con�ere ventaja a ninguno de los dos jugadores y que no genera empates obtiene un valor de
balance igual a cien. El valor de diversidad es el número de diferencias que el nuevo juego tiene
con respecto a su vecino más cercano en la población de juegos.
Togelius y Schmidhuber [80] evolucionaron reglas para juegos basados en cuadrículas, en
donde el jugador mueve un agente de manera similar a una versión discreta de Pac-man. Aparte
del agente, la cuadrícula contiene muros y objetos de diferente color, éstos pueden ser interpre-
tados como ítems, aliados o enemigos dependiendo de las reglas. Las reglas se representan como
vectores de parámetros de longitud �ja, que se interpretan como los efectos sobre los objetos
cuando colisionan entre ellos mismos o el agente. Un algoritmo evolutivo aprende cada conjun-
to de reglas y lo cali�ca de acuerdo a qué tan bien lo aprendió. Los juegos que son imposibles
o triviales obtienen un valor de aptitud bajo, mientras que aquellos que pueden aprenderse
después de un tiempo son mejor cali�cados.
Oranchak [52] diseñó un generador de rompecabezas basado en algoritmos genéticos para
Shinro, un rompecabezas numérico japonés similar a Sudoku. Los rompecabezas son codi�cados
de manera directa como matrices, donde cada celda puede estar vacía o contener un hueco o
una �echa (pista). La función de evaluación utiliza un algoritmo diseñado para jugar Shinro. El
20
valor de entretenimiento de cada rompecabezas se estima de acuerdo al número de movimientos
requeridos para resolverlo y algunas medidas directas como el número de pistas y su distribución.
Togelius et ál. [77], [78] diseñaron un sistema de generación de pistas para un juego de
carreras. Las pistas se representan como vectores de parámetros de longitud �ja, éstos se in-
terpretan como los parámetros de una secuencia de curvas de Bezier. Cada pista se evalúa
utilizando un coche manejado por una red neuronal entrenada para manejar como un jugador
particular. El valor de aptitud de la pista depende del desempeño del coche.
Hastings et ál. [24] desarrollaron un videojuego multijugador llamado Galactic Arms Race,
en el cual los jugadores manejan una nave espacial a través de la galaxia, enfrentándose a
enemigos y recolectando armas. Los jugadores pueden cargar un número �nito de armas y elegir
sustituirlas cuando encuentran una nueva. Las armas son representadas de manera indirecta
como vectores reales de tamaño variable, los cuales se interpretan como topologías de conexión y
pesos de redes neuronales, las cuales a su vez controlan el sistema de partículas que disparan las
armas [23]. La aptitud de cada arma depende de qué tan frecuentemente los diferentes usuarios
conectados al servidor eligen disparar el arma, en relación a cuanto tiempo permanece sin ser
utilizada. Esta función de evaluación permite a los jugadores indicar sus preferencias de manera
implícita, sin conocer los mecanismos o incluso la existencia del algoritmo evolutivo.
Para un estudio más completo de los trabajos de generación procedural basada en búsqueda
se re�ere al lector al artículo de Togelius et ál. [82].
1.2.7. Generación Procedural de Contenido guiada por Experiencias (ED-
PCG - Experience Driven PCG)
Georgios N. Yannakakis y Julian Togelius [90] proponen una nueva aproximación a la PCG
que llaman Experience-Driven ProceduralContent Generation (EDPCG), como una forma de
vincular las técnicas de PCG con la optimización de la experiencia de usuario (jugador). Con
este fundamento, ellos ven la experiencia del jugador como la síntesis de los patrones afectivos
mostrados y los procesos cognitivos generados durante el juego. Ellos comienzan por rede�nir
el contenido de un juego dentro del marco de trabajo de la EDPCG. El contenido se ve como
bloques de construcción de un juego, y los juegos como potenciadores de la experiencia del
jugador. Debido a que los bloques de contrucción de contenido, al ser jugados por un jugador en
21
Figura 1-4: Las componentes principales del generador de contenido procedural dirigido por
experiencia. (Figura adaptada de [90].)
particular, crean experiencias particulares, es necesario medir la calidad del contenido generado,
buscar entre el contenido disponible y generar contenido que optimice la experiencia del jugador.
Las componentes de la EDPCG se muestran en la Figura 1-4 y son los siguientes:
Modelado de la Experiencia del Jugador. La experiencia del jugador es modelada
como una función del contenido del juego y el jugador, este último es caracterizado por
su estilo de juego y sus respuestas cognitivas y afectivas al jugar.
Calidad del Contenido. La calidad del contenido generado es evaluada y vinculada a
la experiencia del jugador.
Representación del Contenido. El contenido es representado apropiadamente para
maximizar la e�cacia, desempeño y robustez del generador.
Generador de Contenido. El generador busca entre el espacio de contenido por el
contenido que optimice la experiencia para el jugador de acuerdo al modelo adquirido.
A continuación se detallan las cuatro componentes principales de la EDPCG y se discute
la taxonomía de las diferentes aproximaciones a cada una de ellas propuesta por Yannakakis et
ál.[90]. La Figura 1-5 provee un resumen del marco de trabajo de la EDPCG.
22
Figura 1-5: Detalle del marco de trabajo de la EDPCG. Las cajas que tienen relleno gradual
representan un continuo de posibilidades entre los dos extremos de la caja, mientras que las
cajas blancas representan opciones discretas y exclusivas. (Figura adaptada de [90].)
23
Modelado de la Experiencia del Jugador.
Los modelos de experiencia del jugador pueden construirse sobre diferentes tipos de infor-
mación obtenida de los jugadores, lo que a su vez de�ne diferentes enfoques al modelado de la
experiencia del jugador (PEM � Player Experience Modeling). Se identi�can tres clases prin-
cipales de enfoques para modelar la experiencia del jugador que requieren de: 1) información
expresada por los jugadores (PEM subjetiva), 2) información obtenida a partir de otros tipos
de respuesta del jugador (PEM objetiva), y 3) información obtenida de la interacción entre el
jugador y el videojuego (PEM basada en gameplay).
Modelado Subjetivo de la Experiencia del Jugador. La forma más directa de desarrollar
un modelo de experiencia, es preguntar a los jugadores acerca de su experiencia al jugar y
construir un modelo basado en estos datos. El modelado subjetivo de la experiencia del jugador
puede basarse tanto en la respuesta libre de los jugadores mientras juegan o en datos forzados
conseguidos a través de cuestionarios. Los auto-reportes forzados pueden clasi�carse como de
cali�cación, en donde se les pide a los jugadores contestar un cuestionario con preguntas de escala
[17], [43], [55], y preferencias, en donde se les pide a los jugadores comparar su experiencia en
dos o más sesiones de juego [83], [85], [86].
Numerosos estudios han mostrado que los auto-reportes pueden guiar algoritmos de apren-
dizaje de máquina para capturar exitosamente aspectos de la experiencia del jugador en juegos
de presa/depredador [87], físicamente interactivos [88], de plataforma [57], [58] y de carreras
[83].
Modelado Objetivo de la Experiencia del Jugador. La experiencia del jugador puede
vincularse a un �ujo de emociones que pueden estar activas de manera simultánea, usualmente
disparadas por eventos ocurridos durante el juego. Los juegos pueden provocar respuestas emo-
cionales del jugador que, a su vez, pueden producir cambios en la �siología del jugador, re�ejados
en expresiones faciales, postura, habla y la alteración del nivel de concentración y atención del
jugador. Monitorear estas alteraciones corporales puede ayudar a reconocer y sintetizar las
respuestas emocionales del jugador. El modelo objetivo de experiencia del jugador incorpora
múltiples datos del usuario, con el propósito de modelar el estado afectivo del jugador durante
24
el juego.
Existen varios estudios que exploran la relación entre la �siología y la experiencia del juego,
investigando el impacto que tienen los diferentes estímulos del juego sobre las señales �siológicas.
Tales señales se obtienen a través de electrocardiogramas (ECG) [17], [89], la respuesta galvánica
de la piel [42], [43], [61], la respiración [83] y electroencefalogramas (EEG) [7], [50] entre otras
técnicas.
Además de la �siología, se pueden rastrear las expresiones corporales del jugador e inferir
sus respuestas afectivas al estímulo del juego en tiempo real. El supuesto principal es que
existen expresiones corporales particulares que están vinculadas a emociones básicas y procesos
cognitivos. Las expresiones corporales pueden incluir la posición de la cabeza y el cuerpo, así
como la mirada [3] y las expresiones faciales [31], [54]. La voz también puede ser usada para
inferir respuestas afectivas del jugador [20], [32], aunque no es directamente aplicable para la
gran mayoría de los géneros de juegos existentes [90].
El modelado de experiencia objetivo puede ser basado en modelos o libre de modelos. Basado
en modelos se re�ere a modelos emocionales derivados de teorías de emoción (e.g., cognitive
appraisal theory [19] y las populares dimensiones emocionales de excitación y valencia [22], [66]),
en las cuales las respuestas corporales son proyectadas a respuestas emocionales especí�cas, por
ejemplo, un aumento en el ritmo cardiaco del jugador corresponde a alta excitación. Libre de
modelos se re�ere a la construcción de una proyección (modelo) entre datos de entrada del
jugador y una representación de su estado emocional. Esta técnica es muy común, por ejemplo,
para reconocimiento de expresiones faciales, donde se tienen imágenes de rostros mostrando
estados afectivos particulares. Para construir el modelo computacional se usan comúnmente
técnicas de clasi�cación y regresión derivadas de estrategias estadísticas y de aprendizaje de
máquina [90].
Modelado de la Experiencia del Jugador basado en el Gameplay. El supuesto prin-
cipal que guía el modelado de la experiencia basado en el gameplay, es que las acciones del
jugador y sus preferencias están vinculadas a su experiencia, ya que los juegos pueden afectar
los patrones de procesamiento cognitivos del jugador. De igual forma, los procesos cognitivos
pueden in�uir en las emociones y se puede inferir el estado emocional del jugador analizando
25
los patrones de interacción y asociando emociones del usuario con variables contextuales [9],
[27]. Cualquier elemento derivado de la interacción entre el jugador y el videojuego constituye
la base para el modelado de la experiencia basado en el gameplay. Esto incluye parámetros del
comportamiento del jugador derivados de respuestas a los elementos del sistema (i.e., nonplayer
characters, niveles, o agentes conversacionales).
Este tipo de modelado de la experiencia puede ser clasi�cado como basado en modelos, libre
de modelos o un híbrido entre las dos. Las aproximaciones basadas en modelos son inspiradas,
típicamente, por un marco teórico general de análisis de comportamiento y/o modelos cogni-
tivos (por ejemplo, usability theory [53], modelo creencia-deseo-intención, la teoría cognitiva de
Ortony, Clore y Collins [53], el modelo de Skinner [69], la teoría de Scherer [67]), pero tam-
bién hay teorías acercade las emociones del usuario que son especí�cas a juegos, tales como
las componentes de diseño para juegos de Malone [40], la teoría de diversión de Koster [34] e
interpretaciones del concepto de �ujo de Csikszentmihalyi aplicadas a videojuegos [10].
Los datos de entrada para un modelo de experiencia basado en el gameplay son las carac-
terísticas estadísticas espacio-temporales de la interacción del juego. Estas características son
proyectadas a niveles de estados cognitivos como atención, reto e inmersión [27]. Medidas gen-
erales tales como el desempeño y el tiempo que lleva realizar una tarea han sido usados en
la literatura, pero también medidas especí�cas para videojuegos tales como las armas selec-
cionadas en un juego de disparos [24], el número de veces que el jugador muere, lo impredecible
de las muertes en juegos de presa/depredador [86]. Más aun, varias medidas de reto y di�cultad
han sido propuestas para diferentes géneros de juegos [1], [37], [38], [51], [72], [73], [86]. En
todos estos estudios, el ajuste de la di�cultad se realiza basado en el modelo de experiencia del
jugador, que implica un vínculo directo entre reto y diversión.
Evaluación del Contenido del Juego.
Para la EDPCG, el principal uso de los modelos de experiencia adquiridos es juzgar la
calidad de los elementos del contenido creado, esto es necesario en la fase de creación donde los
elementos candidatos son evaluados y usados para generar nuevos contenidos. La tarea de la
función de evaluación es asignar un escalar (o un vector de números reales) al contenido, que
re�eje de manera precisa si es apropiado usarlo dentro del juego.
26
Se pueden distinguir tres clases de funciones de evaluación para la calidad del contenido
generado: directas, basadas en simulación e interactivas.
Funciones de Evaluación Directas. En una función de evaluación directa, se extraen al-
gunos rasgos del contenido generado y estos rasgos son proyectados directamente a un valor de
calidad de contenido. Hipotéticamente, tales rasgos pueden incluir: el número de caminos a la
salida de un laberinto, la rapidez de disparo de un arma, la concentración espacial de recursos
en un mapa de estrategia, etc. La proyección entre rasgos y calidad de contenido puede ser
lineal o no lineal, pero típicamente no se requiere de muchos cálculos y es ajustada a un juego
en particular y tipo de contenido. Esta proyección puede depender de un modelo del estilo de
juego, preferencias o el estado afectivo del jugador, resultando en un elemento de personal-
ización para la generación de contenido. Una distinción importante dentro de las funciones de
evaluación directas es entre las dirigidas por teorías y las dirigidas por datos. En las funciones
dirigidas por teorías, el diseñador es guiado por la intuición y/o alguna teoría cualitativa de
emoción o experiencia del jugador, para derivar una proyección entre el modelo de experiencia
y la calidad de contenido. Ejemplos de funciones de evaluación directas dirigidas por teorías
pueden encontrarse en los siguientes estudios: [4], [8], [12], [17], [46], [62]. Por otra parte, las fun-
ciones dirigidas por datos están basadas en coleccionar datos de los efectos de varios ejemplos de
contenido a través de cuestionarios o mediciones �siológicas, y luego usar métodos automáticos
para ajustar la proyección de contenido a experiencia del jugador y �nalmente, a funciones de
evaluación. Ejemplos de funciones de evaluación directas dirigidas por datos pueden encontrarse
en [15], [16], [20], [28], [41], [45], [48], [57], [58], [83], [89].
Funciones de Evaluación basadas en Simulación. Una función de evaluación basada en
simulación utiliza un agente arti�cial que juega una parte del juego que involucra el contenido
a evaluar. Los rasgos que se proyectan a los modelos de experiencia del jugador son extraídos
del juego observado (e.g., ¿ganó el agente?, ¿qué tan rápido?, ¿cómo se manejo el cambio de
estilos de juego?) y se usan para calcular el valor de calidad del contenido.
Se hace una distinción clave entre funciones basadas en simulación estáticas y dinámicas. En
una función estática, no se asume que el agente cambia mientras juega. En una función dinámica
el agente cambia durante el juego y el valor de calidad incorpora de alguna forma este cambio.
27
Por ejemplo, la implementación del agente puede basarse en un algoritmo de aprendizaje y la
función de evaluación puede ser dependiente de qué tan bien o qué tan rápido el agente aprende
a jugar el contenido que está siendo evaluado. Estudios en la literatura ya se han ocupado del
diseño de funciones basadas en simulación tanto estáticas [44], [78], [79] como dinámicas [6],
[80].
Funciones de Evaluación Interactivas. Las funciones de evaluación interactivas cali�can
el contenido basadas en la interacción del jugador con el juego. Los datos pueden ser obtenidos
del jugador de forma explícita, usando cuestionarios o datos de entrada verbales, o de forma
implícita, midiendo por ejemplo, que tan frecuentemente o cuánto tiempo el jugador decide
interaccionar con una parte particular del contenido, cuándo decide salir del juego, o expresiones
de afecto tales como la intensidad con la que presiona los botones, movimiento del control,
respuesta �siológica, mirada, voz, expresiones faciales y posturas [90].
Generación del Contenido.
Una vez que es capturada la experiencia del jugador, el contenido es representado apropi-
adamente y son diseñadas las funciones de evaluación del contenido, el generador de contenido
debe buscar, dentro del espacio de búsqueda resultante, el contenido que maximice aspectos
particulares de la experiencia del jugador.
Si el contenido es representado por un número pequeño de dimensiones (de forma indirecta),
la búsqueda exhaustiva debe ser capaz de proveer soluciones robustas para PCG en línea.
En general, entre más directa se vuelve la representación, más grande se vuelve el espacio
de búsqueda. Cuando la búsqueda exhaustiva no es posible, se pueden usar desde simples
búsquedas heurísticas y de gradiente, hasta técnicas estocásticas de optimización global tales
como los algoritmos evolutivos [90].
En la EDPCG, el usuario encauza la generación de nuevo contenido (personalizado), el rol
del diseñador se convierte en el de tomar decisiones de alto nivel acerca del tipo de contenido
a ser generado y el tipo de experiencia que se desea optimizar. De esta forma, la EDPCG
constituye una novedosa mezcla de generación de contenido encauzada por el usuario (a través
del modelado de la experiencia del jugador) y generación de contenido encauzada por el diseño
28
(a través del diseño de los parámetros).
1.3. El Problema
La generación procedural de contenido promete ser una herramienta muy útil para los de-
sarrolladores independientes de videojuegos, ya que al no contar con un presupuesto millonario
y un equipo grande de diseñadores, artistas y programadores, la creación automática de con-
tenido los puede hacer más competitivos. Sin embargo, el primer problema al que se enfrenta un
diseñador de videojuegos al querer incorporar técnicas de PCG, es la pérdida de control sobre el
contenido generado. Uno de los principales argumentos en contra de la generación procedural de
contenido por parte de los representantes de la industria de videojuegos, por lo menos cuando
se discute la generación en línea de contenido necesario, es la falta de con�abilidad. Debido
a la forma en que la mayoría de los juegos comerciales están diseñados, cualquier riesgo de
presentarle al jugador contenido que sea imposible de jugar es inaceptable [82].
Las herramientas de generación procedural, por lo regular, necesitan muchas pruebas y
correcciones para lograr los resultados deseados. Como resultado, los costos de desarrollo de
un videojuego que utiliza generación procedural pueden salirse de control. Spore20, un juego
con numerosos aspectos generados de forma procedural, es un buen ejemplo de este problema.Este juego superó su fecha de lanzamiento y su presupuesto, siendo publicado tras ocho años de
desarrollo y un costo estimado de producción de 80 millones de dólares [11]. Además, la mayoría
de los enfoques y algoritmos de PCG que se encuentran en la literatura, están diseñados a la
medida de un juego o género en particular, lo cual di�culta la elección y adaptación de un
algoritmo para un juego diferente. Incluso entre algoritmos similares, los datos de entrada
son dependientes del juego en particular que se está programando (por ejemplo, el número y
distribución de huecos en Super Mario Bros [58]), por lo cual, un algoritmo que ha sido utilizado
exitosamente para generar contenido de un juego, puede que no sirva para otro si los datos de
entrada no se eligen bien o no se le hacen las modi�caciones necesarias.
Por otra parte, la disciplina del diseño de videojuegos requiere una consideración cuidadosa
de las relaciones espaciales. Las regiones del espacio de juego son comúnmente diferenciadas
20 c
 2009, Electronic Arts, Inc. www.spore.com
29
como niveles, los cuales son creados a través de una faceta particular de la producción llamada
diseño de niveles (level design). El diseño de niveles es un arte que consiste en crear la elu-
siva combinación entre reto, competencia e interacción que los jugadores llaman simplemente
diversión e involucra un desarrollo cuidadoso y deliberado del espacio de juego, el cual incluye
la colocación manual de los elementos apropiados dentro del área de juego. Un nivel creado de
esta forma puede considerarse como un nivel estático, ya que la experiencia del jugador será
consistente cada vez que juege en él.
Cuando se trabaja con generación procedural, es necesaria una revisión de cómo el diseñador
del juego establece el cambio en di�cultad a través de los diferentes niveles. Con el contenido
estático, la di�cultad puede ser un problema espacial que el diseñador puede acomodar manual-
mente. Considere el caso de un juego de plataforma, en donde el objetivo es llegar al �nal del
nivel saltando huecos. Incrementar el ancho de los huecos o poner varios huecos cerca uno del
otro, incrementará la di�cultad del nivel. Debido a que el diseñador tiene un contacto directo
con la disposición de los huecos y puede mover los elementos como desee, éste se vuelve un prob-
lema espacial. Sin embargo, si el mismo juego fuera diseñado con niveles generados de manera
procedural, el diseñador pierde de pronto el control sobre el espacio. Cuando el nivel se genera
en tiempo de ejecución, no hay oportunidad de juzgar directamente alguna parte particular del
nivel y modi�carla de ser necesario [11].
La Figura 1-6 ilustra dos de los principales problemas que surgen al utilizar técnicas de PCG
para crear los niveles de un videojuego. En el inciso (a) se muestra un nivel de un conocido juego
de plataforma que es imposible de terminar, el hueco es tan grande que el jugador no podrá
saltarlo para llegar a la meta. Este es un ejemplo de contenido incorrecto, ya que impedirá
que el jugador avance. El inciso (b) es un nivel correcto pues el jugador lo puede terminar, sin
embargo, el nivel de reto e interacción es tan bajo que difícilmente resultará en una experiencia
divertida para el jugador.
Diseñar un generador de contenido que produzca niveles correctos y divertidos, y que además
los pueda generar en tiempo de ejecución, es un gran reto a vencer para los programadores y
diseñadores de videojuegos.
30
Figura 1-6: Dos problemas de la generación procedural de niveles de un videojuego. a) Los
niveles deben ser correctos, es decir, deben poder ser terminados por el jugador y no impedirle
progresar en el juego (el hueco en este nivel es tan grande que el jugador no podrá saltarlo para
llegar a la meta). b) Un nivel puede ser correcto pero no ofrecer una experiencia divertida al
jugador.
1.4. Hipótesis
En este trabajo, se aborda la generación procedural de contenido desde el punto de vista
del diseñador de videojuegos (game designer), él es el encargado de diseñar la dinámica del
juego y hacerlo divertido. Sin embargo, en el contexto de la PCG, el balance del juego, el
diseño de los niveles, la distribución de los ítems, etc., no están completamente en las manos
del diseñador, sino que dependen del algoritmo de PCG que se utilice. Por ello, se plantean
las siguientes interrogantes: ¿Cuál es el mínimo grado de control que debe tener el diseñador
sobre el algoritmo de generación de contenido? O dicho de otra forma, ¿Qué parámetros del
algoritmo debe poder controlar el diseñador? Además, ¿Se pueden identi�car parámetros que
sean independientes del género y tipo de juego?, ¿Se pueden incorporar las técnicas de PCG al
proceso formal de diseño de videojuegos?
La meta del diseñador es hacer que el juego sea divertido, de tal manera que el contenido
generado de manera procedural debe ayudar a cumplir esta meta. Sin embargo, de�nir qué hace
a un juego divertido es complicado, ya que existen diferentes géneros de videojuegos (acción,
estrategia, deportes, etc.) y los jugadores tienen diferentes preferencias.
31
Cuando una persona comienza a realizar una actividad, usualmente tiene un bajo nivel de
habilidad. Si el reto de la actividad es demasiado alto, la persona se puede frustrar. Mientras
continúa realizando la actividad, su habilidad se incrementa, sin embargo, si el nivel de reto
permanece igual, se puede aburrir. Si el nivel de di�cultad se mantiene apropiado al nivel de
habilidad y, si esta di�cultad se incrementa conforme aumenta el nivel de habilidad, la persona
permanecerá en un estado de experiencia óptima que el psicólogo Mihaly Csikszentmihalyi llama
�ujo [10].
El concepto de �ujo nos permite replantear el problema de lograr que un juego sea divertido,
a lograr que el juego tenga la di�cultad apropiada al nivel de habilidad del usuario. A partir
de esto, se formula la siguiente hipótesis: Si el diseñador del videojuego puede controlar la
di�cultad de los niveles generados de manera procedural y además, el diseño de la función de
evaluación del contenido garantiza que la di�cultad del contenido generado es la deseada, el
diseñador tendrá el control su�ciente para que el nivel cumpla con las metas de experiencia
establecidas y tenga la variabilidad, con�abilidad y calidad deseada.
También, se plantea que es posible diseñar una metodología para incorporar las técnicas de
generación procedural de contenido a un proceso formal de diseño de videojuegos, aislando e
identi�cando aquellos elementos que son dependientes del género y tipo de juego que se está
diseñando, de tal forma que los algoritmos de generación puedan ser diseñados de manera
independiente y con un cierto grado de generalidad.
1.5. Objetivos
Desarrollar una metodología para incorporar la generación procedural de contenido al pro-
ceso iterativo de diseño de videojuegos, dotando al diseñador del control necesario sobre el algo-
ritmo generador para que el contenido encaje en el diseño general, cumpla con las metas de ex-
periencia establecidas y tenga la variabilidad, con�abilidad y calidad deseada. Esta metodología
deberá ser lo su�cientemente general para poder aplicarse al diseño de diferentes tipos de juegos
y aplicaciones interactivas cuyo propósito no sea sólo el entretenimiento. Como caso de estudio
se diseñará y programará un videojuego en 3D, usando la generación procedural de contenido
para crear los diferentes niveles del videojuego.
32
Con este trabajo se busca demostrar que las técnicas de generación procedural de contenido
pueden ser parte fundamental del proceso de diseño de videojuegos y pueden ser usadas para
generar contenido que ofrezca una experiencia divertida al jugador.
1.6. Metodología
Se utilizarán técnicas de PCG para generar los niveles de un videojuego en 3D. En un
primer momento, el contenido será generado o­ine, es decir, durante la fase de desarrollo del
videojuego. Posteriormente, se evaluará el desempeñodel algoritmo generador y se determinará
si puede ser utilizado para generar contenido online, esto es, incluir el generador en el juego
para generar más niveles conforme avance el jugador. Para ello, se medirá el tiempo que le toma
generar un nivel al algoritmo.
Para la generación del contenido se utilizará un algoritmo genético, cuya función de aptitud
será diseñada a partir de un modelo de experiencia del jugador guiado por el concepto de �ujo
de Csikszentmihalyi [10] y algunas prácticas de diseño de videojuegos propuestas por Tracy
Fullerton y Eric Zimmerman [21].
Finalmente, se evaluarán los niveles generados de manera cuantitativa (midiendo su variabil-
idad y jugabilidad) y de manera cualitativa (a través de sesiones de playtesting y cuestionarios
aplicados a los jugadores).
33
Capítulo 2
Diseño de Videojuegos y el
Concepto de Flujo
Los juegos son una parte integral de todas las culturas conocidas. Los juegos digitales,
en todos sus formatos y géneros, son solo una nueva expresión de este antiguo método de
interacción. Crear un buen juego es una tarea difícil, el trabajo del diseñador es crear un
conjunto de reglas dentro de las cuales existan los medios y la motivación para jugar. Sin
importar si hablamos de juegos de mesa, de consola o en línea, el arte del diseño de juegos
siempre ha sido el de crear la elusiva combinación entre reto, competencia e interacción que los
jugadores llaman simplemente "diversión"[21].
A medida que las ventas de videojuegos se han incrementado, el interés en el diseño de
juegos como una carrera también ha crecido. Ahora están disponibles programas de licenciatura
y posgrado en diseño de juegos en muchas universidades alrededor del mundo. La International
Game Developers Association1, reconociendo el interés abrumador por aprender a crear juegos,
ha establecido un grupo (Education SIG) para ayudar a los educadores a crear un currículo que
re�eje el proceso que siguen los diseñadores de juegos profesionales. En su sitio web, la IGDA
muestra alrededor de 200 programas que ofrecen cursos o grados en diseño de juegos tan solo
en Norte América. Además, la revista Game Developer2 publica una guía de carrera anual para
conectar el estudio de desarrollo de videojuegos con la industria.
1http://www.igda.org/
2http://gdmag.com/
34
Eric Zimmerman y Tracy Fullerton han enseñado durante doce años el arte del diseño de
juegos y han establecido un currículo para el grado de Interactive Media de la USC School of
Cinematic Arts. En su libro: Game Design Workshop [21], Zimmerman y Fullerton describen
un proceso iterativo de diseño de videojuegos y de�nen los elementos estructurales que los
componen.
En este capítulo, se introducen algunos conceptos básicos utilizados en el proceso de diseño
de un videojuego. También, se discute el modelo de experiencia del jugador que constituye el
marco teórico para el desarrollo del generador de contenido, en particular, se discute el concepto
de �ujo de Mihaly Csikszentmihalyi [10]
2.1. La Estructura de un Juego
Los videojuegos son sistemas y por de�nición, son conjuntos de elementos interrelacionados
que trabajan juntos para formar un todo más complejo. Los juegos son provistos de una estruc-
tura por sus elementos formales y dramáticos (Figura 2-1). Los elementos formales, tales como
el tipo de jugadores, objetivos, procedimientos, reglas, recursos, con�icto, límites y resultados,
nos permiten de�nir a los juegos como juegos y diferenciarlos de cualquier otro tipo de inter-
acción. Los elementos dramáticos, tales como el reto, la premisa, los personajes y la historia,
convierten a los juegos en experiencias emocionalmente atractivas [21].
2.1.1. Los Elementos Dramáticos de un Juego
Los elementos dramáticos de un juego son aquellos que conectan emocionalmente al jugador
con la experiencia de jugarlo, estos elementos le dan un contexto al gameplay, superponiendo
e integrando los elementos formales del sistema a una experiencia signi�cativa. Los elementos
dramáticos básicos, tales como el reto y el tipo de jugadores, los encontramos en todos los
juegos. Algunos elementos dramáticos más complicados, como la premisa, los personajes y la
historia, son usados en muchos juegos para explicar y realzar los elementos más abstractos del
sistema formal, creando un sentido profundo de conexión para los jugadores y enriqueciendo su
experiencia [21].
35
Figura 2-1: La estructura de un videojuego se compone por sus elementos formales y dramáticos.
La Premisa
En un juego, la premisa establece la acción dentro de un entorno o metáfora. Sin una
premisa dramática, muchos juegos serían demasiado abstractos y los jugadores no se verían
comprometidos emocionalmente con su desenlance.
Los Personajes
Los personajes en los juegos tienen consideraciones especiales. La más importante de éstas es
el balance entre mediación y empatía. Mediación es la función práctica que tiene un personaje de
servir como una representación del jugador en el juego. La mediación puede ser completamente
utilitaria o puede incluir aspectos de creatividad, juego de roles e identi�cación. La empatía es
el potencial de los jugadores de desarrollar un apego emocional al personaje, identi�carse con
sus objetivos y por consecuencia, con los objetivos del juego [21].
36
La Historia
Las obras de teatro, las películas y los videojuegos son medios que involucran una narración
que comienza en la incertidumbre y es resuelta en el transcurso del tiempo. Sin embargo, la
incertidumbre en una película u obra es resuelta por el autor, mientras que la incertidumbre de
un juego es resuelta por los jugadores.
En muchos juegos, la historia se limita a ser de soporte, dándole un escenario y contexto
al con�icto del juego y creando una motivación para los personajes, pero su progresión de un
punto al otro no es afectada por el gameplay. Hay algunos diseñadores que están interesados
en permitir que la acción del juego cambie la estructura de la historia, de tal forma que las
decisiones del jugador afecten el desenlace.
2.1.2. Los Elementos Formales de un Juego
Los elementos formales son aquellos que conforman la estructura de un juego. Sin ellos, los
juegos dejan de ser juegos. Los jugadores, objetivos, procedimientos, reglas, recursos, con�ictos,
límites y resultados son la esencia de los juegos [21].
Objetivos
Los objetivos de�nen lo que los jugadores deben tratar de lograr dentro de las reglas del
juego. En el mejor de los casos, estos objetivos parecen difíciles pero factibles. Además de
proveer un reto, el objetivo del juego puede de�nir su tono. Un juego cuyo objetivo es capturar
o eliminar las fuerzas del oponente, tendrá un tono muy diferente a otro cuyo objetivo sea
deletrear palabras.
Algunos juegos están construidos de tal forma que diferentes jugadores tengan diferentes
objetivos, mientras que otros permiten al jugador elegir uno de varios objetivos posibles, y
todavía otros permiten a los jugadores formar sus propios objetivos. Además, pueden haber
objetivos parciales que ayuden a los jugadores a lograr el objetivo principal. En cualquier caso,
el objetivo debe ser considerado cuidadosamente porque no solo afecta al sistema formal del
juego, sino que también a los aspectos dramáticos. Si el objetivo está bien integrado con la
premisa o historia, el juego puede tomar fuertes aspectos dramáticos [21].
37
Algunos académicos han hecho esfuerzos para categorizar los juegos según sus objetivos [63].
A continuación se listan algunas de las categorías que han de�nido:
Captura. El objetivo en un juego de captura es tomar o destruir algo del oponente
(terreno, unidades, etc.), evitando al mismo tiempo ser capturado. Ejemplos de este tipo
de juego son los juegos de mesa de estrategia como el ajedrez y las damas chinas, así como
los juegos de acción como Quake3, SOCOM II 4 y sus parecidos.
Persecución. El objetivo en un juego de persecución es atrapar a un oponente o eludir a
uno si eres al quepersiguen. Ejemplos de juegos de persecución incluyen Tag (roña), Fox
& Geese (el lobo y las ovejas) y Maximum Chase5.
Carreras. El objetivo en un juego de carreras es alcanzar una meta antes que los otros
jugadores. Ejemplos pueden ser juegos de mesa como Uncle Wiggily6 y Parcheesi, o un
juego de simulación como Virtua Racing7.
Alineación. El objetivo en un juego de alineación es acomodar piezas en una cierta con-
�guración espacial o crear una alineación conceptual entre categorías de piezas. Ejemplos
incluyen Tic-Tac-Toe (Gato), Solitario, Connect Four8, Tetris9 y Bejeweled10.
Rescate o Escape. El objetivo en un juego de rescate o escape es llevar a alguien o algo
a un lugar seguro. Algunos ejemplos son: Super Mario Bros.11, Prince of Persia 3D12,
Emergency Rescue: Fire�ghters13 e Ico14.
Acto Prohibido. El objetivo en un juego de acto prohibido es lograr que el oponente
rompa las reglas al reirse, hablar, hacer un movimiento erróneo o algo que no deberían.
3 c
 1998, Midway Games.
4 c
 2004, Sony Computer Entertainment.
5 c
 2003, Majesco.
6Diseñado por Howard R. Garis.
7 c
 1994, Sega.
8 c
 1974, Milton Bradley.
9Diseñado originalmente por Alexey Pajitnov.
10 c
 2001, PopCap Games.
11 c
 1985, Nintendo.
12 c
 1999, The Learning Company.
13 c
 2000, WizardWorks.
14 c
 2002, Sony Computer Entertainment.
38
Ejemplos incluyen Twister15, Operation16 y Ker-Plunk! 17.
Construcción. El objetivo en un juego de construcción es construir, dar mantenimiento
o administrar objetos. Ejemplos de este tipo son los juegos de simulación como Animal
Crossing18, Gazillionaire19, SimCity20 o The Sims21.
Exploración. El objetivo en un juego de exploración es explorar áreas. Casi siempre
existe una combinación con un objetivo más competitivo. En el juego clásico Colossal Cave
Adventure22, el objetivo no es solamente explorar Colossal Cave, sino también encontrar
tesoros en el camino. En juegos como The Legend of Zelda23, se combinan los objetivos
de exploración, resolución de acertijos y combate.
Solución. El objetivo en un juego de solución es resolver un problema o acertijo antes
que el oponente. Ejemplos incluyen las series de Myst24.
Ingenio. El objetivo en un juego de ingenio es ganar conocimiento y usarlo para derrotar
a los otros jugadores. Algunos juegos de este tipo se enfocan en tener conocimiento extra,
como Trivial Pursuit25 o Jeopardy26.
Procedimientos
Los procedimientos son los métodos para jugar y las acciones que los jugadores pueden hacer
para lograr los objetivos del juego. Una manera de pensar sobre los procedimientos es de�nir
quién hace qué, dónde y cómo.
En los juegos de mesa, los procedimientos son descritos usualmente en una hoja con las
reglas del juego y son puestos en acción por los jugadores. En los juegos digitales, sin embargo,
15 c
 Milton Bradley Company.
16 c
 Milton Bradley - Hasbro.
17 c
 Mattel.
18 c
 2001, Nintendo.
19 c
 1994-2011, LavaMind LLC.
20 c
 2012, Electronic Arts, Inc.
21 c
 2011, Electronic Arts, Inc.
22Diseñado por William Crowther.
23 c
 1986, Nintendo.
24 c
 1993, Broderbund.
25 c
 2008, Hasbro.
26 c
 2012, Jeopardy Productions, Inc.
39
están usualmente integrados en la sección de controles del manual, ya que son accedidos por el
jugador por medio de los controles. Ésta es una diferencia importante entre procedimientos y
reglas, ya que las reglas pueden estar escondidas en un juego digital.
Los juegos digitales pueden tener estados más complejos y procedimientos de múltiples
facetas que trabajan entre bastidores, respondiendo a situaciones y acciones del jugador. En un
sistema de combate RPG27, los atributos del personaje y las armas pueden ser usados como parte
de un sistema de cálculo que determina si una acción particular del jugador tiene éxito o no.
Si se tratara de un juego de mesa, estos procedimientos deben ser calculados por los jugadores,
usando dados para generar números aleatorios. Si el juego es digital, los procedimientos son
calculados por el programa. Debido a esto, los juegos digitales pueden tener procedimientos
más so�sticados y procesarlos de forma más rápida [21].
Recursos
En el mundo real, los recursos representan activos (i.e., recursos naturales, económicos,
humanos, etc.) que pueden ser usados para alcanzar ciertas metas. En un juego, los recursos
desempeñan un papel similar. La mayoría de los juegos utilizan recursos dentro de su sistema,
tales como �chas en el poker, propiedades en Monopoly28 y oro en WarCraft29. Administrar
estos recursos y determinar cómo y cuándo el jugador tiene acceso a ellos es una parte clave
del trabajo del diseñador del juego.
Por de�nición, los recursos deben tener tanto utilidad como escasez. Si no tienen utilidad, es
como encontrar sushi en Diablo II 30, algo divertido y extraño de encontrar pero esencialmente
inútil. De la misma manera, si los recursos son abundantes, perderán su valor en el sistema. Al-
gunos ejemplos de recursos utilizados en videojuegos son: vidas, unidades, la salud del personaje
(health), dinero, movimientos o turnos, power-ups, un inventario, terrenos y tiempo [21].
27Role Playing Game, juego de rol.
28 c
 Hasbro.
29 c
 Blizzard Entertainment.
30 c
 2000, Blizzard Entertainment.
40
Con�icto
El con�icto en un juego se diseña creando reglas, procedimientos y situaciones que impiden
a los jugadores lograr sus objetivos de manera directa. Los procedimientos ofrecen medios
ine�cientes para lograr el objetivo del juego, estos medios retan a los jugadores al obligarlos a
usar una habilidad en particular. Existen tres fuentes clásicas de con�icto en un juego [21]:
Obstáculos. Pueden tener forma física, como vallas en un juego de carreras, o ser retos
mentales, como los acertijos en un juego de aventuras.
Oponentes. En un juego multijugador, los otros jugadores son típicamente la fuente
principal de con�icto. También podemos encontrar oponentes controlados por el sistema.
Dilemas. A diferencia de los obstáculos físicos y mentales y el con�icto originado por
la competencia directa con otros jugadores, otro tipo de con�icto puede surgir de la
toma de decisiones que representen un dilema, las cuales pueden tener buenas o malas
consecuencias.
Límites
Los niveles de nuestro videojuego tienen la forma de un tubo hueco en espiral por el cual se
desliza el personaje, si éste se cae del tubo el jugador pierde y debe comenzar desde el principio
del nivel, por lo tanto, el interior del tubo conforma los límites del juego (Figura 3-9).
Reglas
Las reglas de�nen los objetivos del juego y las acciones permitidas a los jugadores. Al igual
que los procedimientos, las reglas generalmente se explican en un documento (en el caso de un
juego de mesa) o un manual, pero también pueden estar implícitas dentro del programa mismo
(en el caso de un videojuego). Por ejemplo, un juego digital puede no permitir ciertas acciones
sin necesidad de prohibirlas explícitamente, la interfaz puede simplemente no incluir controles
para tal acción o el programa puede impedir que el jugador la realice.
Es importante que al diseñar las reglas del juego se tome en cuenta su relación con los
jugadores. Muchas reglas pueden hacer que el juego sea difícil de entender. Dejar reglas sin
41
especi�car o comunicarlas pobremente puede confundir a los jugadores. Incluso si el sistema
del juego se encarga de la correcta aplicación de las reglas, los jugadores necesitan entenderlas
claramente para que no se sientan engañados por las consecuencias de ciertas reglas [21].
2.2. El Diseño de Videojuegos y la Generación Procedural de
Contenido
Como vimos en el capítulo 1, la generación procedural de los niveles de un videojuego
presenta algunos retos para el diseñador. Por una parte, el diseñador pierde el control sobre
los elementos que conforman el nivel, haciendo difícil establecer la di�cultad que debe tener
(cuando el diseñador crea el nivel de forma manual, la di�cultad puede verse como un problema
espacial, donde la distribución de los recursos

Otros materiales