• Nenhum resultado encontrado

Estrutura genérica de um algoritmo genético

pop ← GerarPopulacaoInicial()

enquanto condição de parada não for atingida faça

desc ← vazio

enquantonão atingir certa quantidade de descendentes faça se a condição de crossover for satisfeita então

desc ← Adiciona(Crossover(SelecionarPais(pop)))

fim se

se a condição de mutação for satisfeita então

desc ← Adiciona(Mutacao(SelecionarPai(pop)))

fim se

AvaliaQualidadeDaDecendencia(desc)

fim enquanto

pop ← SelecionaNovaPopulacao(pop, desc)

fim enquanto

retorna MelhorIndividuo(pop) fim função

Existem duas estratégias principais de condição de crossover, são elas: crossover- E-mutação e crossover-OU-mutação. No primeiro caso, o crossover é aplicado nos pais selecionados e a mutação é aplicada nos descendentes gerados pelo crossover. No segundo, ambas as operações são aplicadas apenas nos pais. A escolha entre as operações se dá a partir de uma regra de aleatoriedade baseado em uma distribuição uniforme. A estrutura de um algoritmo genético se dá com base na organização e na porcentagem de chances em que uma operação pode ser executada. O Algoritmo 2.1 apresenta uma estrutura geral de um algoritmo genético.

2.5.3

Abordagem FI-2pop GA

O AG tradicional, pode apresentar, para alguns problemas, uma baixa diversidade da população, uma vez que os melhores indivíduos podem possuir uma grande semelhança. Tal condição pode impedir o AG de explorar outros pontos do espaço de busca, conse- quentemente pode desviar da melhor solução global. A fim de aumentar a diversidade e contornar desse problema, Kimbrough et. al (2005) apresentou uma proposta de um algoritmo genético que evolui duas populações, uma de indivíduos viáveis e outra com indivíduos inviáveis. Nessa abordagem, as operações genéticas são realizadas sobre ambas as populações permitindo, assim, que indivíduos antes inviáveis evoluam e se tornem viáveis, o que pode ajudar na exploração do espaço de busca.

2.6

Conclusão

Neste capítulo apresentamos o embasamento teórico que serviu como base para entender melhor a área de geração procedural de conteúdo, as principais mecânicas envolvidas nos níveis, os gêneros de jogos que são mais comumente estudados, a classificação das técnicas da área e a programação evolucionária. Tal embasamento contribuiu para a realização do estudo sistemático e, portanto, para a classificação em relação aos gêneros de jogos e à taxonomia das técnicas de PCG e análise dos trabalhos selecionados, os quais são apresentados no capítulo a seguir.

Capítulo 3

Estudo sistemático da literatura

Neste capítulo, relatamos o processo e os resultados de um estudo sistemático da literatura de geração procedural de níveis de jogos do gênero Dungeon Crawler. Este estudo segue as diretrizes definidas pelo modelo de Itens de Relatório Preferidos para Revisões Sistemáticas e Meta-Análises, ou PRISMA do inglês Preferred Reporting Items

for Systematic Reviews and Meta-Analyses, proposto por Moher et al. (2009). O estudo

tem como objetivo a compreensão do estado da arte da área de geração procedural de

dungeons e a identificação problemas em aberto nesse contexto. Ao final deste capítulo

apresentamos o problema que atacamos em nosso trabalho.

3.1

Métodos

As diretrizes do PRISMA definem três passos principais para a realização de um estudo sistemático: a busca literária, a seleção de artigos elegíveis e a extração e o resumo dos artigos. As próximas seções definem os critérios sobre os quais o estudo foi realizado, em relação à seleção (elegibilidade e exclusão) de artigos, apresenta as fontes e quais tipos de dados foram coletados.

3.1.1

Critério de elegibilidade

Aplicamos, em cada um dos artigos encontrados, um conjunto de critérios para definir quais seriam eleitos para o estudo. Em seguida, um critério de exclusão foi aplicado para eliminar os falsos positivos. Esse passo é importante, pois limita os resultados da busca para um conjunto de artigos relevantes da área. Portanto, adotamos os seguintes critérios de elegibilidade (CE) e o seguinte critério de exclusão (CX) para descarte dos resultados falso positivos:

• CE1: Artigos escritos em Inglês; • CE2: Artigos revisados por pares;

• CE3: Artigos de congressos ou revistas científicas;

• CE4: Artigos cujo título e resumo deixam claro que o foco é geração de níveis de

dungeons ou labirintos.

• CX1: O título e o resumo não deixam claro que o foco principal é a geração procedural de níveis de dungeons ou labirintos.

O critério de seleção que adotamos é focado em geração procedural de níveis de jogos do gênero Dungeon Crawler ou de labirintos. Consideramos a geração de labirintos devido à sua proximidade com o gênero de dungeons, que são ambientes labirínticos. Dessa forma, acreditamos que trabalhos de geração de labirintos podem contribuir de algum modo com a geração de dungeons. Consideramos também os artigos que propuseram soluções genéricas desde que utilizassem dungeons ou labirintos como estudo de caso.

3.1.2

Fonte de informação

Os motores de busca que utilizamos como base para o processo de busca foram das bibliotecas digitais da ACM e da IEEE Xplore e da Scopus, que possui artigos da Springer, Elsevier e das duas bibliotecas digitais já mencionadas. Todas as bibliotecas digitais fornecem artigos revisados por pares de revistas científicas e conferências. Os motores de busca e seus respectivos endereços são listados na Tabela 3.1.

Tabela 3.1 – Fontes de informação

Fontes URL

ACM <https://dl.acm.org/> IEEE Xplore <https://ieeexplore.ieee.org/> Scopus <https://www.scopus.com/>

Fonte: autor

3.1.3

Busca

Definimos os termos de busca selecionando as palavras-chave relacionadas à geração procedural de conteúdo, ao tipo de nível gerado (dungeon ou labirinto) e jogos. Dividimos os termos em três grupos, onde cada grupo contém palavras que são sinônimos ou têm o mesmo significado semântico no campo de PCG. Uma das palavras-chave abrange dois grupos, portanto pertence a ambos. As palavras-chave foram definidas em Inglês devido às fontes de informação. A Tabela 3.2 apresenta cada grupo e os termos usados na busca.

Tabela 3.2 – Termos de busca

Grupo 1 (PCG) Grupo 2 (Nível) Grupo 3 (Jogo)

PCG Dungeon Game

Procedural Content Generation Dungeon Crawl Video Game Procedural Generation Maze

Procedural Generated Content Labyrinth Procedural Level Generation

Level Generation Automatic Generation

Procedural Dungeon Generation Fonte: autor

Definimos a string de busca a partir da conexão de cada palavra dentro de cada grupo com um operador booleano OR e, em seguida, combinando os grupos conectando os termos de cada um com o operador AND. Dentro da operação do primeiro e segundo grupo conectamos, com o operador OR, a palavra-chave “Procedural Dungeon Generation” devido, como já foi dito, a sua definição que engloba tanto a área de PCG quanto o tipo de conteúdo a ser gerado (dungeon). A string de busca resultante foi, portanto:

Figura 3.1 – String de busca

(((PCG OR “Procedural Content Generation” OR “Procedural Generation” OR “Procedural Generated Content” OR “Procedural Level Generation” OR “Level Generation” OR “Automatic Generation”) AND (Labyrinth OR Maze OR Dungeon

OR “Dungeon Crawl”)) OR (“Procedural Dungeon Generation”)) AND (Game OR “Video Game”)

Fonte: autor

A Figura 3.2 apresenta um diagrama que mostra, de forma estruturada, as palavras- chaves da string de busca permitindo, assim, uma melhor visualização da fórmula.

Figura 3.2 – Fórmula de busca convertido em um diagrama

AND

OR

PCG, “Procedural Content Generation”, “Pro- cedural Generation”, “Procedural Generated

Content”, “Procedural Level Generation”, “Level Generation”, “Automatic Generation”

OR

Labyrinth, Maze, Dungeon, “Dungeon Crawl”

OR

Game, “Video Game”

OR

“Procedural Dungeon Generation”

Fonte: autor

Realizamos a busca na literatura de forma manual utilizando a string de busca dentro dos mecanismos de pesquisa mostrados na Tabela 3.1, configurados para pesquisar os termos no título, resumo, palavras-chave e o conteúdo dos artigos. A busca foi realizada no período de 11 a 14 de setembro de 2018 e refeita no período de 17 a 18 de outubro de 2018 em cada um dos motores de busca. A necessidade de refazer o processo se deu devido à uma correção da string de busca parra adquirir resultados aptos e não encontrados na primeira realização e, consequente, alguns novos resultados.

3.1.4

Dados coletados

Ao finalizar o processo de seleção, avaliamos cada artigo e extraímos os dados relevantes como parte do estágio de síntese. Os dados extraídos foram os seguintes: (1) disponibilidade de algoritmo ou pseudo-algoritmo; (2) características do jogo em relação à dimensão do conteúdo gerado e ao gênero do jogo; (3) aspectos técnicos do trabalho em relação à estratégia de solução e à taxonomia de PCG (momento da geração, controle da geração, generalidade, método de escolha, forma de geração, autoria do conteúdo).

A taxonomia proposta por Togelius, Shaker e Nelson (2016), descrita na Seção 2.4, apresenta também a classificação de necessidade do conteúdo. Contudo, desconsideramos esta classe nesse estudo, pois na pesquisa científica é mais interessante haver as restrições impostas pelo conteúdo necessário, que são garantir a consistência e qualidade do conteúdo gerado. Portanto, nenhum dos trabalhos seria classificado nessa categoria.

3.2

Resultados

As buscas nos três motores de busca (biblioteca digital da ACM, IEEE Xplore e Scopus) resultaram em um total de 211 artigos potencialmente relevantes. Após a revisão do título e resumo, 180 foram descartados, resultando em 31 artigos. A razão da grande quantidade de falsos positivos se deu pelo fato de que realizamos a busca de artigos de forma a considerar tanto os metadados quanto o conteúdo dos artigos. Portanto, os artigos que apenas citaram algumas das palavras-chave também apareceram na busca. O resumo desse processo é ilustrado no diagrama de fluxo PRISMA da Figura 3.3.

Figura 3.3 – Diagrama de fluxo do PRISMA

ACM Digital Libray

N = 14

IEEE Xplore

N = 114

Scopus

N = 120

Vista de título e resumo

N = 248 Remoção de duplicatas N = 37 Vista do conteúdo N = 211 Critérios de exclusão N = 180 Resultado final N = 31 Fonte: autor

3.2.1

Artigos selecionados

A Tabela 3.3 apresenta os dados acerca da dimensão do nível, o gênero do jogo para o qual o conteúdo é gerado, a estratégia de solução para gerar o conteúdo e se o artigo apresenta algum pseudo-algoritmo para facilitar a reprodutibilidade do experimento. As estratégias de solução encontradas foram: algoritmos evolutionários (AE), algoritmos genéticos (AG), algoritmos genéticos com autômatos celulares (AG/AC), outros algoritmos de busca (AB), gramáticas generativas (GG), algoritmos construtivos (AC), colônia de formigas (CF). Algumas abordagens utilizaram AnsProlog, as classificamos como AB. Tabela 3.3 – Classificação dos artigos em ordem cronológica de publicação de acordo com

dimensão, gênero, estratégia de solução e se possui ou não pseudo-algoritmo

Artigo Dimensão Gênero Estratégia

de Solução Pseudo-código (ASHLOCK; LEE; MCGUINNESS, 2011a) 2D - AE -

(MCGUINNESS; ASHLOCK, 2011) 2D - AE -

(ASHLOCK; LEE; MCGUINNESS, 2011b) 2D - AE -

(VALTCHANOV; BROWN, 2012) 2D - AG -

(TOGELIUS; JUSTINUSSEN; HARTZEN, 2012) 2D Roguelike AB Sim (LINDEN; LOPES; BIDARRA, 2013) 3D RPG de Aventura GG Sim (ASHLOCK; MCGUINNESS, 2014) 2D - AE Sim (SANTAMARIA-IBIRIKA et al., 2014) 2D e 3D - AC Sim (SMITH; BRYSON, 2014) 2D Roguelike AB Sim

(KIM; CRAWFIS, 2015) 2D - AB -

(ASHLOCK, 2015) 2D - AE -

(PECH et al., 2015) 2D - AG/AC -

(BAGHDADI et al., 2015) 2D Plataforma 2D AG -

(BAE et al., 2015) 2D - AC Sim

(FORSYTH, 2016) - Roguelike AC -

(POŁAP, 2016) 2D - CF Sim

(PECH et al., 2016) 2D - AG/AC -

(LAVENDER; THOMPSON, 2017) 2D Ação Aventura GG -

(HELL; CLAY; ELAARAG, 2017) - - AC -

(LIAPIS, 2017) 2D - AG -

(BALDWIN et al., 2017a) 2D - AG -

(BALDWIN et al., 2017b) 2D - AG -

(BARON, 2017) (5 algoritmos) 2D e 3D - AC - (HILLIARD; SALIS; ELAARAG, 2017)

(2 algoritmos) 2D - AC -

(KARAVOLOS; LIAPIS; YANNAKAKIS, 2016) 3D RPG de Aventura AE - (ADAMS; LOUIS, 2017) 2D Maze Running AG/AC - (SMITH; PADGET; VIDLER, 2018) 2D - AB -

(ALVAREZ et al., 2018) 2D - AG -

(SAMPAIO et al., 2017) 2D - AC -

(PEREIRA; PRADO; TOLEDO, 2018) 2D - AE -

(HENDRAWAN, 2018) 2D - AC -

A Tabela 3.4 apresenta os dados de cada artigo relacionados à taxonomia dos algoritmos de geração de conteúdo. Para facilitar a visualização dos dados, criamos identificações para os paradigmas de PCG e para suas classificações. T1: Momento da geração (Off: Offline | On: Online). T2: Controle da geração (P: Parâmetros | S: Sementes aleatórias). T3: Generalidade (G: Genérico | A: Adaptativo). T4: Método de escolha (E: Estocástico | D: Determinístico). T5 Forma de geração (C: Construtivo | GT: Geração-e- Teste). T6 Autoria do conteúdo (GA: Geração automática | AM: Autoria mista). Tabela 3.4 – Classificação dos artigos em ordem cronológica de publicação de acordo com a

taxonomia

Artigo T1 T2 T3 T4 T5 T6

(ASHLOCK; LEE; MCGUINNESS, 2011a) Off P G E GT GA (MCGUINNESS; ASHLOCK, 2011) Off P G E GT GA (ASHLOCK; LEE; MCGUINNESS, 2011b) Off P G E GT GA (VALTCHANOV; BROWN, 2012) Off P G E GT GA (TOGELIUS; JUSTINUSSEN; HARTZEN, 2012) Off P G E GT GA (LINDEN; LOPES; BIDARRA, 2013) Off P G E C GA (ASHLOCK; MCGUINNESS, 2014) Off P G E GT GA (SANTAMARIA-IBIRIKA et al., 2014) Off P G D C GA

(SMITH; BRYSON, 2014) Off P G E GT GA

(KIM; CRAWFIS, 2015) Off S G E GT GA

(ASHLOCK, 2015) Off P G E GT GA

(PECH et al., 2015) Off P G E GT GA

(BAGHDADI et al., 2015) Off P G E GT GA

(BAE et al., 2015) On P A E C GA

(FORSYTH, 2016) Off P G E C GA

(POŁAP, 2016) Off P G E GT GA

(PECH et al., 2016) Off P G E GT GA

(KARAVOLOS; LIAPIS; YANNAKAKIS, 2016) Off P G E GT AM (LAVENDER; THOMPSON, 2017) Off P G E C GA (HELL; CLAY; ELAARAG, 2017) Off P G E C GA

(LIAPIS, 2017) Off P G E GT GA

(BALDWIN et al., 2017a) Off P G E GT AM (BALDWIN et al., 2017b) Off P G E GT AM (BARON, 2017) (5 algoritmos) Off P G 2D/3E C GA (HILLIARD; SALIS; ELAARAG, 2017)

(2 algoritmos) Off P G E C GA

(ADAMS; LOUIS, 2017) Off P G E GT GA

(SMITH; PADGET; VIDLER, 2018) Off S G E C GA

(ALVAREZ et al., 2018) Off P A E GT AM

(SAMPAIO et al., 2017) Off S G D C GA

(PEREIRA; PRADO; TOLEDO, 2018) Off P G E GT GA

(HENDRAWAN, 2018) Off P G E C GA

Fonte: autor

3.2.2

Visualização das características dos artigos

Classificamos os artigos selecionados de acordo com os dados coletados, tanto em relação aos aspectos técnicos dos algoritmos, tais como a estratégia de solução e a taxonomia das técnicas, quanto aos aspectos de caraterísticas dos jogos para os quais os artigos propõem suas soluções, como o gênero e a dimensão dos níveis.

A Figura 3.4a apresenta a classificação dos trabalhos em relação à dimensão do conteúdo dos gerado, a partir dela podemos observar que 25 dos 31 trabalhos (cerca de 80%) apresentam soluções voltadas à geração de níveis para jogos 2D. Dois trabalhos apresentam resultados tanto em 2D quanto em 3D, porém, nesses casos a geração do nível em 3D é apenas uma tradução da versão 2D. Os algoritmos de geração de níveis de jogos 3D utilizou chunks (conteúdo pré-produzido) para representar salas e não identificamos nenhuma restrição que seja exclusiva para a terceira dimensão. A Figura 3.4c mostra que um pouco mais que a metade dos trabalhos (55.6%) não define um gênero de jogo. Contudo, como esperado, o gênero mais utilizado é o Roguelike, aparecendo em apenas 4 dos 31 trabalhos. De todos os trabalhos, apenas um apresentou um jogo com câmera

side-scroller cujo gênero é Plataforma 2D, o restante dos trabalhos apresentou níveis com

câmeras top-down. A Figura 3.4b mostra que 19 dos 31 trabalhos (cerca de 61%) não apresentam pseudo-algoritmo.

Figura 3.4 – Dados relacionados aos jogos e trabalhos

(a) Dimensão dos níveis gerados (b) Disponibilidade de pseudo-algoritmo

(c) Gênero dos jogos

Figura 3.5 – Algoritmos utilizados

Legenda: AG: Algoritmo Genético. AG e AC: Algoritmo Genético e Autômatos Celulares. AE: Algoritmo Evolucionário. CF: Colônia de Formigas. AB: Outros Algoritmos de Busca. GG: Gramáticas Generativas. AC: Algoritmo Construtivo.

(a) Algoritmos (b) Técnicas de busca versus as construtivas

(c) Combinação de técnicas (d) Utilização ao passar dos anos

Fonte: autor

Os 31 trabalhos apresentam, ao todo, 36 algoritmos diferentes. A Figura 3.5b mostra que as técnicas de busca são as que mais predominam na área, onde 21 dos 36 algoritmos (cerca de 58.3%) utilizam tais técnicas como estratégia de solução. A Figura 3.5a mostra as técnicas utilizadas pelos trabalhos de forma a distinguir entre Algoritmos Evolucionários (AE), Algoritmos Genéticos (AG) e Algoritmos Genéticos em conjunto com Autômatos Celulares (AG/AC) (apenas para destacar as informações). A partir da figura, podemos ver que as técnicas construtivas foram as mais utilizadas, porém, boa parte desses algoritmos apareceu nos artigos que fazem estudo comparativo. A técnica de busca mais utilizada, por sua vez, é a de AE aparecendo em 7 dos 36 algoritmos (cerca de 19.4%). Contudo, se considerarmos as estratégias combinadas, a técnica de AG é a mais utilizada aparecendo em 9 dos 36 algoritmos (25%). Duas técnicas interessantes, destacadas pela baixa incidência, são a Colônia de Formigas (CF) e Gramáticas Generativas (GG). 9 dos 31 algoritmos (25%) utilizam combinações de técnicas, onde três são uma combinação de AG/AC e uma com AE e código AnsProlog. Em resumo, as técnicas utilizadas foram: Algoritmos Construtivos diversos (AC); algoritmos evolucionários (AE),

dos quais apareceram algoritmos genéticos (AG) e algoritmos genéticos evoluindo autômatos celulares (AG/AC), Gramáticas Generativas (GG) e Colônia de Formigas (CF).

A Figura 3.5d apresenta quais técnicas utilizadas no decorrer dos anos. Podemos perceber que a abordagem de solução através de algoritmos de busca (AB) – incluindo os AE, AG e CF – vem sendo utilizada pelo menos desde 2011. AE (englobando os al- goritmos genéticos e a sua combinação com autômatos celulares) foram muito utilizados recentemente, desde 2014 pelo menos um dos trabalhos utiliza essa técnica como estratégia de solução. A técnica de AG se destaca entre as demais devido a sua utilização tanto indi- vidual, aparecendo em três trabalhos apenas em 2017, quanto participando de abordagens compostas.

Figura 3.6 – Taxonomia dos algoritmos

Fonte: autor

Na Figura 3.6 podemos ver os resultados da coleta dos dados dos algoritmos em relação à taxonomia das técnicas de PCG. Como foi identificado na classificação da estratégia de solução algorítmica dos trabalhos, 20 dos 36 algoritmos (cerca de 55.6%) utilizam a abordagem de geração-e-teste e o restante utiliza uma abordagem construtiva. Em relação à autoria da geração dos níveis, 32 algoritmos apresentam soluções para geração automática e apenas 4 apresentam soluções para autoria mista. Acerca dos graus e dimensões de controle do conteúdo gerado, os trabalhos apenas 3 dos algoritmos apresentam soluções que utilizam sementes aleatórias e os outros 33 utilizam parâmetros para controlar o conteúdo gerado, isto é, garantir a ocorrência de certas restrições. A grande maioria dos algoritmos (32 dos 36, ou 88.9%) apresentou soluções estocásticas, esta é uma característica esperada, já que um dos objetivos de geração procedural é gerar conteúdos diferentes a cada nova execução do algoritmo mesmo que com as mesmas entradas. Em relação ao momento da geração, apenas um trabalho propôs uma solução online. A classificação acerca da generalidade do conteúdo gerado apresenta apenas duas soluções em dois trabalhos.

Algumas características podem ser observadas a partir do cruzamento dos dados. Em relação ao momento e à forma de geração, identificamos que apenas um trabalho

propôs uma solução para geração online de níveis, esse trabalho utiliza uma estratégia construtiva para gerar níveis. Cruzando os dados quanto ao momento e à generalidade do conteúdo gerado, identificamos o mesmo trabalho, que propõe uma solução para geração de níveis de forma adaptativa utilizando uma estratégia construtiva. Nenhum dos trabalhos apresenta estratégia construtiva em conjunto com geração online ou geração adaptativa. Outra característica identificada foi que apenas um dos trabalhos apresenta uma solução para geração de níveis offline e adaptativa.

3.2.3

Análise individual

Realizamos a análise individual dos artigos com parte dos artigos selecionados, apenas o artigo mais recentes foi considerado entre os artigos identificados como partici- pantes de uma única linha de pesquisa. Avaliamos os artigos em relação às restrições, que garantem que certas caraterísticas do nível vão aparecer no nível gerado, e à qualidade do conteúdo gerado, considerando consistência e, em alguns casos, elementos de jogabilidade.

Valtchanov e Brown (2012) propuseram um algoritmo evolucionário com o objetivo de desacoplar o algoritmo da definição da estrutura do mapa e fornecer resultados diferentes. Essa nova abordagem utiliza, com sucesso, a função de fitness para definir a estrutura do mapa do nível. Contudo, assim como o trabalho anterior, o trabalho não apresenta novas restrições na geração do conteúdo, apenas gerando níveis com dois tipos de salas: normais e com evento. Tal trabalho utilizou a geração de dungeons apenas como estudo de caso.

Togelius, Justinusen e Hartzen (2012) apresentaram uma técnica de geração proce- dural híbrida utilizando a linguagem AnsProlog, que utiliza o paradigma ASP (Answer

Set Programming), e um algoritmo evolucionário. O algoritmo evolucionário gera as pro-

priedades que são utilizadas como parâmetros para o algoritmo AnsProlog gerar os níveis de dungeons. O trabalho apenas introduz uma nova abordagem e mostra que é possível gerar níveis a partir da mesma. Contudo, não apresenta avanços em relação à geração de novos elementos/mecânicas dentro do nível da dungeon, como, por exemplo, a criação de níveis com desafio crescente entre as salas ou puzzles.

Linden, Lopes e Bidarra (2013) propuseram um algoritmo de geração de níveis para permitir um controle mais intuitivo. Para isso, o algoritmo permite a utilização de um vocabulário orientado à jogabilidade para efetuar o controle da geração. O designer define as ações dos jogadores e os alvos dessas ações (outros objetos do jogo), por exemplo, ‘matar um dragão’. A partir da definição das ações, o algoritmo gera um grafo com as relações entre as ações. O trabalho apresenta uma abordagem interessante e que consegue gerar níveis considerando uma boa quantidade de conteúdos de um jogo. Contudo, o trabalho não apresenta soluções para geração de níveis com puzzles mais complexos, gerando apenas barreiras 1 × 1.

Ashlock e McGuinness (2014) apresentaram um sistema de geração de módulos de RPGs de fantasia. O sistema trabalha em cinco passos: (1) seleção de frame e conteúdos requeridos; (2) evolução dos mapas dos níveis; (3) identificação das salas; (4) extração do grafo de adjacência das salas; e (5) distribuição de monstros, tesouros e armadilhas no nível. O trabalho é uma continuação de outros trabalhos dos mesmos autores. Apesar de conseguir gerar níveis onde as diferentes salas correspondem à locais de diferentes inimigos, o trabalho não apresenta outros conteúdos para enriquecer a jogabilidade, tais como crescimento de dificuldade, distinção de salas ou barreira.

Santamaría-Ibirika et al. (2014) propuseram um algoritmo para geração de cavernas jogáveis baseado no diagrama de Voronoi e na triangularização de Delaunay. O método permite que o designer defina os tipos das cavidades da caverna que possuem conteúdos do jogo, tais como tesouros ou inimigos. Apesar de conseguir gerar um ambiente semelhante à uma caverna, o trabalho não considera outros tipos de elementos de jogos.

Smith e Bryson (2014) investigaram a escalabilidade de um algoritmo que utiliza uma abordagem ASP hierárquica para geração de níveis de jogos do gênero Roguelike. A abordagem é divida em duas etapas, a primeira é a estrutura do nível é gerada e em seguida o conteúdo do nível é gerado. Apesar da abordagem conseguir gerar níveis com salas

Documentos relacionados