• Nenhum resultado encontrado

Comparação de algoritmos para geração procedural de fases

N/A
N/A
Protected

Academic year: 2021

Share "Comparação de algoritmos para geração procedural de fases"

Copied!
5
0
0

Texto

(1)

Comparac¸˜ao de algoritmos para gerac¸˜ao procedural de fases

Thais Cardoso da Silva1, Jacques Du´ılio Brancher1

1Departamento de Computac¸˜ao – Universidade Estadual de Londrina (UEL)

Caixa Postal 10.011 – CEP 86057-970 – Londrina – PR – Brasil

thagiat@gmail.com, jacques@uel.br

Abstract. In an educational game, it’s necessary to keep the attention of the player, the game should continue to be interesting during their levels indepen-dent of the user. For this it is necessary a way to generate personalized content, thus, this work presents a study in algorithms for generation of phases in games. The goal is through testing with players determine which algorithm creates more enjoyable phases considering the human preference.

Resumo. Em um jogo educacional, ´e ideal manter a atenc¸˜ao do jogador, para isso o jogo deve continuar a ser interessante durante seus n´ıveis independente do usu´ario jogador. Para isso ´e necess´ario uma forma de gerar conte´udo perso-nalizado, assim, esse trabalho apresenta um estudo em algoritmos para gerac¸˜ao de fases em jogos. O seu objetivo ´e atrav´es de teste com jogadores determinar qual algoritmo cria fases mais agrad´aveis considerando a preferencia humana.

1. Introduc¸˜ao

O mercado de jogos atual enfrenta um problema com a demanda dos usu´arios por cada vez mais conte´udo, uma demanda que eleva o j´a alto custo de produc¸˜ao monet´aria, ainda mais considerando que esta produc¸˜ao n˜ao ´e escal´avel e portanto utiliza um alto n´umero de m˜ao de obra e tempo [5]. Uma soluc¸˜ao usada esse problema ´e a Gerac¸˜ao Procedural de Conte´udo (GPC), onde procedimentos computacionais s˜ao usados para criar conte´udos (i.e. arvores [7], rios [4], terrenos [1], n´ıveis [3]), que podem ser usados em jogos. Essa soluc¸˜ao tem como caracter´ısticas promover diversidade `a suas sa´ıdas [8], permitir que estas sa´ıdas sejam controladas atrav´es de parˆametros [9], possibilitar em tempo real uma reac¸˜ao do jogo [2], bem como proporcionar uma reduc¸˜ao do espac¸o ocupado pelos dados para seu conte´udo [5].

Uma etapa importante na utilizac¸˜ao da GPC em um jogo ´e selecionar o algoritmo a ser implementado. Para este fim, uma avaliac¸˜ao da performance de diferentes propostas pode ser realizada, analisando a expressividade [8] de cada uma delas ou comparando a preferencia dos usu´arios pelo conte´udo criado pelos diferentes algoritmos [6]. Base-ado neste contexto, o foco desse trabalho ´e investigar diferentes t´ecnicas para gerac¸˜ao procedural de n´ıveis (fases) e identificar qual delas ´e preferida pelos usu´arios de jogo educacional, SpaceMath.

O restante deste projeto tem a seguinte organizac¸˜ao: A Sec¸˜ao 2 apresenta concei-tos fundamentais para o desenvolvimento do trabalho, a Sec¸˜ao 3 quais s˜ao seus objetivos, a Sec¸˜ao 4 descreve como ser˜ao alcanc¸ados os objetivos usando os m´etodos e t´ecnicas descritos nas sec¸˜oes anteriores, a Sec¸˜ao 5 descreve o per´ıodo estimado para cada etapa de desenvolvimento do projeto e, por fim, a Sec¸˜ao 6 apresenta quais as contribuic¸˜oes essa pesquisa espera trazer.

(2)

2. Fundamentac¸˜ao Te´orico-Metodol´ogica e Estado da Arte

Para o desenvolvimento desse trabalho ser´a usada a gerac¸˜ao procedural de conte´udo. A seguir ser´a apresentado os conceitos necess´arios para melhor compreens˜ao esse trabalho.

2.1. O que ´e Conte ´udo?

Boa parte dos elementos que comp˜oe um jogo s˜ao considerados conte´udo [7], esses s˜ao separados em tipos em forma de pirˆamide [5].

Na base da pirˆamide estaria os Bits de jogo, as unidades elementares do conte´udo de um jogo, s˜ao elementos como texturas, sons, vegetac¸˜ao, construc¸˜oes, comportamento e elementos naturais (fogo, ´agua, pedra e nuvens).

Sobre ele estaria o Espac¸o de jogo, o ambiente onde o jogo se manifesta e que utiliza os Bits de jogo, podendo ser ambientes internos, mapas externos (que podem conter deformac¸˜oes de terreno como montanhas e ravinas, e corpos de ´agua como rios, lagos e oceanos).

Em seguida, temos os Sistemas de jogo, usados para fazer o jogo mais acredit´avel e assim mais atrativo aos jogadores. Estes podem ser ecossistemas, redes de rotas e estradas, ambientes urbanos e comportamento de entidades.

A pr´oxima classe ´e o Contexto de jogo, o jeito em que os eventos do jogo se desenrolam. Pode ter como elementos puzzles, hist´orias, eventos e niveis.

2.2. Gerac¸˜ao Procedural de Conte ´udo(GPC)

GPC pode ser definida como a gerac¸˜ao de conte´udo atrav´es de algoritmos com pouca ou nenhuma intervenc¸˜ao do usu´ario. Muitos jogos utilizam esse sistema atualmente para gerac¸˜ao de alguma parte dos seus conte´udos. Spore(2008), Minecraft(2009) e Dwarf Fortress(2006) s˜ao exemplos de jogos que utilizam GPC, cada um desses usa gerac¸˜ao procedural em uma ou classes de conte´udo especificadas anteriormente [5].

Um dos m´etodos de uso do GPC ´e a Gerac¸˜ao Procedural baseada em Busca que ´e utilizada como algoritmo de gerac¸˜ao e teste [10]. ´E um algoritmo evolucion´ario, baseado na teoria da evoluc¸˜ao darwiniana, que consiste no uso da selec¸˜ao natural numa populac¸˜ao formada por candidatos a soluc¸˜ao do problema. Na selec¸˜ao natural os candidatos que pos-suem a maior aptid˜ao em algum parˆametro, determinado pelo programador, tem a maior chance de reproduc¸˜ao. Para a descoberta dessa aptid˜ao todos os indiv´ıduos da populac¸˜ao s˜ao testados no parˆametro escolhido. Num algoritmo esse tipo ´e comum a implementac¸˜ao de crossovers, mistura de caracter´ısticas dos indiv´ıduos, e mutac¸˜oes, mudanc¸as aleat´orias nas caracter´ısticas.

Em um conte´udo gerado por GPC ´e desejado certas caracter´ısticas, sendo algumas delas: a Velocidade, capacidade de criar conte´udo satisfat´orio rapidamente, a Diversidade, a gerac¸˜ao de conte´udo com grande variac¸˜ao e a Controlabilidade, o n´ıvel de controle do usu´ario sobre as sa´ıdas dos algoritmos.

(3)

2.2.1. Taxonomia

Uma t´ecnica de GPC pode ser definida como offline quando a gerac¸˜ao ocorre durante o estado de carregamento inicial do jogo ou previamente ao carregamento, e online quando ela a gerac¸˜ao ocorre em tempo real [7].

Os algoritmos tamb´em podem ser determin´ısticos, se diante de uma mesma en-trada sempre apresentarem a mesma sa´ıda, e estoc´asticos caso se tenha uma certa dose de variac¸˜ao para a mesma entrada.

3. Objetivos

O projeto apresentado tem como objetivo analisar trˆes algoritmos de gerac¸˜ao procedu-ral de n´ıveis, a fim de identificar qual abordagem ´e preferida pelos usu´ario de um jogo educacional. Al´em disso, estes algoritmos tamb´em ser˜ao comparados com n´ıveis criados manualmente, por um desenvolvedor de jogos, utilizados como baseline.

4. Procedimentos metodol´ogicos/M´etodos e t´ecnicas

Para atingir o objetivo estabelecido o jogo SpaceMath ser´a utilizado como testbed. Este ´e um jogo educacional sobre matem´atica, que cont´em uma vers˜ao est´atica, com 20 fa-ses criadas por um desenvolvedor de jogos, e outra vers˜ao dinˆamica, onda os n´ıveis s˜ao gerados proceduralmente por um algoritmo Construtivo similar ao descrito em [6].

Al´em disso, o algoritmo evolucion´ario Baseado em busca apresentado em [6] ser´a usado nas comparac¸˜oes, bem como um outro algoritmo ainda a ser escolhido.

Como a func¸˜ao dos algoritmos escolhidos ´e criar fases num n´ıvel de dificuldade em que o jogador continue se divertindo, o pr´oximo passo ´e ajustar os algoritmos de forma que a suas fases geradas considerem esse fator.

No que tange a comparac¸˜ao das propostas, a preferencia do usu´ario ser´a o fator principal. Para coletar essa preferencia, ser´a implementado um sistema de coleta de votos. O formato usado ser´a a comparac¸˜ao todos contra todos, onde cada usu´ario jogar´a um fase com um algoritmo e depois uma fase gerada com o outro e votar´a em qual prefere.

Com os dados coletados, ser´a feito um relat´orio mostrando os resultados e com-parando os algoritmos utilizados.

5. Cronograma de Execuc¸˜ao

O per´ıodo estimado para cada atividade a ser desenvolvida conforme o descrito nos Pro-cedimentos metodol´ogicos (Sec¸˜ao 4) est´a na Tabela 1.

Atividades:

1. Levantamento bibliogr´afico e escolha dos algoritmos a serem utilizados; 2. Implementac¸˜ao dos algoritmos escolhidos;

3. Implementac¸˜ao do sistema de coleta de dados;

4. Pesquisa da opini˜ao sobre o resultado de cada algoritmo; 5. Escrita do relat´orio final.

(4)

Tabela 1. Cronograma de Execuc¸ ˜ao

abr mai jun jul ago set out nov Atividade 1 x x

Atividade 2 x x

Atividade 3 x

Atividade 4 x

Atividade 5 x x x x

6. Contribuic¸˜oes e/ou Resultados esperados

Com esse trabalho busca-se, atrav´es da comparac¸˜ao de abordagens j´a estabelecidas na li-teratura, determinar qual delas ´e melhor, considerando como melhor o algoritmo que obter suas fases preferidas em comparac¸˜ao as outras, em uma aplicac¸˜ao especifica. Al´em disso esta pesquisa contribuir´a para um projeto de mestrado identificando, entre as propostas do estado da arte, qual delas ´e melhor para a aplicac¸˜ao analisada em ambos trabalhos.

7. Espac¸o para assinaturas

Londrina, 04 de Maio de 2018.

—————————————— ——————————————

Aluno Orientador

Referˆencias

[1] Daniel A Ashlock, Stephen P Gent, and Kenneth Mark Bryden. Evolution of l-systems for compact virtual landscape generation. In Evolutionary Computation, 2005. The 2005 IEEE Congress on, volume 3, pages 2760–2767. IEEE, 2005.

[2] Ra´ul Lara Cabrera, Mariela Nogueira Collazo, Carlos Cotta Porras, and Antonio Jos´e Fern´andez Leiva. Procedural content generation for real-time strategy games. IJIMAI, 3(2):40–48, 2015.

[3] Lucas Ferreira, Leonardo Pereira, and Claudio Toledo. A multi-population genetic algo-rithm for procedural generation of levels for platform games. In Proceedings of the Companion Publication of the 2014 Annual Conference on Genetic and Evolutio-nary Computation, GECCO Comp ’14, pages 45–46, New York, NY, USA, 2014. ACM.

[4] Jean-David G´enevaux, ´Eric Galin, Eric Gu´erin, Adrien Peytavie, and Bedrich Benes. Ter-rain generation using procedural models based on hydrology. ACM Trans. Graph., 32(4):143:1–143:13, July 2013.

[5] Mark Hendrikx, Sebastiaan Meijer, Joeri Van Der Velden, and Alexandru Iosup. Proce-dural content generation for games: A survey. TOMCCAP, 9:1:1–1:22, 2013.

(5)

[6] Ahmed Khalifa, Diego Perez-Liebana, Simon M Lucas, and Julian Togelius. General video game level generation. In Proceedings of the Genetic and Evolutionary Com-putation Conference 2016, pages 253–259. ACM, 2016.

[7] Noor Shaker, Julian Togelius, and Mark J. Nelson. Procedural Content Generation in Games: A Textbook and an Overview of Current Research. Springer, 2016.

[8] Gillian Smith and Jim Whitehead. Analyzing the expressive range of a level generator. In Proceedings of the 2010 Workshop on Procedural Content Generation in Games, PCGames ’10, pages 4:1–4:7, New York, NY, USA, 2010. ACM.

[9] J Togelius, A.J. Champandard, Pier Luca Lanzi, M Mateas, A Paiva, Mike Preuss, and K.O. Stanley. Procedural content generation: goals, challenges and actionable steps. 6:61–75, 01 2013.

[10] J. Togelius, G. N. Yannakakis, K. O. Stanley, and C. Browne. Search-based procedural content generation: A taxonomy and survey. IEEE Transactions on Computational Intelligence and AI in Games, 3(3):172–186, Sept 2011.

Referências

Documentos relacionados

No sentido de reverter tal situação, a realização deste trabalho elaborado na disciplina de Prática enquanto Componente Curricular V (PeCC V), buscou proporcionar as

No entanto, para aperfeiçoar uma equipe de trabalho comprometida com a qualidade e produtividade é necessário motivação, e, satisfação, através de incentivos e política de

v) por conseguinte, desenvolveu-se uma aproximação semi-paramétrica decompondo o problema de estimação em três partes: (1) a transformação das vazões anuais em cada lo-

Silva e Márquez Romero, no prelo), seleccionei apenas os contextos com datas provenientes de amostras recolhidas no interior de fossos (dado que frequentemente não há garantia

Os objetivos gerais da reunião são avaliar resultados, elaborar recomendações técnicas e planejar a pesquisa com soja e ações de difusão de tecnologia para a Região, integrando

29 Table 3 – Ability of the Berg Balance Scale (BBS), Balance Evaluation Systems Test (BESTest), Mini-BESTest and Brief-BESTest 586. to identify fall

Pinturas, depilatórios, unguentos mamilares, colorantes para o cabelo e até pomadas à base de vidro em pó (que, aparentemente, permitiam simular a virgindade) (Braunstein, 1990),

A análise de regressão múltipla é uma técnica estatística que pode ser usada para analisar a relação entre uma única variável dependente (critério) e várias