Nestas últimas semanas estamos focados em resolver todos os bugs e ter o demo jogavel até a entrega do trabalho.
Bugs resolvidos:
- Colisão com a caixa
- Caixa libera elementos
- Alguns estados tanto do jogador quanto dos inimigos
- Menu pausa
Bugs à resolver:
- Estado dos inimigos ao atacar
- Verificar a falha que impede o jogador de se movimentar na tela quando realisa o combo
- Novo jogo
- Carregar jogo
O artista da equipe está criando novos inimigos com base nos integrantes do grupo, ao concluir isso, iremos adicioná-los ao demo e seus respectivos sons serão personalizados.
sábado, 1 de dezembro de 2012
sábado, 10 de novembro de 2012
Atualização 10-11
Nessas últimas semanas trabalhamos em:
- Mais estados para o personagem e para os inimigos.
- Arrumar a colisão da caixa (Não completa ainda).
- Criar objetos dentro da caixa, seja qual objeto for (Problema de lógica).
- Cérebro aumenta o HP do jogador.
- Algumas animações foram arrumadas e/ou criadas.
Confira no vídeo abaixo o Gameplay mais recente:
Como pode ver, ainda existem pequenos bugs de estado, colisão, etc; mas até o fim do projeto eles serão solucionados.
- Mais estados para o personagem e para os inimigos.
- Arrumar a colisão da caixa (Não completa ainda).
- Criar objetos dentro da caixa, seja qual objeto for (Problema de lógica).
- Cérebro aumenta o HP do jogador.
- Algumas animações foram arrumadas e/ou criadas.
Confira no vídeo abaixo o Gameplay mais recente:
Como pode ver, ainda existem pequenos bugs de estado, colisão, etc; mas até o fim do projeto eles serão solucionados.
sábado, 27 de outubro de 2012
Atualização 27-10
Nessa semana foram trabalhados os seguintes tópicos:
- Sprites foram remodelados.
- Barra de energia para o novo HUD.
- HUD está sendo melhor implementado, uma melhora tanto na programação quanto na parte gráfica.
- Foram pesquisados novos efeitos sonoros.
- Foi pesquisado também uma maneira de "travar" o personagem na tela e só liberar a partir do momento em que ele mata todos os adversários.
- Colisão com a caixa foi implementada, entretanto um pequeno erro ocorre, a colisão com o topo e a base estão OK, mas a colisão com os lados só ocorre se o jogador estiver na posição 235 do eixo Y.
Obs: A barra de energia da imagem é temporário, na atualização da semana que vem já coloco o novo HUD.
- Sprites foram remodelados.
- Barra de energia para o novo HUD.
- HUD está sendo melhor implementado, uma melhora tanto na programação quanto na parte gráfica.
- Foram pesquisados novos efeitos sonoros.
- Foi pesquisado também uma maneira de "travar" o personagem na tela e só liberar a partir do momento em que ele mata todos os adversários.
- Colisão com a caixa foi implementada, entretanto um pequeno erro ocorre, a colisão com o topo e a base estão OK, mas a colisão com os lados só ocorre se o jogador estiver na posição 235 do eixo Y.
Obs: A barra de energia da imagem é temporário, na atualização da semana que vem já coloco o novo HUD.
sábado, 20 de outubro de 2012
Atualização 20-10
O jogo sofreu algumas (várias) mudanças durante a útima atualização, o novo visual do jogo é a seguinte:
- O cenário sofreu uma boa mudança, assim como o jogador (não todos os estados ainda, mas estão sendo desenhados).
- Os inimigos tem um novo estado, Caindo, ao sofrer um ataque ele cai no chão e logo em seguida (se o HP for maior que 0) levanta para voltar ao combate.
- Foi implementado também a "recompensa" por matar um determinado inimigo, no caso esse da imagem acima, ao eliminar o inimigo ele "dropa" um cérebro, não são todos os inimigos que são capazes de fazer isso, obrigando o jogador a matar todos os adversários.
- Essa caixa da imagem está sendo implementada corretamente, no momento o jogador pode ir batendo nela, alterando seus estados até quebrá-la completamente, mas é possível atravessá-la o que não é desejado. Ainda estou pensando numa maneira de resolver isso.
- O menu de Novo Jogo está funcionando 80%, é necessário ainda arrumar uns pequenos bugs.
- O Parallax foi modificado e está funcionando da maneira desejada.
- O cenário sofreu uma boa mudança, assim como o jogador (não todos os estados ainda, mas estão sendo desenhados).
- Os inimigos tem um novo estado, Caindo, ao sofrer um ataque ele cai no chão e logo em seguida (se o HP for maior que 0) levanta para voltar ao combate.
- Foi implementado também a "recompensa" por matar um determinado inimigo, no caso esse da imagem acima, ao eliminar o inimigo ele "dropa" um cérebro, não são todos os inimigos que são capazes de fazer isso, obrigando o jogador a matar todos os adversários.
- Essa caixa da imagem está sendo implementada corretamente, no momento o jogador pode ir batendo nela, alterando seus estados até quebrá-la completamente, mas é possível atravessá-la o que não é desejado. Ainda estou pensando numa maneira de resolver isso.
- O menu de Novo Jogo está funcionando 80%, é necessário ainda arrumar uns pequenos bugs.
- O Parallax foi modificado e está funcionando da maneira desejada.
sábado, 6 de outubro de 2012
Atualização 06-10
Essa semana foram trabalhados os seguintes tópicos:
- Música para a fase teste.
- Melhora do Save.
- Melhora do Load.
- Melhora no Parallax.
A nova música pode ser baixada aqui: http://www.4shared.com/music/sz2-9a-T/MyMusicAcelerada.html?
A parte do Load deu mais trabalho que o Save, pois era necessário carregar cada valor em binário, inicialmente ele é um STRING, sendo assim é necessário fazer a conversão para INT, FLOAT ou DOUBLE. Feito isso era necessário pegar cada digito separadamente, gravar em um vetor e só depois fazer a conversão para a base 10.
Na parte do Parallax, a novidade é que o personagem agora "trava" no meio da tela, lembrando os jogos mais antigos do Mario.
Por último o Save, antes dessa mudança (conversão para a Base 2) o jogo gravava em um .txt os valores automaticamente, mas agora com a mudança do algoritmo isso não é mais possível, pois com a complexidade do algoritmo caso ele fique rodando a todo Update que a Fase faz, ocorre uma queda brusca na taxa de FPS deixando o jogo muito lento, quase impossível de ser jogado. Para salvar agora, basta pressionar a tecla "S" a qualquer momento do jogo (estamos decidindo ainda se vamos continuar com essa opção ou se vamos implementar no menu).
- Música para a fase teste.
- Melhora do Save.
- Melhora do Load.
- Melhora no Parallax.
- Novo estado para o Inimigo (Caindo)
A nova música pode ser baixada aqui: http://www.4shared.com/music/sz2-9a-T/MyMusicAcelerada.html?
A parte do Load deu mais trabalho que o Save, pois era necessário carregar cada valor em binário, inicialmente ele é um STRING, sendo assim é necessário fazer a conversão para INT, FLOAT ou DOUBLE. Feito isso era necessário pegar cada digito separadamente, gravar em um vetor e só depois fazer a conversão para a base 10.
Na parte do Parallax, a novidade é que o personagem agora "trava" no meio da tela, lembrando os jogos mais antigos do Mario.
Por último o Save, antes dessa mudança (conversão para a Base 2) o jogo gravava em um .txt os valores automaticamente, mas agora com a mudança do algoritmo isso não é mais possível, pois com a complexidade do algoritmo caso ele fique rodando a todo Update que a Fase faz, ocorre uma queda brusca na taxa de FPS deixando o jogo muito lento, quase impossível de ser jogado. Para salvar agora, basta pressionar a tecla "S" a qualquer momento do jogo (estamos decidindo ainda se vamos continuar com essa opção ou se vamos implementar no menu).
sábado, 29 de setembro de 2012
Atualização 29-09
Essa semana não tivemos mudanças bruscas no projeto, algumas pequenas mudanças foram feitas, entre elas:
- Refatoração do código.
- Novo som para o menu, exemplo no link (https://skydrive.live.com/redir?resid=C86ED3485BA3E057!245&authkey=!ACOqxmj-tncF34Q).
- Nova animação para o chefão está sendo finalizada.
- O Save agora está mais complexo, os valores são convertidos para Base 2, dificultando uma possível mudança nele. Entretanto estou tendo alguns problemas no Load devido essa alteração, acredito que até a semana que vem ele já esteja OK.
Caso queira saber mais sobre como é feita a conversão do número na base 10 para base 2 vide o código abaixo:
do
{
Resto = Valor[K] % 2;
q = Valor[K] / 2;
novonumero[i] = Resto;
Valor[K] = q;
i++;
} while (q != 0);
O "K" é o índice do vetor Valor, esse código está dentro de um "for". O Valor deve ser um vetor pois temos vários valores dentro do Save.txt (Posição X, Posição Y, Vida, etc), até daria para fazer uma variável para cada valor, mas isso não ficaria muito "bonito" e o código com o vetor fica muito mais eficiente.
Esse algoritmo serve também para fazer a conversão para outras bases, basta modificar o "2" para a base desejada.
- Refatoração do código.
- Novo som para o menu, exemplo no link (https://skydrive.live.com/redir?resid=C86ED3485BA3E057!245&authkey=!ACOqxmj-tncF34Q).
- Nova animação para o chefão está sendo finalizada.
- O Save agora está mais complexo, os valores são convertidos para Base 2, dificultando uma possível mudança nele. Entretanto estou tendo alguns problemas no Load devido essa alteração, acredito que até a semana que vem ele já esteja OK.
Caso queira saber mais sobre como é feita a conversão do número na base 10 para base 2 vide o código abaixo:
do
{
Resto = Valor[K] % 2;
q = Valor[K] / 2;
novonumero[i] = Resto;
Valor[K] = q;
i++;
} while (q != 0);
O "K" é o índice do vetor Valor, esse código está dentro de um "for". O Valor deve ser um vetor pois temos vários valores dentro do Save.txt (Posição X, Posição Y, Vida, etc), até daria para fazer uma variável para cada valor, mas isso não ficaria muito "bonito" e o código com o vetor fica muito mais eficiente.
Esse algoritmo serve também para fazer a conversão para outras bases, basta modificar o "2" para a base desejada.
sábado, 22 de setembro de 2012
Atualização 22-09
Essa semana foram trabalhados os seguintes tópicos:
- Save.
- Load.
- Novas sprites para animação.
- Melhora no Scrolling de tela.
- Desenhado um novo personagem.
- Código refatorado.
- Implementado uma nova máquina de estados
- Novos estados (Apanhando) para os inimigos.
- Animação no Menu
- Save.
- Load.
- Novas sprites para animação.
- Melhora no Scrolling de tela.
- Desenhado um novo personagem.
- Código refatorado.
- Implementado uma nova máquina de estados
- Novos estados (Apanhando) para os inimigos.
- Animação no Menu
sábado, 15 de setembro de 2012
Atualização 15-09
Essa semana foram trabalhados os seguintes tópicos:
- Adição do menu de pausa.
- Nova interface de menu.
- Adição de Achievements durante a Fase Tutorial.
- Adição de Scrolling na tela.
- Refatoração do código.
- Janela de Instruções para a Fase Tutorial.
O novo Seletor está sendo trabalhado.
- Adição do menu de pausa.
- Nova interface de menu.
- Adição de Achievements durante a Fase Tutorial.
- Adição de Scrolling na tela.
- Refatoração do código.
- Janela de Instruções para a Fase Tutorial.
Novo Menu:
O novo Seletor está sendo trabalhado.
Achievements e Janela de instruções (Está janela é temporária, uma nova será trabalhada pelo artista responsável, só foi implementada para verificar se os efeitos de transição):
sábado, 1 de setembro de 2012
Back in Action!
Voltamos de férias e nesse primeiro mês de atividade algumas coisas foram modificadas/acrescentada ao projeto.
Entre elas:
- Menu com opção de escolher entre (Novo jogo, Carregar Jogo, Opções, Sobre e Sair), a principio somente a primeira opção, o "Sobre" e o "Sair" estão funcionando 100%, as demais serão implementadas ao decorrer do curso.
- Implementação do Som no Menu e correção de bugs nele.
- Implementação do objeto "Cérebro".
- Correção do bug da parte escrita no HUD.
- Refatoração do código.
Entre elas:
- Menu com opção de escolher entre (Novo jogo, Carregar Jogo, Opções, Sobre e Sair), a principio somente a primeira opção, o "Sobre" e o "Sair" estão funcionando 100%, as demais serão implementadas ao decorrer do curso.
- Implementação do Som no Menu e correção de bugs nele.
- Implementação do objeto "Cérebro".
- Correção do bug da parte escrita no HUD.
- Refatoração do código.
Imagem do Menu:
Nesse semana foram pesquisados os tópicos:
- IA
- Save (XML)
quinta-feira, 14 de junho de 2012
Atualização 14-06
O jogo, ao longo desse período, mudou um pouco de cara, quem quiser fazer um teste basta mandar um email para (este) que estarei encaminhando o instalador, por enquanto é uma fase tutorial, mas já mostra qual a ideia do jogo final.
Nessa última atualização foi mudado o cenário devido a aplicação do Parallax, foram acrescentados os efeitos sonoros tanto no menu, quanto na fase e nos personagens.
Estamos satisfeitos com o resultado, pois conseguimos montar a base do jogo, a qual é a parte mais difícil.
Queremos agradecer a todos os professores envolvidos no curso de Design de Jogos Digitais da Universidade Cruzeiro do Sul.
Pretendemos continuar com o projeto nas férias e a cada mudança estarei postando aqui.
Até o 2º semestre,
Abraços, Equipe Zombie Raw.
PS: Ideias e sugestões serão sempre bem-vindas!!
Nessa última atualização foi mudado o cenário devido a aplicação do Parallax, foram acrescentados os efeitos sonoros tanto no menu, quanto na fase e nos personagens.
Estamos satisfeitos com o resultado, pois conseguimos montar a base do jogo, a qual é a parte mais difícil.
Queremos agradecer a todos os professores envolvidos no curso de Design de Jogos Digitais da Universidade Cruzeiro do Sul.
Pretendemos continuar com o projeto nas férias e a cada mudança estarei postando aqui.
Até o 2º semestre,
Abraços, Equipe Zombie Raw.
PS: Ideias e sugestões serão sempre bem-vindas!!
Revision 158
Foram eliminados alguns métodos redundantes do código, a saber:
Get_Colisao_Com_Visao()
Já existe um método que verifica a colisão com o campo de visão, que é o getCollidingCampoVisao()
get_HP()
Já existe um método que retorna o HP do objeto, que é o getHP()
getSomJogador() e a variável booleana tocar_jogador
Se o intuito era verificar se o jogador ainda estava vivo para tocar o som de quando apanha, é mais lógico usar o método já implementado IsDead(). O código fica mais limpo e não precisa dizer para todos os inimigos que o jogador morreu para parar de tocar o som de quando apanha.
Ao invés de: if (tocar_jogador)
É mais intuitivo: if (!jogadorAlvo.IsDead())
variável booleana Inimigo_vivo
Ao invés de: if (Inimigo_Vivo == false)
É mais intuitivo: if (IsDead())
get_Game_Over()
Este método é redundante. No seu lugar, podemos usar uma generalização do método get_Desenhar() para o jogador. Afinal, quando o jogador não puder mais ser desenhado, significa que morreu, e consequentemente será Game Over. Isso permitirá unificar os médotos Update() das classes Jogador, Inimigo01 e Chefao, que estavam separadas só por que usavam variáveis booleanas diferentes. O método ficará na classe pai Personagem e será igual para todos.
Classe Fade
A classe Fade foi excluída do projeto, por não ser mais necessária.
Get_Colisao_Com_Visao()
Já existe um método que verifica a colisão com o campo de visão, que é o getCollidingCampoVisao()
get_HP()
Já existe um método que retorna o HP do objeto, que é o getHP()
getSomJogador() e a variável booleana tocar_jogador
Se o intuito era verificar se o jogador ainda estava vivo para tocar o som de quando apanha, é mais lógico usar o método já implementado IsDead(). O código fica mais limpo e não precisa dizer para todos os inimigos que o jogador morreu para parar de tocar o som de quando apanha.
Ao invés de: if (tocar_jogador)
É mais intuitivo: if (!jogadorAlvo.IsDead())
variável booleana Inimigo_vivo
Ao invés de: if (Inimigo_Vivo == false)
É mais intuitivo: if (IsDead())
get_Game_Over()
Este método é redundante. No seu lugar, podemos usar uma generalização do método get_Desenhar() para o jogador. Afinal, quando o jogador não puder mais ser desenhado, significa que morreu, e consequentemente será Game Over. Isso permitirá unificar os médotos Update() das classes Jogador, Inimigo01 e Chefao, que estavam separadas só por que usavam variáveis booleanas diferentes. O método ficará na classe pai Personagem e será igual para todos.
Classe Fade
A classe Fade foi excluída do projeto, por não ser mais necessária.
quarta-feira, 13 de junho de 2012
Revision 156 e 157
Foi corrigido o BUG que estava impedindo as animações de morte dos inimigos serem desenhadas.
O BUG foi causado durante a implementação da tela You Win. O método que checava a morte impedia que os objetos fossem desenhados na tela assim que o HP ficasse menor que zero.
A solução encontrada foi substituí-lo por um método que já existia no código, que ao invés de checar o HP, checa se ele precisa ser desenhado. (Estado = dead e último frame exibido)
E a outra alteração mais aparente: foram implementadas animações nas telas de menu e de fim de jogo para deixar o projeto mais comercial.
O BUG foi causado durante a implementação da tela You Win. O método que checava a morte impedia que os objetos fossem desenhados na tela assim que o HP ficasse menor que zero.
A solução encontrada foi substituí-lo por um método que já existia no código, que ao invés de checar o HP, checa se ele precisa ser desenhado. (Estado = dead e último frame exibido)
E a outra alteração mais aparente: foram implementadas animações nas telas de menu e de fim de jogo para deixar o projeto mais comercial.
quinta-feira, 31 de maio de 2012
Atualização 31-05
Nesse momento, no que o grupo se comprometeu a fazer nesse semestre, o projeto já está OK, faltando apenas algumas interações com alguns objetos e uma música de fundo.
Acrescentamos uma tela de Menu:
Ao apertar a tecla "Enter" ocorre um efeito de transição e vamos para a tela do jogo.
A classe HP sofreu por algumas alterações e agora está mais genérica, antes dessa mudança todos os personagens perdiam 25 de HP, agora, com essas alterações, o valor é diferente para cara personagem, facilitando bastante para o futuro.
Estamos definindo ainda os sprites dos inimigos e assim que cada inimigo tiver o seu definido eu volto a postar as imagens aqui.
quinta-feira, 17 de maio de 2012
Atualização 17-05
Desde a semana passada, pouca coisa mudou no jogo, foi acrescentado um cenário e melhoradas algumas partes do código que estavam dando alguns bugs na animação, a cara do jogo nesse momento está assim:
Estamos enfrentando alguns problemas na atualização do HP, mas o mesmo deverá ser resolvido essa semana. O HUD também está sendo construído e em algumas semanas já estará implementado.
Estamos enfrentando alguns problemas na atualização do HP, mas o mesmo deverá ser resolvido essa semana. O HUD também está sendo construído e em algumas semanas já estará implementado.
quinta-feira, 10 de maio de 2012
Atualização 10-05
Essa semana o código passou por uma refatoração e as classes estão totalmente separadas e funcionando corretamente, o visual nesse momento está assim:
Foi adicionado um texto para "Debug" assim poderíamos verificar se as variáveis estão funcionando corretamente.
Algumas alterações na animação ocorreram, a animação do ataque ficou assim:
E foi adicionado um inimigo (Inimigo01), o qual é possível ver na primeira imagem (personagem Cinza).
Foi adicionado um texto para "Debug" assim poderíamos verificar se as variáveis estão funcionando corretamente.
Algumas alterações na animação ocorreram, a animação do ataque ficou assim:
A animação da "morte" ficou assim:
E foi adicionado um inimigo (Inimigo01), o qual é possível ver na primeira imagem (personagem Cinza).
terça-feira, 1 de maio de 2012
HP, Colisão, Classes
HP
Essa semana foi implementado o HP, parte visual, no inimigo e no jogador principal. A perda do HP ocorre nas seguintes situações:
- O jogador colide com o inimigo e perde 25.
- O jogador colide com o inimigo, mas está atacando, o inimigo perde 25.
Essa perda é somente visual, ao inicializar o HP, é desenhado na tela -25 na posição atual do objeto e esse valor vai mudando sua posição em Y a cada update em um determinado tempo; ao fim desse tempo o -25 não é mais desenhado na tela.
Colisão
O código da colisão foi melhorado, ao ocorrer a colisão, ele fará a verificação de quem está perdendo HP, o objeto que está perdendo o HP recuará 100 pixels, não importando a posição e ordem dos objetos, por exemplo, se o jogador está sofrendo o ataque ele fará o seguinte calculo:
if (Colisao_Personagem_Inimigo_01 && !Personagem_Esta_Atacando)
{
Pos_Personagem = Jogador_Principal.Position;
if (Personagem_esta_a_esq)
{
Pos_Personagem.X = Pos_Personagem.X - 100;
}
else
{
Pos_Personagem.X = Pos_Personagem.X + 100;
}
Jogador_Principal.Position = Pos_Personagem;
}
Organização das classes
Estamos enfrentando alguns problemas para separar todas as classes, primeiramente o código foi feito todo no Game1.cs, assim era possível testar se o código estava funcionando corretamente. Ao separar as classes encontramos um problema, ele não está atualizando as posições dos "Vector2", por exemplo, na classe IA.cs, o inimigo começa na posição (660, 175) e vai diminuindo em 1, em X, a cada Update, ao chegar na posição (200,175) o inimigo deve aumentar em 1, em X, na classe Game1.cs o código funciona perfeitamente, porém ao fazer a adaptação na classe IA.cs, o inimigo vai diminuindo 1, em X, "eternamente", esse foi o problema principal encontrado e estamos trabalhando para remover esse Bug.
quinta-feira, 19 de abril de 2012
Colisão e IA
Nessa semana foi adicionado ao programa a Colisão entre as partes, o tipo de colisão é a AABB que pode ser vista no código abaixo:
public bool IsColliding(Vector2 posA, Rectangle sizeA, Vector2 posB, Rectangle sizeB)
{
bool is_objA_to_left_of_objB = posA.X + sizeA.Width < posB.X;
bool is_objA_to_right_of_objB = posA.X > posB.X + sizeB.Width;
bool is_objA_above_objB = posA.Y + sizeA.Height < posB.Y;
bool is_objA_below_objB = posA.Y > posB.Y + sizeB.Height;
return !(is_objA_to_left_of_objB || is_objA_to_right_of_objB || is_objA_above_objB || is_objA_below_objB);
}
A IA foi implementada para o Inimigo_01, o inimigo tem um campo de visão, se esse campo não colidir com o Jogador o inimigo segue o seu movimento natural, se ocorre a colisão, o inimigo segue as coordenadas X e Y do Jogador.
Trecho da IA:
if (!Colisao_Personagem_Campo_Visao)
{
if (Pos_Inimigo_01.X >= 200 && Inimigo_01_Andando_Esquerda)
{
Pos_Inimigo_01 = Inimigo_01.Position;
Pos_Inimigo_01.X -= 1;
Inimigo_01.Position = Pos_Inimigo_01;
}
else if (Pos_Inimigo_01.X < 660)
{
Pos_Inimigo_01 = Inimigo_01.Position;
Pos_Inimigo_01.X += 1;
Inimigo_01.Position = Pos_Inimigo_01;
Inimigo_01_Andando_Esquerda = false;
}
if (Pos_Inimigo_01.X >= 660)
{
Inimigo_01_Andando_Esquerda = true;
}
}
public bool IsColliding(Vector2 posA, Rectangle sizeA, Vector2 posB, Rectangle sizeB)
{
bool is_objA_to_left_of_objB = posA.X + sizeA.Width < posB.X;
bool is_objA_to_right_of_objB = posA.X > posB.X + sizeB.Width;
bool is_objA_above_objB = posA.Y + sizeA.Height < posB.Y;
bool is_objA_below_objB = posA.Y > posB.Y + sizeB.Height;
return !(is_objA_to_left_of_objB || is_objA_to_right_of_objB || is_objA_above_objB || is_objA_below_objB);
}
A IA foi implementada para o Inimigo_01, o inimigo tem um campo de visão, se esse campo não colidir com o Jogador o inimigo segue o seu movimento natural, se ocorre a colisão, o inimigo segue as coordenadas X e Y do Jogador.
Trecho da IA:
if (!Colisao_Personagem_Campo_Visao)
{
if (Pos_Inimigo_01.X >= 200 && Inimigo_01_Andando_Esquerda)
{
Pos_Inimigo_01 = Inimigo_01.Position;
Pos_Inimigo_01.X -= 1;
Inimigo_01.Position = Pos_Inimigo_01;
}
else if (Pos_Inimigo_01.X < 660)
{
Pos_Inimigo_01 = Inimigo_01.Position;
Pos_Inimigo_01.X += 1;
Inimigo_01.Position = Pos_Inimigo_01;
Inimigo_01_Andando_Esquerda = false;
}
if (Pos_Inimigo_01.X >= 660)
{
Inimigo_01_Andando_Esquerda = true;
}
}
quinta-feira, 12 de abril de 2012
quinta-feira, 5 de abril de 2012
Teste da animação do Personagem
Após algumas conversas optamos pelo método "Entity" para realizar as animações do jogo, seja do personagem, inimigos, objetos ou até mesmo o Background.
O programa foi todo realizado no Game1.cs, pois os testes seriam mais confiáveis, e os resultados mais próximos do desejado. Não usamos os sprites originais ainda, pois estes ainda estão em desenvolvimento.
Estado "Idle"

Estado "Jump"
O programa foi todo realizado no Game1.cs, pois os testes seriam mais confiáveis, e os resultados mais próximos do desejado. Não usamos os sprites originais ainda, pois estes ainda estão em desenvolvimento.
Estado "Idle"
Estado "Walk"
Estado "Jump"
quarta-feira, 4 de abril de 2012
SVN e parte Gráfica
Enfrentando alguns problemas para continuar com a programação devido à problemas relacionados ao SVN, assim que for resolvido será implementado as outras classes. A parte gráfica já foi iniciada, alguns esboços do personagem foram feitos.
sexta-feira, 23 de março de 2012
Primeiro executável
Depois de algumas reuniões, foram definidas as classes do projeto e como elas iriam interagir ou não. No primeiro executável os objetivos eram:
- Criar a interação, utilizando o teclado (classe Teclado.cs).
- Desenhar o sprite na tela, utilizando a classe Personagem.cs.
- Não "violar rosquinhas".
- Criar a interação, utilizando o teclado (classe Teclado.cs).
- Desenhar o sprite na tela, utilizando a classe Personagem.cs.
- Não "violar rosquinhas".
Assinar:
Comentários (Atom)























