SlideShare uma empresa Scribd logo
1 de 20
Baixar para ler offline
O Uso de Algoriіtmos
Genétiіcos na Geração de
Conteúdo Adaptatiіvo em
    Mobiіle Games

        Maurílio Silva
Universidade Federal de Campina Grande
Centro de Engenharia Elétrica e Informática
Departamento de Sistemas e Computação



Diіsciіpliіna de IІnteliіgênciіa
            Artiіfiіciіal


       Profa. Dra. Joseana Fechine
Agenda
➔
    Introdução
➔
    Metodologia
➔
    Resultados
➔
    Análise dos resultados
IІntrodução
➔
    Jogos atuais
    ✔
        Dificuldade fixa
    ✔
        Frustação
IІntrodução
➔
    Balanceamento de jogo
    ✔
        Responsável por fornecer desafios
    ✔
        Chave para o sucesso
    ✔
        Evitar frustação
    ✔
        Implica modificar:
        ●
            Paramêntros
        ●
            Dificuldade
        ●
            Cenários
IІntrodução
➔
    Balanceamento tradicional
    ✔
        Dificuldades fixa
        ●
            Fácil, normal e difícil
    ✔
        Falha
        ●
            Existe uma grande variedade de
            jogadores
        ●
            Cada jogador tem habilidades e/ou
            conhecimentos específicos
        ●
            Jogador pode evoluir/crescer
            durante o jogo
IІntrodução
➔
    Adaptative Game Content - AGC
    ✔
        Balanceamento dinâmico
    ✔
        Leva em conta o desempenho do jogador
    ✔
        Inimigos com inteligência aprimorada
    ✔
        Novos desafios
    ✔
        Novos cenários
IІntrodução
➔
    Procedural Content Generation - PCG
    ✔
        Geração dinâmica de contéudo
    ✔
        Importante no desenvolvimento de jogos
        ●
            Fator replay
        ●
            Desafios
IІntrodução
➔
    Search-based PCG
    ✔
        Gerar-e-testar
    ✔
        Similar a um algoritmo genético
        ●
            Não determinístico
        ●
            Função de avaliação (fitness) para medir a qualidade do que
            foi gerado
Metodologiіa
➔
    Jogo “Chuver”
    ✔
        O que é?
    ✔
        Mecânica
    ✔
        Dificuldade
Metodologiіa
➔
    Nível/intervalo de dificuldade no experimento
    ✔
        Difícil
         ●
             0.75 até 1.40
    ✔
        Normal
         ●
             1.40 até 1.85
    ✔
        Fácil
         ●
             1.85 até 2.75
Metodologiіa
➔
    Algoritmo genético
    ✔
        População de 100 cromossomos
    ✔
        Representação binária dos cromossomos com 14bits
    ✔
        Taxa de mutação de 7,5%
    ✔
        Probabilidade de crossover de 55%
    ✔
        Intervalo de tolerância de 0.45 pontos
    ✔
        Uso de sorteio
    ✔
        Função fitness: soma da média aritmética dos cromossomos
Metodologiіa
➔
    Aplicação do experimento
    ✔
        Primeira etapa
        ●
            Testers (7 a 53 anos)
        ●
            Aparelhos Nokia C3-00/X3-02 e E61
        ●
            Duas partidas seguidas, limitadas a 32 levels cada
             
                 Tempo de geração dos levels
             
                 Dificuldade do level gerado
             
                 Nível de dificuldade atual (na qual o jogador se encontra)
    ✔
        Segunda etapa
        ●   Partida simulada de 1000 levels
        ●   Análise dos dados
Resultados
➔
    Jogador 1
    ✔
        Algoritmo proposto
        ●
            Menor: 1.75
        ●
            Maior: 1.08
        ●
            Fim do teste: 1.3
    ✔
        Algoritmo Random
        ●
            Menor (início): 1.89
        ●
            Maior: 1.05 (fim do teste)
Resultados
➔
    Jogador 2
    ✔
        Algoritmo proposto
        ●
            Menor: 1.75
        ●
            Maior: 1.30
        ●
            Fim do teste: 1.45
    ✔
        Algoritmo Random
        ●
            Menor (início): 1.79
        ●
            Maior: 1.20 (fim do teste)
Resultados
➔
    Jogador 3
    ✔
        Algoritmo proposto
        ●
            Menor: 1.75
        ●
            Maior: 1.15
        ●
            Fim do teste: 1.24
    ✔
        Algoritmo Random
        ●
            Menor (início): 1.84
        ●
            Maior: 1.24 (fim do teste)
Análiіse dos Resultados
➔
    Algoritmo proposto
    ✔
        Comportamento similar ao Random nos
        momentos iniciais
    ✔
        Segue o desenvolvimento do jogador
    ✔
        Ajuste da dificuldade
    ✔
        Pode ser utilizado em outros tipos de jogos
        ●
            Quebra-cabeças (puzzle)
        ●
            Plataforma
        ●
            Side scrolling
Dúviіdas!?
Obriіgado!
 maurilio.tk2k@gmail.com
      www.msilva.mobi
         @TK2k

Mais conteúdo relacionado

Mais de Maurílio Silva

Arcabouço para o Desenvolvimento de Aplicações de Realidade Aumentada para Di...
Arcabouço para o Desenvolvimento de Aplicações de Realidade Aumentada para Di...Arcabouço para o Desenvolvimento de Aplicações de Realidade Aumentada para Di...
Arcabouço para o Desenvolvimento de Aplicações de Realidade Aumentada para Di...Maurílio Silva
 
Desenvolvimento de Software para Dispositivos Móveis
Desenvolvimento de Software para Dispositivos MóveisDesenvolvimento de Software para Dispositivos Móveis
Desenvolvimento de Software para Dispositivos MóveisMaurílio Silva
 
Uma Aventura no Curso de Licenciatura em Computação
Uma Aventura no Curso de Licenciatura em ComputaçãoUma Aventura no Curso de Licenciatura em Computação
Uma Aventura no Curso de Licenciatura em ComputaçãoMaurílio Silva
 
Desenvolvimento de aplicações para Celular com Java ME
Desenvolvimento de aplicações para Celular com Java MEDesenvolvimento de aplicações para Celular com Java ME
Desenvolvimento de aplicações para Celular com Java MEMaurílio Silva
 
"Chuver" um jogo educativo para dispositivos móveis
"Chuver" um jogo educativo para dispositivos móveis"Chuver" um jogo educativo para dispositivos móveis
"Chuver" um jogo educativo para dispositivos móveisMaurílio Silva
 
Desenvolvimento de Games e Aplicações para Dispositivos Móveis
Desenvolvimento de Games e Aplicações para Dispositivos MóveisDesenvolvimento de Games e Aplicações para Dispositivos Móveis
Desenvolvimento de Games e Aplicações para Dispositivos MóveisMaurílio Silva
 
FLISoL'11: Desenvolvendo Games para Android
FLISoL'11: Desenvolvendo Games para AndroidFLISoL'11: Desenvolvendo Games para Android
FLISoL'11: Desenvolvendo Games para AndroidMaurílio Silva
 
Mini Palestra: PHP no mundo mobile
Mini Palestra: PHP no mundo mobileMini Palestra: PHP no mundo mobile
Mini Palestra: PHP no mundo mobileMaurílio Silva
 

Mais de Maurílio Silva (8)

Arcabouço para o Desenvolvimento de Aplicações de Realidade Aumentada para Di...
Arcabouço para o Desenvolvimento de Aplicações de Realidade Aumentada para Di...Arcabouço para o Desenvolvimento de Aplicações de Realidade Aumentada para Di...
Arcabouço para o Desenvolvimento de Aplicações de Realidade Aumentada para Di...
 
Desenvolvimento de Software para Dispositivos Móveis
Desenvolvimento de Software para Dispositivos MóveisDesenvolvimento de Software para Dispositivos Móveis
Desenvolvimento de Software para Dispositivos Móveis
 
Uma Aventura no Curso de Licenciatura em Computação
Uma Aventura no Curso de Licenciatura em ComputaçãoUma Aventura no Curso de Licenciatura em Computação
Uma Aventura no Curso de Licenciatura em Computação
 
Desenvolvimento de aplicações para Celular com Java ME
Desenvolvimento de aplicações para Celular com Java MEDesenvolvimento de aplicações para Celular com Java ME
Desenvolvimento de aplicações para Celular com Java ME
 
"Chuver" um jogo educativo para dispositivos móveis
"Chuver" um jogo educativo para dispositivos móveis"Chuver" um jogo educativo para dispositivos móveis
"Chuver" um jogo educativo para dispositivos móveis
 
Desenvolvimento de Games e Aplicações para Dispositivos Móveis
Desenvolvimento de Games e Aplicações para Dispositivos MóveisDesenvolvimento de Games e Aplicações para Dispositivos Móveis
Desenvolvimento de Games e Aplicações para Dispositivos Móveis
 
FLISoL'11: Desenvolvendo Games para Android
FLISoL'11: Desenvolvendo Games para AndroidFLISoL'11: Desenvolvendo Games para Android
FLISoL'11: Desenvolvendo Games para Android
 
Mini Palestra: PHP no mundo mobile
Mini Palestra: PHP no mundo mobileMini Palestra: PHP no mundo mobile
Mini Palestra: PHP no mundo mobile
 

O Uso de Algoritmos Genéticos na Geração de Conteúdo Adaptativo em Mobile GAMES

  • 1. O Uso de Algoriіtmos Genétiіcos na Geração de Conteúdo Adaptatiіvo em Mobiіle Games Maurílio Silva
  • 2. Universidade Federal de Campina Grande Centro de Engenharia Elétrica e Informática Departamento de Sistemas e Computação Diіsciіpliіna de IІnteliіgênciіa Artiіfiіciіal Profa. Dra. Joseana Fechine
  • 3. Agenda ➔ Introdução ➔ Metodologia ➔ Resultados ➔ Análise dos resultados
  • 4. IІntrodução ➔ Jogos atuais ✔ Dificuldade fixa ✔ Frustação
  • 5. IІntrodução ➔ Balanceamento de jogo ✔ Responsável por fornecer desafios ✔ Chave para o sucesso ✔ Evitar frustação ✔ Implica modificar: ● Paramêntros ● Dificuldade ● Cenários
  • 6. IІntrodução ➔ Balanceamento tradicional ✔ Dificuldades fixa ● Fácil, normal e difícil ✔ Falha ● Existe uma grande variedade de jogadores ● Cada jogador tem habilidades e/ou conhecimentos específicos ● Jogador pode evoluir/crescer durante o jogo
  • 7. IІntrodução ➔ Adaptative Game Content - AGC ✔ Balanceamento dinâmico ✔ Leva em conta o desempenho do jogador ✔ Inimigos com inteligência aprimorada ✔ Novos desafios ✔ Novos cenários
  • 8. IІntrodução ➔ Procedural Content Generation - PCG ✔ Geração dinâmica de contéudo ✔ Importante no desenvolvimento de jogos ● Fator replay ● Desafios
  • 9. IІntrodução ➔ Search-based PCG ✔ Gerar-e-testar ✔ Similar a um algoritmo genético ● Não determinístico ● Função de avaliação (fitness) para medir a qualidade do que foi gerado
  • 10. Metodologiіa ➔ Jogo “Chuver” ✔ O que é? ✔ Mecânica ✔ Dificuldade
  • 11. Metodologiіa ➔ Nível/intervalo de dificuldade no experimento ✔ Difícil ● 0.75 até 1.40 ✔ Normal ● 1.40 até 1.85 ✔ Fácil ● 1.85 até 2.75
  • 12. Metodologiіa ➔ Algoritmo genético ✔ População de 100 cromossomos ✔ Representação binária dos cromossomos com 14bits ✔ Taxa de mutação de 7,5% ✔ Probabilidade de crossover de 55% ✔ Intervalo de tolerância de 0.45 pontos ✔ Uso de sorteio ✔ Função fitness: soma da média aritmética dos cromossomos
  • 13. Metodologiіa ➔ Aplicação do experimento ✔ Primeira etapa ● Testers (7 a 53 anos) ● Aparelhos Nokia C3-00/X3-02 e E61 ● Duas partidas seguidas, limitadas a 32 levels cada  Tempo de geração dos levels  Dificuldade do level gerado  Nível de dificuldade atual (na qual o jogador se encontra) ✔ Segunda etapa ● Partida simulada de 1000 levels ● Análise dos dados
  • 14. Resultados ➔ Jogador 1 ✔ Algoritmo proposto ● Menor: 1.75 ● Maior: 1.08 ● Fim do teste: 1.3 ✔ Algoritmo Random ● Menor (início): 1.89 ● Maior: 1.05 (fim do teste)
  • 15. Resultados ➔ Jogador 2 ✔ Algoritmo proposto ● Menor: 1.75 ● Maior: 1.30 ● Fim do teste: 1.45 ✔ Algoritmo Random ● Menor (início): 1.79 ● Maior: 1.20 (fim do teste)
  • 16. Resultados ➔ Jogador 3 ✔ Algoritmo proposto ● Menor: 1.75 ● Maior: 1.15 ● Fim do teste: 1.24 ✔ Algoritmo Random ● Menor (início): 1.84 ● Maior: 1.24 (fim do teste)
  • 17.
  • 18. Análiіse dos Resultados ➔ Algoritmo proposto ✔ Comportamento similar ao Random nos momentos iniciais ✔ Segue o desenvolvimento do jogador ✔ Ajuste da dificuldade ✔ Pode ser utilizado em outros tipos de jogos ● Quebra-cabeças (puzzle) ● Plataforma ● Side scrolling
  • 20. Obriіgado! maurilio.tk2k@gmail.com www.msilva.mobi @TK2k