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.
Mostrando postagens com marcador Tic Tac Toe SP. Mostrar todas as postagens
Mostrando postagens com marcador Tic Tac Toe SP. Mostrar todas as postagens
sexta-feira, 26 de maio de 2017
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
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 ();
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.
Dev Log 2 # Tic Tac Toe SP [Português]
O play test
Hoje vamos falar do play test do
Tic Tac Toe SP, que fizemos dia 16 de fevereiro de 2017, no laboratório do
Labrasof no IFBA. Apresentamos nossa versão Alpha do jogo ao público. Foi o
primeiro play test aberto ao público. Nessa versão, os modos campanha e o quick
game já estavam funcionando juntamente com a Inteligência Artificial (IA). No
entanto, a Inteligência ainda estava em seu estágio inicial.
10 pessoas testaram o jogo nesse
play test– 8 conseguiram vencer a campanha, (exceto duas pessoas, que ficaram
jogando o quick game).
O tempo de jogo
O público levou uma média de 30
minutos para vencer o modo campanha, que se passa na região 1. Para conquistar
o troféu dessa região, na versão atual, é necessário vencer 10 partidas. Isso
não foi problema para os jogadores.
O feedback
Notamos que seria necessário
realizar algumas modificações, dentre elas:
- O público ficou sem entender
como alguns poderes funcionavam.
Solução: vamos colocar algumas
informações e explicações quando o poder for desbloqueado no jogo e com
possibilidade de implementar um tutorial jogável.
- A inteligência artificial, no
início da partida, não é tão simples de vencer, mas depois que se entende como ela
funciona, fica fácil vencê-la.
Solução: Vamos melhorar a IA. Um
amigo que testou o game, Hugo, sugeriu que poderia ser feito um mapeamento das
jogadas e usá-lo para melhor tornar a IA. Deixando-a mais inteligente.
O andamento da versão atual
Estamos fazendo o algoritmo de
mapeamento de jogadas (depois contamos o resultado desse trabalho), preparamos
as informações dos poderes e vamos colocar algumas outras pequenas funções.
Ficamos por aqui nesse dev log.
quarta-feira, 22 de fevereiro de 2017
Dev log 1 #Tic tac toe sp [English]
The team
We are a small development team with 3 members.
Alexandre Santos (project manager, game designer and graphic
artist)
Guilherme Ribeiro (Programmer)
Paulo Fontes (Programming Assistant)
The game
Our current project is the Tic Tac Toe SP. Casual game 2D, a
game of the old woman with special powers. In it there is a campaign mode, in
which the player contests a tournament winning trophies, acquires and expands
powers, also conquering new trays. In quick game mode, the player has a quick
game, in which he can train for the tournament (can play two people).
The idea of the game came in 2013. The concept and
mechanics were tested on prototypes made on paper, we came to make a flash
version. Except that the project did not move and was stopped. In 2016, after
some partnerships in games jobs, the opportunity to start the project again.
![]() |
First paper prototype
|
![]() |
Second paper prototype
|
![]() |
Flash version.
|
Currently the game is being developed in unity.
Resources and Partnerships
The game is being done with its own resources and in
partnership with the Labdasoft research group of IFBA.
So with a new team here we are developing the first step of
the game
Dev log 1 #Tic tac toe sp [Português]
Somos um pequeno time de desenvolvimento com 3 membros.
Alexandre Santos (gerente de projeto, game designer e artista gráfico )
Guilherme Ribeiro (Programador)
Paulo Fontes (Assistente de programação)
O jogo
![]() |
www.facebook.com/tictactoesp |
Nosso projeto atual é o Tic Tac Toe SP. Jogo casual 2D, um jogo da velha com poderes especiais. Nele existe um modo campanha, no qual o jogador disputa um torneio ganhando troféus, adquire e amplia poderes, também conquistando novos tabuleiros. No modo quick game, o jogador tem uma partida rápida, na qual pode treinar para o torneio (podendo jogar duas pessoas).
A ideia do jogo surgiu em 2013. O conceito e mecânica foram testados em protótipos feitos em papel, chegamos a fazer uma versão em flash. Só que o projeto não andou e foi interrompido. Em 2016, depois de algumas parcerias em trabalhos de games, surgiu a oportunidade recomeçar o projeto.
![]() |
Primeiro protótipo em papel |
![]() |
Segundo protótipo em papel |
![]() |
Versão em Flash. |
Engine
Atualmente o jogo está sendo desenvolvido em unity.
Recursos e Parcerias
O jogo está sendo feito com recursos próprios e em parceria com o grupo de pesquisa Labdasoft do IFBA.
Então com um novo time aqui estamos desenvolvendo a primeira etapa do jogo.
* O jogo já foi lançado para android
Play store:
https://play.google.com/store/apps/details?id=com.StrikeGames.TicTacToeSP.Mobile
O processo de produção de um game indie.
https://strikegames-br.blogspot.com.br/2017/10/o-processo-de-producao-de-um-game-indie.html
Assinar:
Postagens (Atom)