CRIAÇÃO DE UM JOGO INDIE 2D

CENTRO PAULA SOUZA

CRIAÇÃO DE UM JOGO INDIE 2D

Guilherme de souza lima

gustavo matheus dos santos perenha

João victor figueiredo da silva

Vitor hugo tsuyoshi guimarães haga

Resumo

Desenvolvemos com qualidade beta e de forma independente a primeira fase de um jogo, registrando os parâmetros do desenvolvimento, enfrentamos problemas e encontramos soluções conforme avançávamos no desenvolvimento do jogo, assim podendo disponibilizar ao público, informações que motivem o desenvolvimento Indie no Brasil, para provar a todos que um grupo de estudantes dedicados pode faze-lo.

Palavras-chave: Indie, Independente, Beta.

Abstract

Developing beta quality and independently the first phase of a game, recording the development parameters, face problems and find solutions as we progressed in the development of the game, thus marking available to the public, information that motivates Indie development in Brazil, to prove To everyone a group of dedicated students can d

Palavras-chave: Indie, Independent, Beta.

Introdução

Um jogo eletrônico é um jogo no qual o jogador interage com imagens enviadas a um dispositivo que as exibe, geralmente uma televisão ou um monitor.
Os sistemas eletrônicos usados para jogar videogames são conhecidos como plataformas — como por exemplo computadores e consoles. Os arcades e celulares são também bons exemplos de plataformas.
A história dos jogos eletrônicos teve início quando os acadêmicos começaram a projetar jogos simples, com parte de suas pesquisas em ciência da computação. Os jogos eletrônicos passaram a ser conhecidos na década de 1970, quando jogos de arcade e videogame foram apresentados ao público em geral. Assim os jogos eletrônicos viraram uma forma conhecida e muito utilizada para o entretenimento em diversas partes do mundo.
Jogos independentes são jogos virtuais criados por indivíduos ou pequenas equipes de games com ou sem suporte editora de jogos financeiros. Jogos Indie, muitas vezes tem o foco na inovação e dependem da distribuição digital. Os jogos Indie tiveram um aumento nos últimos anos, principalmente devido aos novos métodos de distribuição on-line e ferramentas de desenvolvimento.  
A empresa Lamer’s , está trabalhando em um projeto social que irá fazer um jogo Indie em 2D, para celular no sistema Android®, para todas as idades, sem fins lucrativos, apenas com o objetivo de divulgar o nosso projeto.
O interesse principal deste projeto é desenvolver um jogo eletrônico para Android® utilizando a ferramenta Construct 2, tendo como seguintes metas: facilitar o trabalho da equipe; reduzir o tempo de desenvolvimento do jogo; sem custos pois possui uma versão gratuita.

Desenvolvimento

Demonstraremos por meio de imagens capturadas da tela do Windows 10® com a IDE de desenvolvimento do jogo o processo de construção  e suas etapas.

criando o aplicativo (jogo)

Com a tela aberta do construct 2 vemos a aba de comportamentos, propriedades e de edição.

Criando o cenárioCriando o cenárioPrintScreen da tela do Windows 10

Aqui usando a ferramenta tilemap, desenhamos o cenário.

Adicionando behaviors de sólidoAdicionando behaviors  de sólidoPrintScreen da tela do Windows 10

Clicando no cenário e depois olhando em propriedades, clicamos em behaviors e adicionamos a propriedade de solid no cenário.

Adicionando playerAdicionando playerPrintScreen da tela do Windows 10

Dando dois cliques na tela do construct 2 inserimos um novo objeto, uma imagem qualquer, simplesmente para representar o player (jogador, usuário do jogo).

Adicionando uma família para cenáriosAdicionando uma família para cenáriosPrintScreen da tela do Windows 10

Clicando com o botão direito na pasta family adicionamos uma nova família, chamada levels. Essa família vai ser a família dos cenários criados no jogo, e todo behavior ou evento colocado nessa família vai ser distribuído a todos objetos pertencentes a ela.

Adicionando um behavior de bullet para famíliaAdicionando um behavior  de bullet  para famíliaPrintScreen da tela do Windows 10

Depois da criação da família, em suas propriedades clicamos em behaviors e adicionamos a característica bullet (bala), essa é a característica que faz o cenário se mover.

fazendo evento para o cenário correr contra o personagemfazendo evento para o cenário correr contra o personagemPrintScreen da tela do Windows 10

Ao darmos o behavior de bullet (bala), o cenário se move em direção contrária, por isso criamos um evento para trocar o angulo do behavior de bullet, assim o cenário se move na direção certa.

Criando um evento para o personagem não sair de sua posição em XCriando um evento para o personagem não sair de sua posição em XPrintScreen da tela do Windows 10

Este evento é utilizado para fixar o personagem em algum ponto X, assim o personagem se manterá fixo na posição.

Criando uma spirte para server de trigger para outro cenárioCriando uma spirte para server de trigger para outro cenárioPrintScreen da tela do Windows 10

Criamos outra sprite servindo de trigger (gatilho) para outro cenário, adicionamos o behavior de bullet e viramos o seu ângulo de colisão em 180 graus para que se mova junto com o cenário.

Adicionando uma variável global para receber a velocidadeAdicionando uma variável global para receber a velocidadePrintScreen da tela do Windows 10

Adicionamos uma variável global para definir velocidade do começo do jogo.

Criando um evento para que a cada momento a levels e a trigger recebam velocidadeCriando um evento para que a cada momento a levels e a trigger recebam velocidadePrintScreen da tela do Windows 10

Criamos um evento para que a sprite trigger e a family levels recebam a quantidade da variável global velocidade.

Utilizando a trigger para deixar o jogo infinitoUtilizando a trigger para deixar o jogo infinitoPrintScreen da tela do Windows 10

Criamos este evento para que quando o personagem colida com a trigger, o próprio sistema crie um novo cenário logo em seguida.

Adicionando outra ação para setar o ângulo do cenárioAdicionando outra ação para setar o ângulo do cenárioPrintScreen da tela do Windows 10

No mesmo evento da imagem anterior, criamos uma nova ação para mudar o ângulo do cenário criado em 180 Graus.

Não deixando um cenário ser criado em cima do outroNão deixando um cenário ser criado em cima do outroPrintScreen da tela do Windows 10

Criamos uma variável global chamada ‘espaco1’ para que o novo cenário não seja criado em cima do outro e adicionamos uma nova ação para que o novo cenário já seja criado com uma trigger, deixando assim o jogo infinito.

Criando a animação do jogadorCriando a animação do jogadorPrintScreen da tela do Windows 10

Adicionamos as sprites de animação do player, e adicionamos um behavior de pin a ele, que seria um comportamento de fixar.

fixando a tela no jogadorfixando a tela no jogadorPrintScreen da tela do Windows 10

Adicionamos uma ação para que quando o layout começar a animação do personagem se fixe no player.

Adicionando o tecladoAdicionando o tecladoPrintScreen da tela do Windows 10

Do mesmo modo que adicionamos as sprites, adicionamos também o teclado.

Criando o movimento de ‘pulo’ do personagemCriando o movimento de 'pulo' do personagemPrintScreen da tela do Windows 10

Neste evento, começamos a usar o teclado para fazer a movimentação do personagem. As ações criadas são feitas para que quando pressionarmos  a tecla
“espaço” o personagem pule e se a mantermos pressionada o personagem ganhe uma gravidade, fazendo assim ele ficar mais tempo no ar. 

Setando a animação de pulo quando o personagem pulaSetando a animação de pulo quando o personagem pulaPrintScreen da tela do Windows 10

Neste evento fazemos com que a animação pulo seja solta quando o personagem sair do chão.

Clonando os cenáriosClonando os cenáriosPrintScreen da tela do Windows 10

Nesta imagem, clonamos o ‘cenário1’, assim o cenário clonado já é adicionado na família levels, fazendo assim com que ele receba todas as características do outro cenário e depois disso editamos o cenário clonado ou ‘cenário2’. 

Criando os Levels Criando os Levels PrintScreen da tela do Windows 10

Criamos os “eventos de funções” que o objetivo é armazenar todo o antigo conteúdo do evento de colisão do personagem com a trigger e depois no evento de colisão do personagem com a trigger chamamos as funções criadas.

Criando uma nova tela, para colocar informações do jogo e setar seu parallax em 0,0Criando uma nova tela, para colocar informações do jogo e setar seu parallax em 0,0PrintScreen da tela do Windows 10

Criamos uma nova layer, para armazenar as imagens de distância, inimigos mortos, texto que irão receber o número de inimigos mortos e  o número da distância.

Mostrando ao jogador que os inimigos foram mortosMostrando ao jogador que os inimigos foram mortosPrintScreen da tela do Windows 10

Criamos a caixa de texto que irá receber o total de inimigos mortos.

Caixa de texto para mostrar a distancia percorridaCaixa de texto para mostrar a distancia percorridaPrintScreen da tela do Windows 10

Criamos a caixa de texto que a todo momento irá receber a distância percorrida.

Váriaveis globais de inimigos e distânciaVáriaveis globais de inimigos e distânciaPrintScreen da tela do Windows 10

Criamos mais duas variáveis globais, que irão receber o total de inimigos mortos e a distância percorrida.

Textos que irão receber as variáveisTextos que irão receber as variáveisPrintScreen da tela do Windows 10

Nestas ações criadas conectamos as variáveis de distância e inimigos com os textos que aparecerão em tela.

Adicionando inimigos para inverter o ponto de colisãoAdicionando inimigos para inverter o ponto de colisãoPrintScreen da tela do Windows 10

Adicionamos as sprites dos inimigos e como na trigger, invertemos o seu ponto de colisão, mas utilizando a opção mirror (espelhamento), fazendo com que o personagem não fique de ponta cabeça no jogo.

Criando uma família para o comportamento de bulletCriando uma família para o comportamento de bulletPrintScreen da tela do Windows 10

Criamos uma família para os inimigos e adicionamos o behavior de bullet para que os inimigos acompanhem o cenário, assim os tornando visíveis para o player

Colocando os inimigos na telaColocando os inimigos na telaPrintScreen da tela do Windows 10

Nas funções dos cenários, criamos ações para que o sistema crie as imagens dos inimigos em cada cenário.

Colocando a sprite de tiroColocando a sprite de tiroPrintScreen da tela do Windows 10

Adicionamos a sprite de tiro, criamos uma família de objetos e em family adicionamos o behavior de bullet.

Criando a imagem de tiroCriando a imagem de tiroPrintScreen da tela do Windows 10

Criamos um evento para que quando a tecla “Z” do teclado seja pressionada, o player execute a animação de tiro e crie em sua ponta o tiro.

Criando colisãoCriando colisãoPrintScreen da tela do Windows 10

Criamos um evento que quando a sprite de tiro colidir com o inimigo, ele se destrua e o sistema acrescente +1 a variável global ‘enemis1’.

Criando a colisão do jogador com o inimigoCriando a colisão do jogador com o inimigoPrintScreen da tela do Windows 10

Este evento faz com que quando o personagem colidir com alguém da family inimigos ele se destrua.

Criando a sprite de fim de jogoCriando a sprite de fim de jogoPrintScreen da tela do Windows 10

Adicionamos uma nova layer “game over”, para armazenar a sprite de “game over”.

Colocando a layer game over invisivel quando o jogo começarColocando a layer game over invisivel quando o jogo começarPrintScreen da tela do Windows 10

Esta ação faz com que a layer “game over” fique invisível quando o jogo começar.

Adicionando a variável ‘distância”Adicionando a variável 'distância"PrintScreen da tela do Windows 10

Este evento serve para o sistema contabilizar a todo momento +1 a variável global ‘distancia1’ quando a layer “game over” estiver invisível .

Criando a função “Game Over”Criando a função "Game Over"PrintScreen da tela do Windows 10

Esta função quando chamada tem o objetivo de deixar a layer “game over” visível e mostrar nos textos que estão ligados a variável global.

Criando uma sprite para destruir o personagem quando ele cairCriando uma sprite para destruir o personagem quando ele cairPrintScreen da tela do Windows 10

Adicionamos esta sprite “destruidor” para ser um ponto de colisão quando o personagem cair de algum barranco.

Chamando a função de “Game Over”Chamando a função de "Game Over"PrintScreen da tela do Windows 10

Criamos o evento que quando o player colidir com com o destruidor ele se destrua e chame a função “game over” e adicionamos uma ação no evento de colisão com inimigos para que quando isso acontecer ele também chame a função “game over“.

Criando o botão para tentar novamenteCriando o botão para tentar novamentePrintScreen da tela do Windows 10

PROGRAMAS UTILIZADOS

Construct 2

Construct 2® é um editor de jogos 2D baseado em HTML5, desenvolvido pela Scirra Ltda®. É destinado primeiramente para não programadores, permitindo a criação rápida de jogos.
Foi utilizado para a criação do jogo 2D que a empresa Lamer’s desenvolveu


 

Adobe Photoshop

Adobe Photoshop é um software caracterizado como editor de imagens bidimensionais.


 

 



RESULTADOS

Tela Inicial com logo da empresaTela Inicial com logo da empresaPrintScreen da tela do Windows 10

Tela secundaria de início de jogoTela secundaria de início de jogoPrintScreen da tela do Windows 10

Jogador AndandoJogador AndandoPrintScreen da tela do Windows 10

Jogador pulandoJogador pulandoPrintScreen da tela do Windows 10

Jogador AtirandoJogador AtirandoPrintScreen da tela do Windows 10

Tela de “Game Over” quando o jogador morreTela de "Game Over" quando o jogador morrePrintScreen da tela do Windows 10

Conclusão

A empresa desenvolveu de forma independente todo o jogo, registrando todos os processos do desenvolvimento, problemas enfrentados e soluções para a criação do jogo.

O maior desafio para a conclusão do jogo Robob  foi encontrar um tema que satisfizesse a todos os tipos de publico.
Os criadores passaram por muitas dificuldades que  atrapalharam o desenvolvimento do jogo, que  se baseavam em  estudar vídeo-aulas e criar Loops infinitos para a fase jogável.

Também por não conseguir manter a mesma jogabilidade do computador no celular e não fazer o inimigo andar.

Foram utilizadas todas as ferramentas citadas no trabalho, principalmente o Construct 2 que foi a ferramenta principal do projeto, pois nele foi feito todo o desenvolvimento do jogo, é de fácil manuseio e com um grande aprendizado.
Realizamos todas as etapas  do cronograma, todas foram feitas dentro dos prazos definidos, por isso conseguimos avançar bastante no desenvolvimento do jogo Robob.

A empresa não utilizou nenhum  recurso financeiro, pois todas as ferramentas utilizadas eram de licenças gratuitas e não houve necessidade de gastos para o desenvolvimento do jogo.

Com isso conseguimos concluir o projeto sem necessidade de investimento, sendo possível alcançar todos os objetivos propostos de um jogo Indie.

APÊNDICE

QUESTIONÁRIO

Quanto tempo do seu dia você passa jogando?

( ) Menos de uma hora

( ) De uma a três horas

( ) De três a cinco horas

( ) Mais de cinco horas

O que você acha importante em um jogo?

( ) História

( ) Gráfico

( ) Dificuldade

( ) Interatividade

Como prefere jogar?

( ) Competitivo

( ) Casual

( ) Diversão

( ) Cooperativo

Que tipo de jogo de pontuação você gostaria de jogar?

( ) Tiro

( ) Esportes

( ) Ação & Aventura

( ) Corrida Infinita

Que tipo de protagonista você gostaria de ser

( ) Super-Herói

( ) Robô

( ) Alienígena

( ) Humano

Em que plano de fundo você gostaria que se passasse o jogo?

( ) Pós-apocalíptico

( ) Medieval

( ) Futurístico

( ) Contemporâneo

FLUXOGRAMA

CRONOGRAMa

PORTFÓLIO


FICHAMENTO

feito

Use agora o Mettzer em todos
os seus trabalhos acadêmicos

Economize 40% do seu tempo de produção científica