Trabalho Final

Nesta página está documentado todo o andamento do trabalho final da disciplina de MAMI (2018.2), conforme solicitado pelos professores na proposta do trabalho. Confira o projeto abaixo.

Parte 1

1.1- Informações sobre o jogo escolhido:

Nome: Arkanoid
Desenvolvedora: Taito Corporation
Lançamento: 1986
Plataforma: Arcade
Inspiração/Referência: Breakout (Atari- 1976)

Arkanoid foi um jogo de muito sucesso, desenvolvido e lançado em 1986 pela Taito Corporation para a plataforma Arcade (aqui no Brasil conhecida como Fliperama). Em termos de narrativa, o jogo aborda uma nave, Vaus, pertencente ao jogador, que escapa de uma nave mãe, chamada Arkanoid, após um ataque que ela sofre no espaço.

Devido às limitações tecnológicas da época, o visual do jogo, apesar de bem trabalhado e colorido, era bastante simples, sendo assim, no gameplay em si, o que o jogador via, basicamente, era um "bastão" colorido (tons de cinza e laranja), que representava a nave Vaus, em um cenário preenchido por retângulos coloridos em diversas cores, que são os obstáculos que o jogador tinha de quebrar. Vale lembrar que havia elementos que demarcavam os limites da tela, formando uma espécie de moldura que facilitava a compreensão dos limites que o jogador possui no jogo. Esses detalhes podem ser visualizados no print a seguir.



1.2- Mecânica do jogo escolhido:

A mecânica do jogo era simples e objetiva. O jogador tinha de, lançando e rebatendo diversas vezes uma bolinha que colide com os obstáculos ou seres inimigos que eventualmente surgem na tela, sobreviver o máximo possível sem perder a bolinha (que pode sumir pela porção inferior da tela), visando quebrar todos os blocos coloridos que o nível (fase do jogo) possui. A cada colisão que a bolinha faz com um inimigo ou bloco (obstáculo) colorido, o jogador aumenta sua pontuação. Se o jogador perder a bolinha por um número máximo de vezes (conhecido no início da partida), acontece um "Game Over" e o jogador reinicia a partida (com pontuação zero e quantidade de vidas reiniciadas). Em suma, o jogo possui uma mecânica semelhante ao famoso jogo Pong, mas com desafios a mais, contando também com alguns "power ups" que ajudam o jogador a ter vantagens em alguns momentos da partida.

Vale ressaltar que Arkanoid foi feito baseado no jogo Breakout, lançado em 1976 (10 anos antes de seu lançamento) pela Atari (também para a plataforma Arcade). O interessante é que Arkanoid fez tanto sucesso no mercado que foi parodiado por vários outros desenvolvedores e deu origem, assim, a um gênero de jogos chamado Breakout. Acredito que isso se deu pela junção de uma mecânica simples e objetiva com os recursos que o jogo possui (visuais, narrativos e de mecânicas) a mais que o jogo que foi utilizado como base para seu desenvolvimento (Breakout). Isto é um bom motivo para eu escolher fazer uma releitura desse jogo para este trabalho.

Para mais detalhes sobre o jogo Arkanoid e sua mecânica, você pode visualizar o vídeo abaixo:

Para conhecer a lista de jogos que parodiaram Arkanoid, acesse o link abaixo:
Arkanoid e seu impacto no mercado

1.3- Releitura proposta do jogo

Pretendo manter a mecânica básica original do jogo e fazer uma releitura dele buscando um resultado visual um pouco diferente do Arkanoid, além de trabalhar os power ups de forma um pouco diferente do jogo original. Mas a ideia da simplicidade e objetividade do jogo deve ser mantida.

Sendo assim, em suma, a ideia é que, ao final, a releitura que eu fizer tenha as seguintes características gerais (o.b.s.: relevar a falta de realismo de física das simulações a seguir. Estas foram feitas sem o intuito de retratar a física do jogo com alto grau fidelidade, servindo mais para dar uma noção visual do que ocorrerá/haverá no jogo):

-2 teclas para mover o personagem principal (para a esquerda e para a direita)-Ver simulação do link abaixo.-;
Movimentos básicos
-Blocos coloridos com dificuldades diferentes para serem quebrados e que ao serem quebrados dão pontuações diferentes ao jogador (de acordo com sua cor)-Ver simulação do link abaixo.-;
Simulação de colisão com os blocos
-Ao invés de o cenário lançar aleatoriamente de um local específico (de 2 possíveis), como no Arkanoid, alguns inimigos a serem destruídos, de um local específico (de 2 possíveis) a fase lançará uma bolinha contra o jogador. A ideia é que o jogador não possa destruir a bolinha, mas, se colidir com ela, perderá uma vida. Logo o jogador deverá esquivar-se da bolinha quando esta vier em sua direção.-Ver simulação do link abaixo.-;
Bola inimiga
-Power Ups existentes no jogo: a ideia é deixar os power ups bem semelhantes aos existentes no Arkanoid, mas ao invés de um dos power ups multiplicar as bolinhas que o jogador terá em jogo, ele aumentará o tamanho da bolinha do jogador, fazendo com que ela destrua mais de um bloco por vez. Foi decidido não adicionar no jogo 2 power ups que, no jogo original, um diminui temporariamente a velocidade da partida e outro transforma o personagem em uma nave que dispara tiros contra os blocos e inimigos. Outra ideia que surgiu para um power up seria um que dê uma vida reserva (extra) para o jogador. Assim, a releitura do jogo contará com os seguintes power ups:
-Um para alongar o tamanho do personagem ("bastão") principal-Ver simulação do link abaixo.-;
Power Up 1
-Um para aumentar o tamanho da bolinha que o personagem rebate-Ver simulação do link abaixo.-;
Power Up 2
-Um para aumentar temporariamente a velocidade do jogador-Ver simulação do link abaixo.-;
Power Up 3
-Um para dar vida extra para o jogador.-Julguei que este não requer simulação. Este power up, basicamente, quando colidir com a nave do jogador, acrescentará em 1 a quantidade de vidas que ele ainda tem pra permanecer na partida.-

1.4- Análise dos modelos natural e matemático da releitura proposta (simulação em vídeo)
 Clique para ver a simulação completa da releitura do jogo Arkanoid

O vídeo acima traz o modelo natural (em simulação) do jogo em desenvolvimento. Agora, vamos a análise dos modelos matemáticos presente nesta simulação de acordo com o que se espera, inicialmente, que aconteça no jogo final.

1.4.1- Da movimentação do jogador:
Basicamente, sempre que o jogador teclar para a direita ou para a esquerda, será, respectivamente, somado ou subtraído um valor fixo da variável que guarda a posição da nave do jogador no eixo X.

1.4.2- Da colisão da bolinha com os blocos:
Quando existe uma interseção entre a área da tela que a bolinha ocupa em um dado momento e a área da tela que um bloco ocupa, o programa deverá retirar aquela informação (bloco) da tela.

1.4.3- Do lançamento da bolinha inimiga (contra o jogador):
Em um intervalo de tempo randômico (a ser testado e configurado no futuro código do jogo), uma bolinha sai de uma das áreas limitadas da porção superior da tela. Quando a bolinha é lançada, inicialmente, ela recebe um incremento (valor fixo) na sua posição Y, para que "caia" na tela, ou seja, vá em direção a nave do jogador. A bolinha também recebe, inicialmente, um incremento ou subtração no valor da variável de sua posição no eixo X, e quando esta colide com algum elemento do cenário, o sinal do valor somado ao eixo X da bolinha inimiga é invertido, junto com o sinal da sua posição no eixo Y, permitindo, assim, que a bola rebata sobre os diversos elementos do jogo, até que encontre uma "passagem livre" no cenário para prosseguir "caindo" e ter a chance de colidir com a nave do jogador. Este mesmo esquema ocorre com a bolinha do jogador, para que essa se movimente colidindo coerentemente com os elementos da tela.

1.4.4- Da colisão com os Power Ups:
Todas as colisões seguem a seguinte lógica matemática: quando há uma interseção entre a área que o power up ocupa e a área que a nave do jogador ocupa na tela, a propriedade do power up é adicionada a nave do jogador.

1.4.5- Do Power Up que alonga a nave do jogador:
Quando a nave do jogador colide com este power up, o tamanho da nave do jogador (no eixo X) é multiplicado por um valor a ser testado e configurado no jogo. Nesta simulação o valor adequado encontrado foi 1.5.

1.4.6- Do Power Up que aumenta a bolinha do jogador:
Quando a nave do jogador colide com este power up, o diâmetro da bolinha é multiplicado por um valor a ser testado e configurado no jogo. Nesta simulação o valor adequado encontrado foi 3.0. Quando a bolinha colide com um obstáculo, nestas condições, elimina também os blocos imediatamente ao lado do bloco com o qual a bolinha colidiu.

1.4.7- Do Power Up que aumenta a velocidade da nave do jogador:
Quando a nave do jogador colide com este power up, um valor é somado a velocidade atual da nave, por um período de tempo limitado a ser configurado no jogo.

[Continua para a segunda parte- Desenvolvimento do jogo no Processing]
[Trabalho em construção!]

Nenhum comentário:

Postar um comentário