Projeto

Terceira aula

No último sábado aconteceu a terceira aula do curso.

Projetos

Na matéria de projetos o Vidal falou sobre diagrama de estados. Deu alguns ótimos exemplos e modelamos um modelo para o Himalaya. Nada muito além disso.

Estou gostando bastante dessa matéria porque estou, finalmente, tendo uma boa visão da UML. Não sei o quanto vou usar isso na prática mas é uma coisa que considero importante aprender.

Técnica de implementação de jogos

Na matéria do Fábio, apresentei o meu primeiro jogo, o Mars Lander. Outros colegas apresentaram seus jogos. Considero que o resultado foi muito bom. A maior parte dos jogos ficou muito boa.

O meu jogo não está um primor, mas para alguém que conhecia pouco de C/C++ e que está se acostumando a um novo paradígma acho que foi um bom resultado.

Os problemas que encontrei no meu projeto foram:

  • Dificuldade de emular gravidade pois em modo texto no Windows o terminal é muito pequeno.
  • Falta de tempo para implementar algumas features que eu queria colocar, como base de pouso móvel.

O Fábio também apresentou a bibliteca Chien 2D. Essa é uma biblioteca da própria PUC e que parece ser promissora. Ainda não tem uma licensa de distribuição e zero de documentação, mas acho que as duas coisas estão sendo providenciadas.

A Chien 2D é feita em cima da SDL e da OpenGL, e tem suporte a boa parte do que é necessário para fazer um jogo. É com ela que vou fazer o meu jogo 2D.

À medida que for tendo mais detalhes da biblioteca e do meu jogo aviso por aqui.

Segunda aula

Hora de falar do segundo dia de aula.

Na aula de projeto o Vidal fez a correção do modelo de casos de uso e também fez uma modelagem proposta para o Himalaya.

Em seguida ele apresentou o diagrama de atividades e deixou como tarefa modelarmos um também para o himalaya.

Não tivemos muita "ação" mas foi bem interessante a aula.

Na segunda matéria, o Fábio mostrou um pouco sobre OO em C++. E deu um help para quem precisava em algumas coisas.

Um ponto interessante da aula foi a explicação do porquê se usa C++ em tantos projetos: porquê era a melhor linguagem na época em que se começou a fazer jogos (leia-se: compiladores melhores).

Na aula também percebi que estava modelando meu jogo errado, segundo um conceito errado que eu tinha imaginado, então estou refazendo uma parte do jogo.

No próximo fim de semana vamos ter aula de novo e vou ter que apresentar meu jogo. Assim que apresentá-lo falo melhor dele, e disponibilizo aqui tanto o jogo quanto screenshots.

Ps.: descobri um bug na biblioteca que o Fábio passou ao se usar o Visual Studio (que tive que usar na faculdade). Depois vou mandar um patch para ele :-p

Primeiras impressões

Uma das propostas desse blog também é relatar um pouco das minhas impressões das aulas que vou tendo na pós graduação. Não sei se vou conseguir manter um relato constante, mas vou tentar.

No último final de semana tive o primeiro encontro com os professores e a turma. Somos um total de 23 alunos (que só Deus sabe quantos irão terminar) de diversas áreas. Como todo curso de computação mulheres são raras, na nossa turma tem apenas uma.

Tive duas aulas, a primeira de Projetos de Jogos e a segunda foi Técnicas de Implementação de Jogos.

Projetos de Jogos

Em Projetos de Jogos vamos trabalhar criando todo o projeto do jogo. Teremos que fazer a modelagem usando UML, documentação etc.

Gostei bastante do professor Vidal Martins. Ele me pareceu dominar bem a matéria e o conteúdo parece ser bem interessante. O ponto ruim disso tudo, para mim, é ter que usar a documentação do RUP que já uso na empresa onde trabalho e sei bem que não é a melhor metodologia.

Como case para essa primeira aula o Vidal levou o jogo Himalaya que eu nunca tinha visto na vida, mas que adorei. Ao contrário do que muitos podem imaginar, esse não é um jogo eletrônico, mas um jogo de tabuleiro muito interessante. É uma pena que não venda no Brasil.

No geral a aula foi muito boa.

Técnicas de Implementação de Jogos

Em Técnicas de Implementação de Jogos tivemos uma aula um pouco diferente do que imagino que será o comum pois o professor dessa matéria é também o coordenador do curso, Fábio Binder. Sendo o coordenador do curso ele gastou boa parte da primeira aula informando coisas pertinentes a todo o curso e não somente à aula dele.

Saímos da aula com uma tarefa prática: fazer nosso primeiro jogo. O jogo será feito em console e usando só textos para desenhar.

Cada aluno escolheu um jogo para implementar e o Fábio avaliou se no prazo é possível. No meu caso eu escolhi um joguinho muito antigo, mas interessante: Lunar Lander.

Esse jogo deve ser entregue dia 7 de novembro de 2009. Já fiz boa parte dele e em breve posto aqui as screenshots. Depois de apresentar na aula vou disponibilizá-lo para Download também.

O ponto fraco dessa matéria, na minha opinião, é focar em uso de tecnologia proprietária como base para o desenvolvimento. O Fábio encorajou o uso do Visual Studio da Mircosoft como IDE. Particularmente vou usar o Code::Blocks que é GPL.

Como tarefa extra depois vou portar meu jogo para Unix também.

No geral essa aula foi bem legal e é nela que estou colocando maior esperança de aprendizado. Não que Projeto de Jogos não seja importante, mas é que me interesso mais por desenvolvimento.

Conclusão

Até agora o curso está dentro do que eu esperava. Estou gostando bastante e estou ansioso pelas aulas seguintes. No próximo final de semana terei aula novamente e, como fiz agora, farei um relato sucinto do que rolou.

Feeds

Feeds de posts

Feeds de comentários