nccgen: um gerador de cartas criativas para o jogo digital ... · google propˆos um algoritmo...

4
NCCGen: Um Gerador de Cartas Criativas para o Jogo Digital Hearthstone por meio de Redes Neurais Artificiais Recorrentes Arthur Martins de Medeiros * Lu´ ıs Fabr´ ıcio Wanderley G´ oes Pontifícia Universidade Católica de Minas Gerais, Depto. de Ciência da Computação, Brasil RESUMO A modelagem de artefatos de um jogo, como habilidades e magias, ´ e ainda um processo manual que consome tempo e requer muita criatividade dos game designers. Particularmente, efeitos de cartas, atributos e mecˆ anicas s˜ ao artefatos centrais da jogabilidade de um jogo digital de cartas colecion´ aveis (DCCG). Por exemplo, se um conjunto de cartas n˜ ao est´ a balanceado, ´ e muito prov´ avel que o jogo se torne tedioso e pouco interessante. Neste artigo ´ e proposto o uso de uma rede neural artificial recorrente, para gerar automaticamente cartas criativas para o DCCG Hearthstone. De acordo com a ´ area da criatividade computacional, um artefato criativo precisa ser novo e possuir valor. No intuito de verificar a criatividade das cartas geradas neste artigo, foi aplicado um question´ ario para jogadores do Hearthstone. Os resultados mostraram que 76% dos jogadores concordam que as cartas geradas fazem sentido, e 47% concordam com a novidade das cartas. Al´ em disso, utilizando-se a m´ etrica RDC para avaliac ¸˜ ao de criatividade, as cartas alcanc ¸aram at´ e 1.51 de criatividade em uma escala de 0 a 2. Palavras-Chave: Game Design, Criatividade Computacional, Jo- gos Digitais de Cartas Colecion´ aveis. 1 I NTRODUC ¸˜ AO A criatividade computacional ´ e uma ´ area de pesquisa que estuda a criac ¸˜ ao de algoritmos para a gerac ¸˜ ao autom´ atica pela m´ aquina de artefatos criativos, tais como m´ usicas, jogos, poesias e arte [2][1]. Um artefato ´ e considerado criativo quando ele ´ e novo e possui va- lor dentro de um determinado contexto. Por exemplo, a IBM tem gerado receitas culin´ arias criativas combinando uma base de da- dos, que inclui ingredientes e receitas existentes, algoritmos evolu- cion´ arios e m´ etricas de avaliac ¸˜ ao de novidade e sabor [14]. Um dos maiores obst´ aculos da criatividade computacional, ´ e o fato de que a criatividade ´ e significativa apenas quando a percepc ¸˜ ao humana est´ a presente. Um sistema criativo que n˜ ao possui um componente cog- nitivo humano para fins de avaliac ¸˜ ao n˜ ao ´ e eficiente, por n˜ ao ser capaz de saber se o artefato gerado ´ e criativo ou n˜ ao [15]. Esta ´ area utiliza-se ainda de diversas t´ ecnicas de inteligˆ encia ar- tifical para a gerac ¸˜ ao destes artefatos criativos, tais como as re- des neurais artificiais ou deep learning. Recentemente a empresa Google propˆ os um algoritmo baseado em redes neurais convolu- cionais, capaz de aprender e vencer v´ arios jogos do antigo video- game “Atari”, apresentando em mais de 75% dos jogos o desempe- nho de um jogador profissional [10]. Este tipo de soluc ¸˜ ao propicia que computadores possam gerar comportamento e artefatos que at´ e ent˜ ao eram apenas gerados por humanos. O objetivo deste trabalho ´ e a proposta de um gerador de cartas criativas para jogo Hearthstone por meio de redes neurais artificiais recorrentes(RNN), chamado NCCGen. O Hearthstone ´ e um jogo * e-mail: [email protected] e-mail: [email protected] de cartas no estilo DCCG (Digital Colletible Card Game) lanc ¸ado pela empresa Blizzard Entertainment. Normalmente o processo de criac ¸˜ ao de cartas de um jogo n˜ ao ´ e simples, pois as pr´ oprias cartas possuem regras que fazem o jogo ser balanceado. Tem-se ent˜ ao a preocupac ¸˜ ao em manter o equil´ ıbrio do jogo ao gerar novas cartas. A fim de tentar resolver e minimizar a complexidade de criac ¸˜ ao de cartas para o jogo Hearthstone, neste trabalho ´ e utilizada uma rede neural recorrente, para reconhecer padr˜ oes de uma base de dados composta por cartas do jogo e gerar novas cartas. A criatividade das cartas criadas neste trabalho foram avaliadas por jogadores do Hearthstone atrav´ es de um question´ ario online. Este artigo est´ a estruturado em 5 sec ¸˜ oes. A sec ¸˜ ao 2 apresenta os trabalhos relacionados ao tema deste artigo. A sec ¸˜ ao 3 descreve o sistema proposto, explicando seu prop´ osito e funcionalidade. Os resultados experimentais s˜ ao apresentados na sec ¸˜ ao 4, e por fim, a sec ¸˜ ao 5 apresenta a conclus˜ ao do trabalho. 2 TRABALHOS RELACIONADOS Esta sec ¸˜ ao descreve os principais trabalhos relacionados ao traba- lho proposto neste artigo. Em [9] foi realizado um experimento com uma RNN, que foi alimentada com uma base de dados que possu´ ıa toda a obra de Shakespeare em um arquivo de texto. A ideia principal desse experimento era que, alimentando a rede com essa base, a rede neural seria capaz de gerar uma sa´ ıda com textos que teriam o estilo de Shakespeare. As amostras retiradas da sa´ ıda revelaram que n˜ ao houve erros de inglˆ es nas frases e palavras, no entanto, nem todo o texto produzido fez sentido. O presente traba- lho utiliza a mesma implementac ¸˜ ao de uma rede neural recorrente utilizada em [9] para gerac ¸˜ ao de cartas do jogo Hearthstone. Seguindo este mesmo m´ etodo, em [11] foi testado o mesmo al- goritmo, em uma base de dados que possu´ ıa todas as cartas do jogo de cartas Magic the Gathering, com o prop´ osito de tentar gerar no- vas cartas que fizessem sentido para o jogo. Nos primeiros resulta- dos era poss´ ıvel claramente perceber uma relac ¸˜ ao entre uma carta gerada e uma carta j´ a existente no jogo. No entanto, as pr´ oximas iterac ¸˜ oes do algoritmo geraram sa´ ıdas com resultados mais satis- fat´ orios, com sugest˜ oes de novas habilidades para as cartas e sem cometer muitos erros de gram´ atica. Neste experimento, o autor faz algumas poucas alterac ¸˜ oes no comportamento e processo de criac ¸˜ ao de amostras do sistema criado em [9]. ´ E poss´ ıvel por exemplo es- pecificar que todos os nomes de cards gerados dever˜ ao comec ¸ar com “Kor”. O jogo MTG possui regras parecidas com o Hearths- tone, mas possui algumas diferenc ¸as que tornam o experimento mais complexo. O recurso de mana no MTG funciona basicamente com quatro tipos diferentes, e a maioria das cartas tem ou n˜ ao que utilizar de algum desses quatro tipos, para que seja pago seu custo. Al´ em disso, o recurso de mana ´ e gerenciado atrav´ es de cartas que ao capazes de gerar esse recurso para o jogador. Em contrapartida, o Hearthstone n˜ ao tem esse tipo de processo para gerenciar a mana, a cada turno ´ e acrescido em um ` a reserva de mana do jogador, e essa mana ´ unica, podendo ser utilizada para qualquer tipo de carta. Em [12] foi realizado um estudo relacionado ` a gerac ¸˜ ao de m ´ usica procedural, para soundtracks de jogos digitais. Esse estudo teve como objetivo testar se o que ´ e conhecido como Experience-Driven SBC – Proceedings of SBGames 2016 | ISSN: 2179-2259 Computing Track – Short Papers XV SBGames – São Paulo – SP – Brazil, September 8th - 10th, 2016 182

Upload: phamhanh

Post on 02-Jan-2019

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: NCCGen: Um Gerador de Cartas Criativas para o Jogo Digital ... · Google propˆos um algoritmo baseado em redes neurais convolu-cionais, capaz de aprender e vencer v´arios jogos

NCCGen: Um Gerador de Cartas Criativas para o Jogo DigitalHearthstone por meio de Redes Neurais Artificiais Recorrentes

Arthur Martins de Medeiros∗ Luıs Fabrıcio Wanderley Goes†

Pontifícia Universidade Católica de Minas Gerais, Depto. de Ciência da Computação, Brasil

RESUMO

A modelagem de artefatos de um jogo, como habilidades e magias,e ainda um processo manual que consome tempo e requer muitacriatividade dos game designers. Particularmente, efeitos de cartas,atributos e mecanicas sao artefatos centrais da jogabilidade de umjogo digital de cartas colecionaveis (DCCG). Por exemplo, se umconjunto de cartas nao esta balanceado, e muito provavel que o jogose torne tedioso e pouco interessante. Neste artigo e proposto o usode uma rede neural artificial recorrente, para gerar automaticamentecartas criativas para o DCCG Hearthstone. De acordo com a areada criatividade computacional, um artefato criativo precisa ser novoe possuir valor. No intuito de verificar a criatividade das cartasgeradas neste artigo, foi aplicado um questionario para jogadoresdo Hearthstone. Os resultados mostraram que 76% dos jogadoresconcordam que as cartas geradas fazem sentido, e 47% concordamcom a novidade das cartas. Alem disso, utilizando-se a metricaRDC para avaliacao de criatividade, as cartas alcancaram ate 1.51de criatividade em uma escala de 0 a 2.Palavras-Chave: Game Design, Criatividade Computacional, Jo-gos Digitais de Cartas Colecionaveis.

1 INTRODUCAO

A criatividade computacional e uma area de pesquisa que estuda acriacao de algoritmos para a geracao automatica pela maquina deartefatos criativos, tais como musicas, jogos, poesias e arte [2][1].Um artefato e considerado criativo quando ele e novo e possui va-lor dentro de um determinado contexto. Por exemplo, a IBM temgerado receitas culinarias criativas combinando uma base de da-dos, que inclui ingredientes e receitas existentes, algoritmos evolu-cionarios e metricas de avaliacao de novidade e sabor [14]. Um dosmaiores obstaculos da criatividade computacional, e o fato de que acriatividade e significativa apenas quando a percepcao humana estapresente. Um sistema criativo que nao possui um componente cog-nitivo humano para fins de avaliacao nao e eficiente, por nao sercapaz de saber se o artefato gerado e criativo ou nao [15].

Esta area utiliza-se ainda de diversas tecnicas de inteligencia ar-tifical para a geracao destes artefatos criativos, tais como as re-des neurais artificiais ou deep learning. Recentemente a empresaGoogle propos um algoritmo baseado em redes neurais convolu-cionais, capaz de aprender e vencer varios jogos do antigo video-game “Atari”, apresentando em mais de 75% dos jogos o desempe-nho de um jogador profissional [10]. Este tipo de solucao propiciaque computadores possam gerar comportamento e artefatos que ateentao eram apenas gerados por humanos.

O objetivo deste trabalho e a proposta de um gerador de cartascriativas para jogo Hearthstone por meio de redes neurais artificiaisrecorrentes(RNN), chamado NCCGen. O Hearthstone e um jogo

∗e-mail: [email protected]†e-mail: [email protected]

de cartas no estilo DCCG (Digital Colletible Card Game) lancadopela empresa Blizzard Entertainment. Normalmente o processo decriacao de cartas de um jogo nao e simples, pois as proprias cartaspossuem regras que fazem o jogo ser balanceado. Tem-se entao apreocupacao em manter o equilıbrio do jogo ao gerar novas cartas.A fim de tentar resolver e minimizar a complexidade de criacao decartas para o jogo Hearthstone, neste trabalho e utilizada uma redeneural recorrente, para reconhecer padroes de uma base de dadoscomposta por cartas do jogo e gerar novas cartas. A criatividadedas cartas criadas neste trabalho foram avaliadas por jogadores doHearthstone atraves de um questionario online.

Este artigo esta estruturado em 5 secoes. A secao 2 apresentaos trabalhos relacionados ao tema deste artigo. A secao 3 descreveo sistema proposto, explicando seu proposito e funcionalidade. Osresultados experimentais sao apresentados na secao 4, e por fim, asecao 5 apresenta a conclusao do trabalho.

2 TRABALHOS RELACIONADOS

Esta secao descreve os principais trabalhos relacionados ao traba-lho proposto neste artigo. Em [9] foi realizado um experimentocom uma RNN, que foi alimentada com uma base de dados quepossuıa toda a obra de Shakespeare em um arquivo de texto. Aideia principal desse experimento era que, alimentando a rede comessa base, a rede neural seria capaz de gerar uma saıda com textosque teriam o estilo de Shakespeare. As amostras retiradas da saıdarevelaram que nao houve erros de ingles nas frases e palavras, noentanto, nem todo o texto produzido fez sentido. O presente traba-lho utiliza a mesma implementacao de uma rede neural recorrenteutilizada em [9] para geracao de cartas do jogo Hearthstone.

Seguindo este mesmo metodo, em [11] foi testado o mesmo al-goritmo, em uma base de dados que possuıa todas as cartas do jogode cartas Magic the Gathering, com o proposito de tentar gerar no-vas cartas que fizessem sentido para o jogo. Nos primeiros resulta-dos era possıvel claramente perceber uma relacao entre uma cartagerada e uma carta ja existente no jogo. No entanto, as proximasiteracoes do algoritmo geraram saıdas com resultados mais satis-fatorios, com sugestoes de novas habilidades para as cartas e semcometer muitos erros de gramatica. Neste experimento, o autor fazalgumas poucas alteracoes no comportamento e processo de criacaode amostras do sistema criado em [9]. E possıvel por exemplo es-pecificar que todos os nomes de cards gerados deverao comecarcom “Kor”. O jogo MTG possui regras parecidas com o Hearths-tone, mas possui algumas diferencas que tornam o experimentomais complexo. O recurso de mana no MTG funciona basicamentecom quatro tipos diferentes, e a maioria das cartas tem ou nao queutilizar de algum desses quatro tipos, para que seja pago seu custo.Alem disso, o recurso de mana e gerenciado atraves de cartas quesao capazes de gerar esse recurso para o jogador. Em contrapartida,o Hearthstone nao tem esse tipo de processo para gerenciar a mana,a cada turno e acrescido em um a reserva de mana do jogador, e essamana e unica, podendo ser utilizada para qualquer tipo de carta.

Em [12] foi realizado um estudo relacionado a geracao de musicaprocedural, para soundtracks de jogos digitais. Esse estudo tevecomo objetivo testar se o que e conhecido como Experience-Driven

SBC – Proceedings of SBGames 2016 | ISSN: 2179-2259 Computing Track – Short Papers

XV SBGames – São Paulo – SP – Brazil, September 8th - 10th, 2016 182

Page 2: NCCGen: Um Gerador de Cartas Criativas para o Jogo Digital ... · Google propˆos um algoritmo baseado em redes neurais convolu-cionais, capaz de aprender e vencer v´arios jogos

Procedural Content Generation (EDPCG) e capaz de reduzir sig-nificativamente a ansiedade e frustracao de jogadores durante ojogo. Para isso foi desenvolvida uma biblioteca para uma lingua-gem de programacao chamada Pure Data1, que e utilizada para pro-cessamento e geracao de audio, vıdeo, graficos 2D e 3D. Algumasdas metricas importantes definidas nesse estudo compreendem ocalculo da frustracao, o planejamento do jogador, e o perigo. O pe-rigo, por exemplo, e calculado de acordo com uma distancia mediaentre o jogador e inimigos.

Um outro trabalho utilizando RNN foi desenvolvido pelo grupoDeep Mind. Um mecanismo denominado DRAW (Deep RecurrentAttentive Writer) e capaz de gerar imagens complexas de um modosimilar com o que uma pessoa utilizaria para fazer algum desenho,criando primeiro um rascunho e aos poucos melhorando esse ras-cunho ate se tornar um desenho final. O mecanismo DRAW e umpar de redes neurais recorrentes artificiais. A primeira parte e umcodificador que comprime a imagem durante o treinamento da redeneural, e a segunda parte e o decodificador que reconstitui as ima-gens como saıdas do algoritmo [6]. Um processo similar e utilizadoneste trabalho, uma vez que a rede neural recorrente gera cadeiasde caracteres codificados como saıda durante o processo de treina-mento, e logo apos e necessario decodificar cada amostra utilizandoum outro algoritmo.

Em [3] e apresentado um trabalho utilizando algoritmos evolu-cionarios para automatizar a criacao de jogos de cartas baseadosno estilo Blackjack2 e UNO3. Nesse trabalho e desenvolvido umagramatica livre de contexto, para gerar uma linguagem descritivapara jogos de cartas, ou seja, cada palavra na linguagem repre-senta um conjunto de caracterısticas e especificacoes que definemum jogo de cartas. Essa gramatica foi utilizada por programacaogenetica orientada a gramatica, que aplica os processos de mutacao,cruzamento e selecao em uma populacao fixa inicial de indivıduos.Vale ressaltar a modelagem de uma funcao fitness para avaliar dife-rentes objetivos como, checar se os jogos sao jogaveis, se os jogosnao possuem regras muito fortes (torna o jogo difıcil de ser jogado),balanceamento e habilidades diferenciadas.

Um estudo aprofundado sobre Redes Neurais Recorrentes e feitoem [7]. Nesse estudo o objetivo e descobrir se existem arquiteturascapazes de superar a performance de uma RNN, mais especifica-mente, um tipo de RNN denominado The Long Short-Term Me-mory (LSTM). Atraves de testes em diferentes arquiteturas, alte-rando parametros, foi encontrado uma arquitetura que supera a per-formance da LSTM e da recentemente descoberta Gated RecurrentUnit (GRU). Um ponto muito relevante sobre os resultados dessetrabalho e que foi notado que a LSTM utilizada acrescendo em umo bias, superou a propria LSTM e a GRU na maioria das tarefas.

Finalmente em [5], um sistema de criatividade computacionalchamado HoningStone foi proposto. Esse sistema gera automatica-mente combos de cartas para o jogo Hearthstone baseado na Teoriado Aprimoramento de Criatividade, ao inves de criar novas cartas.O HoningStone utilizou uma metrica criativa baseada na surpresabayesiana e eficiencia para gerar e avaliar os combos.

3 NCCGEN

NCCGen e um sistema baseado em redes neurais recorrentes para ageracao de cartas criativas para o jogo Hearthstone. O Hearthstonee um jogo digital de cartas colecionaveis, em que cada jogador criao seu proprio baralho de cartas baseado em um conjunto de cartasque o jogador possui. Existem dois tipos principais de cartas: la-caio (minion); e magia (spell). As magias podem ter efeitos como:causar dano em algum lacaio; fortalecer um lacaio de seu controle;ou ate mesmo aumentar os pontos de vida.

1http://puredata.info/2http://www.wopc.co.uk/history/blackjack/blackjack3http://www.wonkavator.com/uno/unohistory.html

Diferentemente das redes neurais artificiais comuns, as re-des neurais artificiais recorrentes sao capazes de trabalhar comsequencias de vetores arbitrarios. Alem disso A RNN mantem umvetor de ativacoes para cada iteracao, o que torna o modelo maiscomplexo [7]. O NCCGen utiliza uma RNN, passando como en-trada um bloco de texto. Baseado neste bloco de texto a RNN ecapaz de gerar a distribuicao de probabilidade de um proximo ca-ractere, dado um conjunto previo de caracteres. A cada iteracao arede sera capaz de predizer um novo caractere [8].

Se o NCCGen recebe como entrada os caracteres “s”,“p”,“e”,“l”,o sistema ira predizer que “l”sera o proximo caractere para fazer apalavra spell. Ao longo das iteracoes, o sistema e capaz de comporassociacoes mais complexas, sendo capaz por exemplo de reconhe-cer quando se deve dar poder de ataque e defesa para uma carta(apenas quando se tratar de um lacaio) [13].

Na figura 1 e mostrada (a) uma carta do tipo lacaio e (b) umamagia. E possıvel observar que uma carta e composta dos atribu-tos: custo de mana; ataque; e defesa, sendo os dois ultimos apenaspertecentes aos lacaios. As cartas possuem um nome e tambem umtexto que descreve os efeitos e mecanicas da carta. Por exemplo, acarta na figura 1(b) e uma magia que permite ao jogador escolherum lacaio que esta em jogo, e a qualquer momento em que esselacaio atacar, sera restaurado 4 pontos de vida do heroi do jogador.Ao projetar uma carta, um ponto importante e o balanceamento, ouseja, o custo de mana das cartas deve ser justo, de acordo com osefeitos de carta. Por exemplo, uma carta que possui como efeitocausar 10 pontos de dano a um lacaio, nao pode custar 1 de mana,senao ela poderia desbalancear o jogo. Ainda se alterarmos os valo-res e criar uma carta que pode causar 1 ponto de dano a um lacaio,com o custo de mana 10, essa seria uma carta totalmente desbalan-ceada e nao util.

Figura 1: Exemplo de duas cartas do jogo Hearthstone.

O NCCGen gera cartas criativas utilizando-se da abordagemproposta em [11], para geracao de cartas do jogo Magic TheGathering. Para alimentar a rede neural e necessaria uma base decartas existentes do jogo, que foi obtida pelo website hearthstone-jason 4. Este conjunto de cartas no formato JSON foi convertidoem um formato de entrada adequado para a rede neural. A RNNfunciona procurando padroes no arquivo de entrada, portanto, paraque cada um dos atributos da carta tivesse um padrao diferenciado,foi utilizada a representacao apresentada na tabela 1. Um exemplode uma entrada representando a carta da Figura 1(a) pode serobservada a seguir:

@ShrinkMeister | ∗∧∧∗ | Battlecry: Give a minion -2 At-tack this turn. | {1} | #7#

4hearthstonejson.com

SBC – Proceedings of SBGames 2016 | ISSN: 2179-2259 Computing Track – Short Papers

XV SBGames – São Paulo – SP – Brazil, September 8th - 10th, 2016 183

Page 3: NCCGen: Um Gerador de Cartas Criativas para o Jogo Digital ... · Google propˆos um algoritmo baseado em redes neurais convolu-cionais, capaz de aprender e vencer v´arios jogos

Atributo RepresentacaoNome Possui o caractere “@”antes de cada nome de

carta.Custo Possui o caractere “∗”no inıcio e final do custo de

mana. O custo e convertido entre a quantidade decaracteres “∧ ”.

Tipo Tipo e dividido entre lacaios e magias.Texto Texto define efeitos e habilidades das cartas.Ataque O valor de ataque e colocado entre os dois carac-

teres “{”e “}”. Apenas minions possuem poder deataque.

Defesa O valor de defesa e colocado entre os dois carac-teres “#”. Apenas minions podem ter poder de de-fesa.

Tabela 1: Representacao de uma carta.

Ao contrario do MTG o Hearthstone possui um conjunto pe-queno de cartas. Uma RNN precisa de uma grande quantidade dedados na base de entrada, para que ela possa encontrar padroes eprever as saıdas com maior precisao. Para resolver este problemafoi necessario criar mais cartas, antes de treinar a rede neural. Paramanter o balanceamento entre ataque, defesa e custo de mana delacaios foi necessario capturar atributos das cartas do tipo lacaio dojogo MTG, que possui grandes semelhancas com o Hearthstone.Caso contrario seria necessario gerar estes atributos de formaaleatoria, e a probabilidade de sair cartas desbalanceadas seriamaior. Os nomes destas novas cartas da base de entrada foramcapturados em diferentes websites5 na Internet, que geram nomesde criaturas do estilo do Hearthstone. Por fim, para o texto umscript foi criado, para randomizar os efeitos para as cartas, poremutilizando os mesmos efeitos existentes no Hearthstone (Taunt,Divine Shield, Deathrattle etc.). Com a adicao destas novas cartasao conjunto original de cartas, a base aumentou em 9x o seutamanho original, alcancando em torno de 2 MB. Como exemplodo processo que foi descrito, existe uma carta no jogo MTGque se chama “Elvish Champion”, essa carta possui atributos deataque, defesa e custo de mana. A partir do website descrito nesteparagrafo foi selecionado um nome, e como passo final teve-seum efeito selecionado randomicamente e que ja existe no jogo.Portanto, os tres atributos da carta do MTG, o nome obtido pelowebsite e o efeito gerado randomicamente formariam uma carta noarquivo de entrada.

4 RESULTADOS EXPERIMENTAIS

Nesta secao sao apresentados o ambiente experimental utilizadopara o treinamento da RNN, as cartas geradas pelo treinamentoe tambem uma avalicao por meio de questionarios para avaliara criatividade das cartas geradas. Os recursos utilizados foram:um computador com o sistema operacional Linux instalado, alemda instalacao do framework Torch. Torch e um framework decomputacao cientıfica com suporte para varios algoritmos de apren-dizado de maquina. Sua flexibilidade e eficiencia se deve ao usoda linguagem LuaJIT6. E necessario tambem fazer o download docodigo que implementa a rede neural recorrente, chamado ”char-rnn”7. Esse modelo aprende a predizer a probabilidade do proximocaractere da sequencia. Em outras palavras, a entrada e um blocode texto, e o algoritmo aprende a gerar uma saıda do mesmo tipoque a entrada [9].

5http://www.namegenerator.biz/wow-name-generator.php6http://torch.ch7https://github.com/karpathy/char-rnn

Numero Descricao1 @summermead from wellhurst | ∗∧∧∧∧∧∧∧∗ |

spell | destroy a minion. if you have a damagedminion, this costs (4) less. | |

2 @griffintown | ∗∧ ∧∧∧∧∧∧∗ | spell | deal $3 da-mage to a minion and the minions next to it. | |

3 @nukkhage | ∗∧∧∧∗ |minion | deathrattle: restore8 health to your hero. | {0} | #1#

4 @calimar | ∗∧∗ | minion | whenever you cast aspell, draw a card. | {1} | #1#

5 @zukhigo | ∗∧∧∧∧∗ |minion | inspire: add a ran-dom spell to your hand. | {2} | #2#

Tabela 2: Cinco cartas geradas pelo NCCGen.

4.1 Geracao de CartasA base de dados utilizada consistiu num tamanho de 2MB. O treina-mento do NGCC durou 32 horas. Menos de 5% das cartas geradasapresentaram erros na lıngua inglesa. Nessas saıdas que apresenta-ram erros, algumas palavras puderam ser inferidas, outras nao fa-ziam sentido mesmo. Porem, em todos os processos de treinamentoda rede o algoritmo seguiu o padrao utilizado para a modelagem doarquivo de entrada de gerar uma carta por linha, alem de utilizar domesmo metodo do arquivo de entrada para representar cada carta.Entao, para cada nome gerado por exemplo foi colocado o sımbolo“@” antes. Para executar a rede neural foi necessario selecionaralguns parametros que interferem diretamente no resultado. Em to-das as tentativas foi utilizado o valor 3 para o parametro numero decamadas, porque valores maiores sao utilizados quando a base dedados e maior. E o valor 128 foi utilizado para o parametro numerode nodos, pelo mesmo motivo anterior. Para um outro parametroimportante chamado temperatura, que e utilizado no momento degerar amostras de saıda da rede, foi utilizado o valor 0. A tempera-tura e uma das caracterısticas da RNN que varia normalmente de 0a 1. Quanto mais proximo de 0, a RNN sera mais determinıstica naspredicoes. Por outro lado, quanto mais alto o valor de temperatura,aumenta-se a aleatoriedade das saıdas [8].

A Tabela 2 apresenta um subconjunto das cartas geradas pelaRNN que nao possuem erros de ingles. Por exemplo, as cartas 1 e2 sao magias, pois nao possuem ataque e defesa. Ja as cartas 3, 4e 5 representam lacaios. Neste caso, o NCCGen foi capaz de gerarcartas que mantiveram a estrutura da representacao de uma carta,magia ou lacaio.

4.2 Avaliacao da CriatividadeUm questionario aplicado a jogadores de Hearthstone foi utilizadopara avaliar a criatividade das cartas geradas. Cada jogador classi-ficou duas afirmacoes em relacao ao valor e novidade, numa escalade concordancia de 1 a 5 (1 - discordo completamente, 2 - discordoparcialmente, 3 - nao concordo e nem discordo, 4 - concordo parci-almente, 5 - discordo completamente). A primeira afirmacao sobreo valor foi “Essa carta faz sentido”, e a segunda afirmacao sobre anovidade foi “Essa carta e diferente das que eu conheco”. Ao todo12 jogadores classificaram as duas afirmacoes, para cada uma das 5cartas apresentadas na tabela 2.

Os resultados do questionario indicam que 41% das pessoas con-cordam parcialmente que as cartas fazem sentido, e 35% concor-dam completamente que as cartas fazem sentido. Ou seja, e possıvelafirmar que 76% das pessoas concordam que as cartas fazem sen-tido. Em contrapartida, percebe-se que 26% das pessoas concor-dam parcialmente em relacao a novidade, e outros 22% das pessoasdiscordam parcialmente da novidade das cartas. Apesar disso, epossıvel concluir que a maioria concorda com a novidade das car-tas, uma vez que o total dos que concordam, seja completamente ouparcialmente, e de 47%, enquanto o total dos que nao concordam,

SBC – Proceedings of SBGames 2016 | ISSN: 2179-2259 Computing Track – Short Papers

XV SBGames – São Paulo – SP – Brazil, September 8th - 10th, 2016 184

Page 4: NCCGen: Um Gerador de Cartas Criativas para o Jogo Digital ... · Google propˆos um algoritmo baseado em redes neurais convolu-cionais, capaz de aprender e vencer v´arios jogos

Resposta ValorConcordo Completamente 1Concordo Parcialmente 0.8Nao Concordo mas Nao Discordo 0.6Discordo Parcialmente 0.4Discordo Completamente 0.2

Tabela 3: Valores representativos para cada afirmacao.

seja completamente ou parcialmente, e de 43%. Os outros 10% es-colheram a opcao neutra. E importante ressaltar que os perfis dosjogadores que responderam ao questionario pode variar de inicianteate jogador mais experiente, considerando que esse questionamentonao foi feito aos participantes.

A criatividade pode ser avaliada como uma combinacao entrenovidade e valor. Em [4] foi proposta uma metrica chamada RegentDependent Creativity (RDC) que avalia a criatividade de artefatosgerados combinando valor e novidade. Neste trabalho nos utili-zamos esta metrica para avaliar a criatividade das cartas geradas,baseadas nas respostas do questionario. A equacao 1 foi utilizadapara calcular a criatividade das 5 cartas apresentadas neste artigo.

rdc(a) = na + va−|na− va| (1)

onde:a: artefato (carta) em avaliacao.rdca: metrica RDC de criatividade.va: valor medido pelas respostas da afirmacao “Essa carta faz

sentido”.na: novidade medida pelas respostas da afirmacao “Essa carta e

diferente das que eu conheco”.O valor RDC pode variar de [0,2]. Nesse caso, foi necessario

converter a escala das respostas para os valores descritos na tabela3 para calcular na e va. A figura 2 mostra que o RDC das cartas foimaior do que 1, ou seja, quando mais proximo de 2, mais criativiassao as cartas geradas. A carta 3 alcancou RDC de 1.51, sendo acarta gerada mais criativa.

1.133333Summermead from wellhurst

1.066666667Griffintown

1.511111Nukkhage

1.2Calimar

1.142857Zukhigo

0 2Figura 2: Avaliacao da criatividade utilizando a metrica RDC.

5 CONCLUSAO

Este trabalho apresentou o uso de uma rede neural artificial recor-rente para geracao de cartas do jogo Hearthstone. Conforme reve-lado nos resultados experimentais, a rede neural mostrou eficienciana geracao de saıdas com poucos erros de ingles e mantendo a es-trutura da representacao de uma carta. Um questionario aplicado ajogadores de Hearthstone revelou que mais de 50% dos jogadoresconcordaram que as cartas geradas sao diferentes das cartas que jaexistem. Alem disso, utilizando-se a metrica RDC para avaliacaode criatividade, as cartas alcancaram ate 1.51 de criatividade emuma escala de 0 a 2. No entanto, apesar dos resultados positivos,vale ressaltar que a quantidade de jogadores que participaram do

questionario foi baixa, o que impossibilita uma conclusao estatiti-camente relevante.

Futuramente este trabalho pode ser utilizado para gerar cartasque serao disponibilizadas em um website, para que jogadores deHearthstone possam avaliar as cartas que foram geradas e sugeri-rem melhorias nas cartas. Este feedback dos jogadores pode serutilizado para ajustar os parametros de entrada como: temperatura;numero de nodos; e numeros de camadas em trabalhos futuros como objetivo de otimizar os resultados. Por fim, a medida em que ojogo Herathstone lancar novas cartas, e possıvel aumentar a base deentrada e melhorar os resultados ja alcancados.

6 AGRADECIMENTOS

Nos gostarıamos de agradecer ao FIP PUC Minas, FAPEMIG,CNPq e CAPES por nos apoiar neste trabalho.

REFERENCIAS

[1] M. A. Boden. The creative mind myths and mechanisms. London NewYork: Routledge, 2004.

[2] S. Colton and G. A. Wiggins. Computational creativity: The finalfrontier? European Conference on Artificial Intelligence, pages 21–26, 2012.

[3] J. M. Font, T. Mahlman, D. manrique, and J. Togelius. Towards theautomatic generation of card games through grammar-guided geneticprogramming. International Conference on the Foundations of Digi-tal, pages 360–363.

[4] C. Franca, L. F. W. Goes, Alvaro Amorin, R. Rocha, and A. R.da Silva. Regent-dependent creativity: A domain independent metricfor the assessment of creative artifacts. In International Conferenceon Computational Creativity (ICCC), 2016.

[5] L. F. W. Goes, A. R. da Silva, J. Rezende, A. Amorim, C. Franca,T. Zaidan, B. Olimpio, L. Ranieri, H. Morais, S. Luana, and C. A.P. S. Martins. Honingstone: Building creative combos with honingtheory for a digital card game. IEEE Transactions on ComputationalIntelligence and AI in Games, PP(99):1–1, 2016.

[6] K. Gregor, I. Danihelka, A. Graves, D. j. Rezende, and D. Wierstra.Draw: A recurrent neural network for image generation. CoRR, 2015.

[7] R. Jozefowicz, W. Zaremba, and I. Sutskever. An empirical explora-tion of recurrent network architectures. In Proceedings of the 32ndInternational Conference on Machine Learning, volume 37, 2015.

[8] A. Karpathy. The unreasonable effectiveness of re-current neural networks, 2015. Disponıvel emhttp://karpathy.github.io/2015/05/21/rnn-effectiveness/.

[9] A. Karpathy, J. Johnson, and L. Fei-Fei. Visualizing and understan-ding recurrent networks. CoRR, 2015.

[10] D. Kumaran and D. Hassabis. From pixels to actions: Human-level control through deep reinforcement learning, 2015. Dis-ponıvel em: http://googleresearch.blogspot.com.br/2015/02/from-pixelsto- actions-human-level.html.

[11] R. M. Milewicz. Generating magic cards using deep,recurrent neural networks, 2015. Disponıvel emhttp://www.mtgsalvation.com/forums/creativity/custom-cardcreation/612057- generating-magic-cards-using-deep-recurrent-neural.

[12] E. Plans, D. Morelli, and D. Plans. Audionode : Prototypical affec-tive modelling in experience-driven procedural music generation. InWorkshop on Computational Creativity on Games (CCG), 2015.

[13] S. Prickett. Teaching a computer to work magic, 2015. Disponıvelem http://weldbham.com/blog/2015/08/12/teaching-a-computer-to-work-magic/.

[14] L. Varshney, F. Pinel, K. Varshney, A. Schorgendorfer, , and Y. Chee.Cognition as a part of computational creativity. International Confe-rence on Cognitive Informatics and Cognitive Computing, pages 36—-43, 2013.

[15] L. R. Varshney, F. Pinel, K. R. Varshney, A. Schorgendorfer, and Y.-M. Chee. Cognition as a part of computational creativity. In IEEEInt. Conf. on Cognitive Informatics and Cognitive Computing, pages36–43, 2013.

SBC – Proceedings of SBGames 2016 | ISSN: 2179-2259 Computing Track – Short Papers

XV SBGames – São Paulo – SP – Brazil, September 8th - 10th, 2016 185