POGame se trata de um jogo a ser desenvolvido pela turma 475 do ensino médio, integrado com técnico de informática, do Instituto Federal de Educação, Ciência e Tecnologia Campus São Paulo (Ifsp) durante os semestres do ano de 2014 para a disciplina de PDS. Foi requisitado que os alunos do curso criassem uma aplicação até o terceiro bimestre do ano de 2014 utilizando java e assim surgiu a proposta do jogo POGame. O nome do deriva da sigla "POG" que significa "Programação Orientada a Ganbiarra" e foi atribuído em função da temática de programação que acerca o game.


segunda-feira, 17 de março de 2014

Tecnologias a Serem Utilizadas

Uma vez decidida a ideia e a proposta inicial do game, começou a se decidir quais serão as tecnologias utilizadas no POGame. O jogo será desenvolvido para Desktop para o sistema operacional Windows 7. Em função de ser um projeto direcionado a linguagens de programação orientadas a objeto foi escolhido Java como a linguagem na qual o POGame será programado, uma vez que os integrantes do grupo têm maior afinidade com esta. Assim as tecnologias até agora escolhidas ficam:

- Eclipse Kepler 4.3 : Usado para desenvolvimento Java.
- MySQL: Usado para construir o banco de dados no qual será guardada a pontuação.
- Servidor Apache Tomcat: Usado para construir o servidor que armazenará o banco de dados e se comunicará com as aplicações.
- Source Filmaker: Usada para gerar os personagens e os mapas.
- Adobe Photoshop C6: Usado para gerar as texturas empregadas nos menus do jogo.
- Lib GDX (Ainda em Avaliação) - Motor de Jogo.

quarta-feira, 12 de março de 2014

Sistema de Pontuação


A imagem representa um pequeno protótipo do sistema de pontuações do POGame. Ao final de um jogo o jogador verifica seu placar e é colocado dentro do rank de pontuações, o qual exibe as cinco (esse valor pode mudar futuramente, apenas colocado para pura ilustração) maiores pontuações. A tela de rank apresentaria os jogadores classificados e divididos por nível, tendo cada nível seu próprio rank. Na classificação o jogador teria seu nome, uma foto do personagem que utilizou e os seus respectivos pontos.

A Pontuação ficaria gravada dentro de um banco de dados localizado em um servidor, com a qual a aplicação se comunicaria. Em caso de erro na comunicação o jogador pode jogar livremente o POGame, porém não pode salvar seu placar dentro do rank. 

Teste de Logo


O Logo do POGame foi desenvolvido com o intuito de retratar a temática de programação do jogo, bem como a "brincadeira" que é feita com a sigla que vai no título do mesmo.

Protótipo de animação




O video abaixo representa um primeiro teste de como os elementos gráficos do jogo vão funcionar. Não há qualquer tipo de programação por traz do video. O programador foi animado usando a ferramenta Source Filmaker (SFM) em um fundo verde (Gif Acima), o qual foi retirado para garantir transparência, sendo o fundo da animação também foi obtido através da SFM. As palavras e os movimentos foram animados dentro do MS Powerpoint e tudo foi gravado com Fraps.

Video: http://www.youtube.com/watch?v=h3bMUaLy0mU

terça-feira, 11 de março de 2014

Diagrama de Telas


Ao iniciar o jogo o jogador será levado ao menu principal. No menu principal poderá escolher ir para as instruções (onde será informado sobre como o jogo funciona), para os créditos (onde são especificados os desenvolvedores e as ferramentas usadas no desenvolvimento), para a pontuação (onde é mostrado o rank dos melhores jogadores por nível e com quais personagens) ou por fim pode escolher iniciar o jogo.

Ao iniciar o jogo o jogador será levado para um tela de escolha do programador. Tendo esse escolhido ele será levado a uma tela de seleção de nível e por fim chegará a tela de jogo propriamente dita. Terminada a partida a pontuação do jogador é exibida e ele é levado a tela das pontuações.

Jogo 2D, mas com aparência 3D


Uma proposta interessante a ser adicionada para o POGame se trata de tentar simular um ambiente 3D em um jogo 2D. A ideia se trata basicamente de utilizar a ferramenta Source Filmmaker para gerar animações e cenários que possam ser importados como elementos 2D a serem usados dentro do jogo.

A Source Filmmaker (SFM) é uma ferramenta construída pela empresa norte-americana de jogos eletrônicos Valve para possibilitar a criação de animações dentro do motor de jogo Source. Essencialmente é uma ferramenta que permite a integração de elementos dentro de um jogo com elementos de animação, permitindo a seu usuário criar filmes e videos de maneira eficiente.

Assim a proposta se trata de utilizar elementos da SFM para gerar animações e cenários que seriam importados como imagens para dentro do jogo. A vista do usuário estas dariam a impressão de este se encontrar em um mundo tridimensional, quando na realidade é apenas um mundo bidimensional.

Com relação as políticas de uso, a SFM pode ser incluída sem maiores problemas dentro do desenvolvimento do POGame uma vez que é uma ferramenta gratuita. Vários elementos a serem usados dentro do jogo se tratam de personagens e mapas usados em jogos da própria Valve, o que poderia gerar um problema de direitos autorais, no entanto a política de uso da SFM garante que o usuário da ferramenta possa utilizar todos esses elementos em suas animações para filmes, jogos, etc, desde que tais não tenham fins comerciais, sejam disponibilizados gratuitamente e obviamente que os direitos autorais sejam propriamente atribuídos.

Art Work Sobre Jogo e Mais Idéias


A imagem acima representa um conceito inicial de como será construído o POGame e como tal funcionará, bem como adiciona novos conceitos a proposta inicial. 

O primeiro novo conceito a ser introduzido se trata de níveis. Inicialmente foi pensado em três colunas de itens, ou seja, em três linhas verticais nas quais os itens iriam cair. A ideia dos níveis é de justamente adicionar mais destas "colunas" nas quais os itens cairão. Assim, por exemplo, o nível um teria três colunas, o segundo teria quatro e o terceiro cinco. Também está se pensando em aumentar a velocidade e a proporção de itens ruins (aqueles dos quais o jogador têm de desviar) a cada nível. Outro ponto interessante a ser adicionado se trata de que cada nível representaria uma linguagem de programação diferente, como se a complexidade de cada linguagem representa-se cada nível de dificuldade. Inicialmente a ideia seria fazer Nível 1: Python, Nível 2: C++ e Nível 3: Java.

Um segundo conceito seria a adição de mais itens. Dois itens básicos já foram criados, o primeiro é o pedaço de código que o jogador deve coletar para evitar que o tempo acabe e o erro, do qual o jogador deve desviar para evitar perder tempo. Outros dois itens a serem adicionados seriam o café e o POG. O café permitiria o jogador mover o personagem com uma velocidade maior, fazendo uma analogia aos efeitos da cafeína no que se trata de proporcionar energia a uma pessoa, e o POG faria com que o usuário ganha-se uma quantidade de tempo maior do que a dos códigos normais, porém faria com que todos os itens começassem a cair mais rápido. Como já foi dito na introdução do trabalho o POG é uma sigla para "Programação Orientada a Ganbiarra" e representa certas construções de código que seriam atalhos inconvenientes para solucionar problemas dentro da programação. No entanto, como é comum acontecer, fazer uma "ganbiarra" pode funcionar para um problema imediato, mas têm um grande chance de dar problemas no futuro, o que explica o papel desse novo item no jogo.

Outro conceito também a ser trabalhado se trata dos personagens. Foi pensado em se utilizar três programador diferentes que o jogador poderia escolher para jogar. Em um primeiro momento isso foi pensado apenas para fins estéticos, sem que os programadores tenham atributos diferentes dentro do jogo. No canto direito superior da tela estaria uma foto da face do programador escolhido a qual apresentaria diferentes expressões (um tópico ainda a ser discutido) a cada item escolhido ou a cada valor de pontuação atingido.

segunda-feira, 10 de março de 2014

Proposta Inicial do Jogo

O POGame tem a proposta de ser um jogo com temática de programação do tipo: "faça a maior quantidade de pontos que puder". A ideia principal consiste em construir um jogo no estilo "Game & Watchs" da empresa Nintendo, no qual o jogador deve se concentrar em pegar e desviar de itens que estão caindo, fazendo com que cada item pego acrescente a sua pontuação.

Como já foi dito o POGame apresenta um enredo de programação. A ideia principal do game é fazer com que o jogador controle um programador, podendo move-lo lateralmente. Do topo da tela certos itens cairão e o jogador terá a missão de coletar ou desviar de certos destes itens. Para o conceito inicial do game, foi pensado em fazer com que o jogador colete pedaços de código (código de programação) e tenha que desviar de erros. 

O jogo seria medido na base do tempo: ao iniciar um nível o jogador teria um tempo de jogo que iria decaindo aos poucos. Ao coletar um pedaço de código, uma pequena fração seria adicionada ao tempo e a pontuação do jogador iria subir, no entanto, ao coletar um erro o jogador perderia uma quantidade significativa de tempo. Quando o tempo acabasse o jogo terminaria e a pontuação do jogador seria computada e guardada. Mais itens deverão ser acrescentados a ideia do jogo futuramente.

Esse modo de jogo tenta fazer uma analogia ao processo de programação, ao conseguir construir o código o programador vai cumprindo seu cronograma e progredindo na construção de um programa. Entretanto ao se deparar com um erro, ele perde tempo e caminha cada vez mais perto para falhar em "cumprir seu cronograma". No jogo propriamente dito não haverá um ponto em que o programador irá finalizar seu projeto, ele apenas testa quanto o programador consegue se manter em ordem com o cronograma de seu trabalho.