quinta-feira, 3 de janeiro de 2019

O processo de teste e validação dos jogos.


Por Alexandre Santos.

O texto não é um artigo acadêmico é uma observação pessoal do uso dos jogos que produzi e levei a salas de aula e eventos diversos.

Durante todo processo de criação dos 3 jogos que fizemos, nós buscamos testar os projetos com os estudantes e os professores. Além de avaliar a aceitação dos projetos. Posso dizer no geral que os três jogos sobre as revolta da Bahia falando sobre cultura e história, de forma abrangente, foram bem aceitos nas validações (quando vemos se jogo está funcionando de acordo com o que pensamos durante o planejamento).

No entanto, notamos que os alunos mais novos do fundamental II a maioria não leem os textos, costumam pular. Depois de pular os textos perguntam: como faço para responder? Ou onde acho a resposta? “Está tudo nos diários” ou “você leu os textos” é o que costumo responder a eles. O interessante é que alguns estudantes saem falando: “eu zerei o jogo, tá vendo”. Mas ao ser perguntado pelas datas, ou personagens principais, ou que ocorreu eles não  sabem responder, porque pularam os textos. Com esta informação notamos que deve existir o debate e o estimo a leitura principalmente com os estudantes mais novos.

Já os estudantes do segundo e terceiro anos do ensino médio costumam gostar mais dos jogos porque leem os textos. Alguns querem chegar ao fim do jogo e ver como termina, muitas vezes não querem parar de jogar quando pedimos. Porém, eles já assimilam os temas e assuntos sem tanta mediação do professor.

Todas as séries costumam pular as perguntas do mundo real (elas são tarefas com papel e lápis que fazem o aluno desenvolver o senso crítico e servem para estimular o debate em sala de aula). Por conta dos estudantes pularem as tarefas com papel e lápis, nós colocamos a turma para responder estas tarefas durante o debate que ocorre n fim de validação ou aplicação do jogo. A pedagoga que participa do projeto sempre debate comigo se jogo é uma ferramenta, ela acha que é uma experiência, eu acho que o jogo faz parte de uma experiência pedagógica diferenciada e atrativa, mas ainda é meio para alcançar um fim. Mas este ponto promove um amplo debate.

Também é necessário explicar aos estudantes exatamente o que deve ser feito com jogo. E para acompanhar a turma é importante conhecer as fases, perguntas e saber o que se vai ser explorado no jogo durante a aula. Já me perguntaram: o jogo é autoexplicativo, se jogar e ler provavelmente vai aprender, mas tem uma curva de aprendizagem. Também é importante a mediação do professor o jogo é mais um recurso para ser usado em sala de aula. Os alunos acostumados a jogar terminam o jogo rápido, mas os que não costumam jogar precisam de ajuda. Os alunos com mais facilidade para jogar podem ser minitorres da turma.

No entanto, alguns fatos me trouxeram questões  para pensar. Em um universo de cerca de 100 estudantes, um grupo pequeno de 4 estudantes do segundo ano, tentou me desmotivar e provocar. Eles ficavam falando queriam ficar com os celulares que eram nossos e levamos para validar o jogo. Eles também ficavam fazendo piadas o tempo todo. Outras duas coisas que ouvi também me fizeram pensar, mas foram com outros grupos. Nós damos marcadores se livro, que explicam os projetos e um estudante ao receber disse: “não quero seu brinde. Eu não gosto de ler e não  gosto de livro”. Em outro momento outro estudante disso: eu ligo para seu jogo eu não gosto de cultura baiana. Os três fatos me fizeram pensar em como resolver tais questões:

1. Levar equipamento (computadores e principalmente celulares) para escolas públicas, que não tem laboratórios ou equipamentos, provocará a pergunta é para sorteio. Em alguns casos os estudantes ficam vislumbrados com equipamentos, em  outros fazem provocação e não querem devolver os celulares.
Um possível caminho: quando a escola possui seus próprios equipamentos não se gera esta euforia e possíveis problemas. Nos casos mais problemáticos de ter que levar os equipamentos (80%) tive não me intimidar e não entrar na provocação e tentar por limites, mas somos testados a todo momento.

2, O estudante dizer eu não gosto de ler. E sair pulando os textos do jogo.
Um possível caminho: A leitura é ponto chave, para ter acesso à informação e ampliar os horizontes, passamos a usar o debate focando em mostrar a importância da leitura, também mostrando lado lúdico e da imaginação e pode ser muito útil para a vida toda.

3. Não gosto da cultura Bahia. Ou não gosto da história do meu país. Prefiro de outros países, são mais legais.
Um possível caminho: esta resposta me fez ver que muitos não sabem sua própria história, não sabem como se formou o nosso presente. Passamos a usar problemas sociais atuais e mostrar as origens históricas ligadas às revoltas, desigualdades sociais, buscando ilustrar a importância de conhecer a história. Além de da cultura e legados populares.

Você já teve algum problema similar em sala de aula? Como resolveu?

Gostaria de ou ouvir.

Até próximo texto!

sexta-feira, 28 de dezembro de 2018

O processo de criação de Game voltado para educação.


Por Alexandre Macêdo Santos (Strike Games)

Esse não é um artigo acadêmico, e será em primeira pessoa por mostrar uma visão pessoal após produzir 3 jogos voltados para o uso em sala de aula.

Nas idas as escolas e conversas para levar os projetos de games para salas de aulas eu percebi interesse das pessoas em usar os jogos e games com alunos. No entanto, existe uma barreira ou receio quanto ao uso de jogos em sala de aula. Em alguns casos o motivo é por causa da falta de intimidade em interagir com jogos no dia a dia. Por esta falta de intimidade alguns professores não se sentem a vontade em usar games ou jogos. Ou preferem delegar o uso para outras pessoas, ou ainda precisam de alguém para auxiliá-los. Antes de iniciar os projetos tratando sobre as Revoltas da Bahia eu não havia pensado no fator intimidade do professor com os jogos e games. Esse fator faz  uma grande diferença, por ser um guia na ação do professor em sala de aula.

O objetivo do projeto era ajudar o professor a criar uma experiência pedagógica atrativa para os alunos interagirem com os assuntos. Este objetivo nós alcançamos, mas ficou uma lacuna no caminho, é necessário capacitar parte dos professores para se sentirem a vontade com uso dos games. Com isso começamos a pensar em projetos de curta duração e capacitação para professores. Nessas capacitações o professor passa a lidar com o uso tecnologia e games em sala de aula, cria uma estratégia pedagógica e pode criar seu próprio jogo digital.

O primeiro projeto tem o objetivo de familiarizar o professor com uso e de tecnologias e jogos em sala de aula envolvendo as seguintes etapas:

  1. 1-      Escolhas dos games e tecnologias.
  2. 2-      Explorar os recursos para conhecer.
  3. 3-      Realizar atividades por meio de uma estratégia pedagógica.
  4. 4-      O professor criar sua própria estratégia pedagógica.
  5. 5-      Validação da estratégia pedagógica com demais participantes.


Uma questão que idealizamos: o professor ao criar seu próprio jogo tem mais confiança ao usá-lo e ainda cria o jogo conforme suas necessidades.

O método de criação do jogo é baseado no que eu uso para criar meu projetos (inclusive os comerciais).E para desenvolver um método básico de criação de games posso dizer que envolveu pesquisa, estudo leituras, alguns exemplos o livro Challenges for game designes de Brenda Brathwaite e Ian Schreiber, A Theory of Fun de Raph Koster, workshop com Adriana Key, livros de voltados para psicologia o Poder do Hábito de Charles Duhigg e muito mais vídeos e referencias que não anotei ao longo dos anos:

  1. 1-      Definir o objetivo do jogo. Qual o assunto e a estratégia de aprendizagem serão usados.
  2. 2-      Que tipo de jogo se encaixa com o assunto que será ensinado.
  3. 3-      Que sentimentos quero despertar no jogador.
  4. 4-      Fazer ciclo de testes de jogabilidade e assimilação do conteúdo.
  5. 5-      Validação das versões protótipo, alpha e beta com outros professores e alunos.
  6. 6-      Finalização com versão final.


Agora estamos no processo de criação de turmas de professores e vamos iniciar a validação do nosso método. Caso tenha uma escola ou grupo e queiram um orçamento para implementação do projeto estamos a disposição.

terça-feira, 17 de outubro de 2017

O processo de produção de um game indie.

Já faz algum tem que atuei no mercado de games, produzi jogos voltados a educação em um grupo de pesquisa. Depois tentei abrir uma empresa e fiz alguns trabalho terceirizado, mas não encontrei parceiros para seguir em frente. Depois acabei retomando o mercado de games. Com o projeto de uma Startup.

A Startup ainda não está formalizada, mas já fizemos nosso primeiro projeto indie. Foi o jogo Tictactoe Superpowers. Ele teve sua ideia inicial em 2013. No entanto, foi um jogo que ficou na gaveta por quase 4 anos. Em outubro de 2016 deu-se início a versão que foi lançada para Android na Play Store.



O jogo foi produzido pela Strike Games em parceria com o grupo de pesquisa Labrasoft, o jogo foi desenvolvido por 3 pessoas. Alexandre Santos (artista gráfico, game designer, produtor e gerente de projeto). Guilherme Ribeiro (programador) e Paulo Fontes (bolsista de programação).

O jogo apresenta um twist do tradicional jogo da velha com superpoderes. São 18 tabuleiros de 5x5, 7 poderes – que vão de congelar, maçarico, bombas, plantas dentre outros. Foi produzido na game engine unity no prazo de  9 meses.

As principais dificuldades foram manter um jogo com uma estrutura pequena e trabalhar a Inteligência Artificial ser progressiva. A inteligência não foi implementada completamente, tanto que ficou faltando o balanceamento e as pessoas depois de descobrir o ponto fraco vencem o jogo com um ou estilos de jogada.




O projeto não saiu como pensávamos, mas foi um grande aprendizado e serviu para testar a equipe. Ver as limitações e habilidades. Também foi útil. Pois usamos o scrum no gerenciamento do projeto e tarefas. Fazíamos reuniões adaptadas via whatsapp respondendo o que foi feito no dia anterior pelo projeto, o que iria ser feito no dia e as principais dificuldades para realizar as tarefas.
Atualmente estamos na parte de venda do jogo, cometemos uma fala em priorizar o desenvolvimento do jogo e não priorizar o jogo. Com isso estamos aprendendo a lidar com marketing, divulgação e tem sido uma tarefa que gastamos bastante energia.

As lições mais valiosas nesse período são: estudar mercado, definir público alvo e planejar o marketing com antecedência e no início do projeto. Além disso, devemos pensar o projeto de acordo com a equipe, que se conheça o perfil da equipe. E escolhas também sejam feitas de acordo com equipe que desenvolverá.


Logo, produzir um jogo é igual a qualquer trabalho, exige planejamento, pesquisa, análise e saber as capacidades de todos envolvidos no projeto.


Conheça o projeto na PlayStore:
https://play.google.com/store/apps/details?id=com.StrikeGames.TicTacToeSP.Mobile

quinta-feira, 21 de setembro de 2017

Jogo da Velha com Superpoderes: Jogo gratuito - Tictactoe Superpowers!

Jogo no estilo casual apresentando mecânica de partidas rápidas mesclando jogo da velha e Super Poderes.



O Tictactoe Superpowers utiliza diferentes tabuleiros, com características próprias. Também permite o uso de poderes como congelar, explodir, queimar, usar plantas dentre outros. Está disponível na versão quick game e no modo campanha (na campanha o jogador participa de um torneio mundial de jogo da velha especial que usa diversos poderes e percorre diversas regiões). Em cada etapa conquista um troféu e novos poderes.

O jogo apresenta 39 fases, 3 regiões e o jogador disputa 3 troféus!



O jogo também pode ser jogado com um amigo e ver quem tem a melhor estratégia! Ele está disponível para Android na Play Store. Quem quiser conferir é só acessar:


O jogo foi desenvolvido pela strike games, caso queira dizer o que achou ou se tem sugestões pode entratra em contato com eles pelo site:










sábado, 19 de agosto de 2017

Pos Mortem Tic Tac Toe SP.

Olá pessoal, estava na dúvida se valia escrever um pós mortem do jogo Tic Tac Toe SP. Então decidi compartilhar a experiência de produção.
A ideia do jogo iniciou em 2013, eu (Alexandre) fiz um protótipo em papel vi que poderia ser um bom projeto, junto com Gabriel Oliveira fizemos algumas reuniões de gameplay e tentamos fazer um protótipo em flash. Acabou não dando certo e o projeto foi para a gaveta.
No ano passado em 2016, comecei a fazer um boardgame e Guilherme Ribeiro posteriormente começou a ajudar nesse boardgame. No decorrer do projeto descobri que ele é formado na área de ciência da computação e propus fazemos um jogo digital. E decidimos a aproveitar o Tic Tac Toe que estava arquivado fazia já alguns anos, mas tinham algumas coisas já rascunhadas.
O projeto inicialmente estava comum escopo bastante grande. Porém, equipe só tinham dois membros, eu (Alexandre) na parte de (artes, gamedesign, negócios e marketing) e Guilherme na (programação). Adotamos o Scrum e cortamos muitas coisas no caminho e projeto andou um pouco mais rápido.
Conseguimos uma parceria com o Labrasoft, grupo de pesquisa do IFBA e foi cedido o bolsista de computação Paulo Fontes, que nos ajudou testando o jogo e tentando desenvolver uma ferramenta de leitura gráfica para um algoritmo de registro de jogadas (esse algoritmo foi sugerido por Hugo Deiró).
Esta etapa foi iniciada em outubro de 2016 e foi finalizada ontem (15 de Agosto de 2017) na qual publicamos o jogo na Play Store.
Um lado positivo, conseguimos fazer o jogo que funciona do início ao fim. Tem diversão desafio, modo campanha (joga-se para conquista tabuleiros e poderes) e quick game (serve para disputar com amigos para ver quem vence). Esses feitos nos deixam orgulhosos. Mas tivemos vários entraves.
O jogo foi produzido com capital próprio, sem investimento. Guilherme apesar de ser formado em computação não tinha experiência em jogos. E trabalhando em casa ele demorava de entregar etapas do projeto, deixando projeto lento e demorado. Inicialmente as builds vinham com diversos erros e tinha muito retrabalho.
Eu, (Alexandre), tinha alguma experiência com gerenciamento de equipe, artes, uma base de game design, mas negócios e marketing foram novidades e não tinha nenhum tipo de experiência, trabalhar em casa não foi problema. Mas exigia organização e estar atento as interferências das pessoas que moram comigo. Mas buscava sempre estabelecer metas e cumprir, a maior dificuldade era não ter outros membros para tarefas de divulgação, negócios e principalmente um artista, pois acho que artes é um ponto fraco meu, tanto que muitas pessoas falavam qu não gostavam da arte. E em uma conversa com Tiago da Virtualize, após ele testar o jogo ele me falou que a arte estava lembrado jogo de flash, vetor, daí ele fez umas sugestões e isso mudou bastante a interface do jogo.
No geral trabalhar em casa precisa de disciplina, organização e jogo de cintura para lidar com quem mora com você. Dá para ser produtivo, mas depende do perfil da pessoa. O Trabalho que Guilherme pedia uma semana para fazer, quando passamos alugar um espaço na Virtualize ele passou a fazer em dois dias. Até hoje, eu não sei que ele tanto fazia em casa que me pedia uma semana podendo fazer em dois dias.
Diversos amigos nos ajudaram e testaram o jogo dando feedbacks. Fizemos quatro play testes com público, o maior foi no Gamepolitan cerca de 40 pessoas jogaram. As respostas sempre foram favoráveis as pessoas gostam da ideia de juntar jogo da velha com power ups muito loucos. A inteligência artificial (IA) foi o nosso maior entrave. A parte de programação não conseguiu achar um equilíbrio que fosse progressivo, começar com fácil e ir dificultando. Isso ocorreu, por uma falta de planejamento de software e experiência. A IA ficava muito difícil de vencer, ou imprevisível. Daí, decidimos deixar a IA sem ser a ideal e publicar o jogo na forma atual. Pois ainda iria levar um certo tempo para tentar corrigir a IA. Assim, acabamos esse ciclo de produção. E vamos avaliar próximos passos e se a equipe continua a trabalhar junta.

Dev log 6 # - free casual game

This week we upped the game Tictactoe Superpowers to the play store, its a free casual game - a tic tac toe with power ups. It is complete with 39 levels, 18 boardgames.

The game is in the moment of testing and adjustments.

You can dowload free in Play Store:

Download:Play Sote



Esta semana subimos o jogo para a play store. Ele está completo. Subiu antes do tempo, a inteligência artificial não ficou como queriámos, era para ser progressiva mas não ficou. Mas vamos analisar o andamento na loja.

Download:Play Sote




Dev Log 5 #


New interface, after the Gamepólitan we had good feedbacks of the game. And there was a change in the interface, we found that people thought that they had a vector face and very saturated colors. Thus emerged the clear Tic Tac Toe interface.

---------------------
---------------------

Nova interface, após o Gamepólitan tivemos bons feedbacks e surgiu a necessidade de modificar a interface, descobrimos que as pessoas achavam com cara de vetor e cores muito saturadas. Assim surgiu a interface clara  Tic Tac Toe.


New interface of Tic Tac Toe SP,




sexta-feira, 26 de maio de 2017

Dev Log 4 # Tic Tac Toe SP [English]

We spent a long time without posting Dev Logs, but there are lots of new features.

We have an Android version. In the smatphones wide screen models with android 6 is working perfectly. But on Android 4.4, it is giving analysis error and does not install the APK. We are trying to resolve this bug, it seems that the error is related to the minimum version of the version of Android chosen in the Unity export. When we have an answer we will post.




We also have a Mac version, it had a bug, it only ran on some Macs. The guys from the Indie Game Dev community gave some suggestions and we saw that the build was only being exported "x86", and should in fact be exported to "Universal".

Other news, the player names saves and the slot can be loaded, has 6 slots.


In addition, it has been implementing the system of coins that the player earns according to performance. They serve to increase the powers units used by the player.




Dev Log 4 # Tic Tac Toe SP [Português]

Ficamos um bom tempo sem postar Dev Logs, mas vem muitas novidades.

Estamos com uma versão para Android. Nos smatphones modelos wide screen com android  6 está funcionando perfeitamente. Mas no Android 4.4, está dando erro de análise e não instala a APK. Estamos tentando resolver esse bug, parece que o erro está relacionado a versão mínima da versão do Android escolhida na exportação da Unity. Quando tivermos uma resposta postaremos.



Também estamos com uma versão para Mac, estava com um bug, só rodava em alguns Macs.  O pessoal da comunidade Indie Game Dev deu algumas sugestões e vimos que a build estava sendo exportada apenas  “x86”, e na verdade deveria ser exportada para “Universal”.

Outras novidades, o jogado nomeia os saves e o slot pode ser carregado, possui 6 slots.


Além de tudo foi implantando o sistema de moedas que o jogador ganha de acordo com o desempenho. Eles servem para ampliar as unidades de poderes usadas pelo jogador. 



segunda-feira, 6 de março de 2017

Dev Log 3 # Tic Tac Toe SP - AI of Game [English]

Today we are going to talk about Artificial Intelligence (AI).

The prototype and the first version of the game.

First was made a paper prototype with some powers, with this test the game worked, but still depended on two people;
In the first digital version in Unity of the game, still, there was a version of the implemented one of AI. It was a two-player version. Depending on the cleverness of the players.


Prototype



The initial concept of AI.

First we thought of plays used more in the prototypes in paper and in the digital version. We also thought of a hierarchy of actions. Then the team drew a few more recurring moves and were placed in the AI code. However, this mapping is still insufficient. With this we are using an algorithm to map the moves and improve AI.


The technical functioning of the AI.

To decide which one to play the AI, Tic Tac Toe SP analyzes the board for each situation, and assigns points to each house according to the situations, if found. The house with the most points is the one in which the AI must play.

During the analysis of the board, each house is assigned two values: priority (number of points) and type of action: none, basic, prevent and destroy (this list is subject to change).

None: AI can not play in that house.
Basic: The AI must play its basic piece (X or O) in that house.
Prevent: AI must play a part (ice, plan, its normal part even) to disrupt an opponent's move. The difference to basic is that it can use ice and plant as well.
Destroy: The AI must destroy the piece that is in the house, with a blowtorch or a bomb.

If the AI can not perform the action with more points (for not having a blowtorch or bomb to destroy, for example), this is discarded and the next one with more points is attempted.


At each function, the AI looks for a specific situation on the board. In the above example, you would find two loose pieces of the opponent and two of their boards. He does not currently look for an isolated block of ice, as it does not matter - if he were to be together with other pieces of that might matter.


The situations that the program looks for are the following:


Glossary:
Basic piece of the player: The basic piece of the player (in the case of AI) - X or O 
Basic piece of the opponent: The opponent's basic piece - X or O 
Priority: number of points, in the end the house with the highest priority is the one chosen to be played.
Empty house: house without any part placed



CheckPlayerOneBasicPiece ();

Priority: 50
Action: Basic

Look for the basic pieces of the player, regardless of whether they are together or not. Then assign points to all houses around these that are empty.




CheckPlayerTwoBasicPieces ();

Priority: 75
Action: Basic

Look for basic player pieces that are adjacent to each other. If he finds one piece adjacent to another, he assigns the points to the houses that allow him to complete three pieces (two at most) - those that are empty, obviously.



CheckEnemyTwoBasicPieces ();

Priority: 74
Action: Prevent

Like the previous one, but look for the opponent's pieces. If he finds one piece adjacent to another, assign the points to the houses that the opponent could use to complete three pieces (two at the most) - those that are obviously empty.

Obs: In the current state of the game, it seems that the houses assigned by this function have not been chosen: there is always another house with more points.
  



CheckPlayerThreeBasicPieces ();

Priority: 100
Action: Basic


Look for three basic pieces of the player that are adjacent, and you only need to put one more piece to win the game. The priority is maximum, and at most two houses will be assigned points (those that are empty).



CheckEnemyThreeBasicPieces ();

Priority: 95
Action: Prevent

Like the previous one, but look for the opponent's pieces. It is very important to prevent his victory, only the AI victory on this turn is a better move than this.



CheckEnemyTwoAndAFourthBasicPieces ();
CheckEnemyOneAndThirdFourthBasicPieces ();

Priority: 95
Action: Prevent

Look for cases where the opponent has two pieces together, an empty house, and another piece, and playing in the void would give him a victory. Assign the points to this empty house, and have the same priority of three pieces of it together.



CheckEnemyOneAndThirdFourthBasicPiecesAndAnIceBetween ();
CheckEnemyTwoAndAFourthBasicPiecesAndAnIceBetween ();

Priority: 90
Action: Destroy

Here we look for the situation of having two pieces, one ice, and another piece aligned. Destroy one of the pieces.

Note: In fact, this is the only case currently in which the AI is requested to use the blowtorch or pump.



ResetActionsBoard ();

Priority: 0
Action: Basic or None

Ensures that all boxes in the chessboard have assigned values. It assigns zero priority to each house, and if it is occupied it is assigned a none action, prohibiting action on it.

Note: The assigned values can be replaced later by another of the above functions, including occupied houses, in which a destroy: action can be assigned to destroy the part.




Note 2: The order in which the functions are executed does not matter, because only higher priority values can replace others. If a function tries to assign values with lower priority, it is prevented to do that.

Dev Log3 # Tic Tac Toe SP - IA do jogo. [Português]

Hoje vamos falar sobre a Inteligência Artificial(IA).

O protótipo e a primeira versão do jogo.

Primeiro foi feito um protótipo em papel com alguns poderes, com esse teste o jogo funcionou, mas dependia ainda de duas pessoas. Na primeira versão digital em unity do jogo, ainda, não havia uma IA implementada. Era uma versão para dois jogadores. Dependendo da esperteza dos jogadores.

Primeiro protótipo



O conceito inicial da IA.

Primeiro se pensou em jogadas mais usadas nos protótipos em papel e na versão digital. Também se pensou em uma hierarquia de ações. Depois a equipe traçou algumas jogadas mais recorrentes e foram colocadas no código da IA. No entanto, esse mapeamento ainda é insuficiente. Com isso estamos usando um algoritmo para mapear as jogadas e aprimorar a IA.


O funcionamento técnico da IA.

Para decidir qual a jogada da IA, o Tic Tac Toe SP analisa o tabuleiro por cada situação, e atribui pontos a cada casa de acordo com as situações, se encontradas. A casa com mais pontos é aquela na qual a IA deve jogar.

Durante a análise do tabuleiro, a cada casa é atribuído dois valores: prioridade (o número de pontos) e o tipo de ação: none, basic, prevent e destroy (esta lista está sujeita a mudanças).

None: a IA não pode jogar naquela casa.
Basic: a IA deve jogar a sua peça básica (X ou O) naquela casa.
Prevent: a IA deve jogar uma peça (gelo, planta, sua peça normal mesmo) para atrapalhar uma jogada do adversário. A diferença para basic é que ele pode usar gelo e planta também.
Destroy: a IA deve destruir a peça que está na casa, com maçarico ou bomba.

Se a IA não conseguir realizar a ação com mais pontos (por não ter maçarico ou bomba para destruir, por exemplo), esta é descartada e a próxima com mais pontos é tentada.



A cada função a IA procura uma situação específica no tabuleiro. No exemplo acima, encontraria duas peças do adversário soltas e duas suas juntas. Atualmente, ele não procura um bloco de gelo isolado, pois ele não tem importância – se ele estivesse junto com outras peças daí poderia ter importância.



As situações que o programa procura são as seguintes:

Legenda:
Peça básica do jogador: A peça básica do jogador (no caso da IA) – X ou O
Peça básica do adversário: A peça básica do adversário – X ou O
Prioridade: número de pontos, no fim a casa com a maior prioridade é a escolhida para ser jogada.
Casa vazia: casa sem qualquer peça colocada

checkPlayerOneBasicPiece ();

Prioridade: 50
Ação: Basic

Procura pelas peças básicas do jogador, independente de estarem juntas de outras ou não. Então atribui pontos a todas as casas ao redor destas que estejam vazias.




checkPlayerTwoBasicPieces ();

Prioridade: 75
Ação: Basic

Procura pelas peças básicas do jogador que estejam um adjacente do outro. Se ele encontrar uma peça adjacente a outra, atribui os pontos para as casas que permitem completar três peças (duas no máximo) – as que estiverem vazias, obviamente.




checkEnemyTwoBasicPieces ();

Prioridade: 74
Ação: Prevent

Como o anterior, mas procura pelas peças do adversário. Se ele encontrar uma peça adjacente a outra, atribui os pontos para as casas que o adversário poderia usar para completar três peças (duas no máximo) – as que estiverem vazias, obviamente.

Obs: No estado atual do jogo, parece que as casas atribuídas por esta função não têm sido escolhidas: sempre tem outra casa com mais pontos.




checkPlayerThreeBasicPieces ();

Prioridade: 100
Ação: Basic

Procura por três peças básicas do jogador que estejam adjacentes, sendo que só precisa colocar mais uma peça para vencer o jogo. A prioridade é máxima, e no máximo a duas casas serão atribuídas pontos (as que estiverem vazias).




checkEnemyThreeBasicPieces ();

Prioridade: 95
Ação: Prevent

Como o anterior, mas procura pelas peças do adversário. É muito importante prevenir a vitória dele, só não mais do que garantir a própria vitória neste turno.




checkEnemyTwoAndAFourthBasicPieces ();
checkEnemyOneAndThirdFourthBasicPieces ();

Prioridade: 95

Ação: Prevent

Procura os casos em que o adversário tem duas peças juntas, uma casa vazia, e outra peça, sendo que jogar na vazia daria a ele uma vitória. Atribui os pontos a esta casa vazia, e têm a mesma prioridade de três peças dele juntas.



checkEnemyOneAndThirdFourthBasicPiecesAndAnIceBetween ();
checkEnemyTwoAndAFourthBasicPiecesAndAnIceBetween ();

Prioridade: 90
Ação: Destroy

Aqui se procura a situação de haver duas peças, um gelo, e outra peça alinhados. Destrói uma das peças.

Obs.: De fato, este é o único caso atualmente em que a IA é solicitada a usar o maçarico ou bomba.



resetActionsBoard ();

Prioridade: 0
Ação: Basic ou None

Garante que todas as casas do tabuleiro tenham valores atribuídos. Atribui prioridade zero a cada casa, e se ela estiver ocupada é atribuída ação none, proibindo ação sobre ela.

Obs.: Os valores atribuídos podem ser substituídos posteriormente por outra das funções acima, inclusive das casas ocupadas, nas quais podem ser atribuídas uma ação destroy: de destruir a peça.




Obs. 2: A ordem em que as funções são executadas não importa, pois somente valores com prioridade maior podem substituir outros. Se uma função tentar atribuir valores com prioridade menor, é impedido.




sexta-feira, 24 de fevereiro de 2017

Dev Log 2 # Tic Tac Toe SP [English]

The play test



Today we are going to talk about the Tic Tac Toe SP play test, which we did on February 16, 2017, in Labrasof's laboratory at the IFBA. Introducing our Alpha version of the game to the public. It was the first play test open to the public. In that version, the campaign and quick game modes were already working together with Artificial Intelligence (AI). However, Intelligence was still in its early stages.

10 people tested the game in this play test- 8 managed to win the campaign, (except two people, who were playing the quick game).


The playing time

The public took an average of 30 minutes to win the campaign mode, which is in region 1. To win the trophy of this region, in the current version, it is necessary to win 10 matches. That was no problem for the players.


The feedback



We note that some modifications would have to be made, among them:
"The public did not understand how some powers worked.
Solution: Let's put some information and explanations when the power is unlocked in the game and with the possibility of implementing a playable tutorial.

"Artificial intelligence at the beginning of the game is not that simple to win, but once you understand how it works, it's easy to beat.
Solution: Let's improve AI. A friend who tested the game, Hugo, suggested that a mapping of the moves could be done and used to better make the AI. Making her smarter.

The progress of the current version
We are doing the algorithm of mapping of plays (after we count the result of this work), we prepare the information of the powers and we will put some other small functions.


We stick around in this dev log.