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.

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.


 The Engine

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