sexta-feira, 23 de novembro de 2007

XNA 2.0

Já faz 4 dias, mas só estou postando agora esta notícia porque estava ocupado fazendo um compilador pra uma disciplina da minha faculdade.

Mas... Saiu a versão 2.0 do XNA! Ainda é um beta, mas a equipe do XNA Team Blog disse que resta pouco pra lançar a versão final.

Pelo que vi, ainda falta alguns recursos que estarão na versão final. Mas a maior parte deles já está implementado no beta. Outra coisa é que a versão 2.0 é compatível com qualquer Visual Studio, seja Professional, Express, ou qualquer outra. Outra ótima notícia é que podemos ter as duas versões, 1.0 e a 2.0, instaladas no computador sem conflito algum! Enfim, tem muitos recursos novos, como a possibilidade de desenvolver jogos multiplayer, e minha opinião é que com essa versão o XNA vai definitivamente decolar.

Apesar de tudo, eu ainda vou continuar com a versão 1.0, pois ainda estou na fase de estudo e não tem pra quê tantos recursos, pelo menos por enquanto. Quando sair a versão final, aí sim será hora de migrar.

Qualquer outra novidade sobre a versão 2.0 estarei postando aqui, incluindo as mudanças que tem que ser feitas nos códigos já feitos (parece que a Microsoft disponibilizará um conversor da versão 1.0 para a 2.0, justamente pra evitar esse trabalho, o que vai ajudar bastante!).

Valeu!

Farseer Physics Engine

A Farseer Physics Engine é um engine de efeitos de física para jogos 2D desenvolvidos em XNA e Silverlight. Parece que ela é bastante fácil de usar, focando na usabilidade, simplicidade, permitindo a criação de jogos bem feitos. Suporta vários tipos de colisão, entre outros recursos. E o melhor: é open-source! O que significa open-source pra mim? Estudar! :)

Enfim, baixei aqui no meu PC e já está na listinha de itens a estudar nas férias :D

Achei uma entrevista do designer da Farseer.

Mais informações no site oficial.

sábado, 17 de novembro de 2007

Meu jogo em XNA - parte 4

Achei bem estranho no início o modo como se imprime textos no jogo feito em XNA. Acha que era algo como

FunçãoImprimirTexto("texto a imprimir");

Será que não sou amante de C? Ainda bem que não é a assim :D

O processo é semelhante a colocar um objeto na tela. Nos meus estudos de XNA, fazendo meu joguinho Shooter, queria imprimir algum texto na tela, não porque é importante ao jogo, mas para o estudo mesmo. Por exemplo, quando clicamos sobre a nave, eu queria que um texto fosse impresso na tela ("mouse colidiu com nave"). Além do estudo de XNA em si, é importante eu saber que o mouse está interagindo de alguma forma com o objeto nave (ou ET, o alvo) para posteriormente eu, quem sabe, desenvolver o recurso de seleção de objetos (como num jogo de estratégia, onde clicamos numa unidade e dizemos aonde queremos que ela vá).

Enfim, além do exemplo do meu joguinho Shooter, o tutorial How to Print Simple Text onto the Screen explica muito bem essa parte. Boa leitura!

Mais sobre meu joguinho: estive comentando o código e disponibilizarei em breve...

XNA 2.0 chegando em breve...

Saiu no XNA Team Blog que a versão 2.0 do framework XNA chegará em breve. Pelo que eu li, primeiro a Microsfot irá soltar uma versão beta que só poderá desenvolver jogos para Windows (XBox por enquanto não). As características completas da versão 2.0 você pode ver aqui, mas posto aqui as que eu gostei, como por exemplo, a possibilidade de criar jogos multiplayer, pois o framework disponibilizará uma API para comunicação em rede, uma atualização na ferramenta XACT (eu tenho pouca experiência em criar audio pra jogos, mas já vi que tem alguns bugs), Windows Forms, entre muitas outras!

Enfim, vamos torcer pra sair logo e quando sair, que saia bem!

quinta-feira, 8 de novembro de 2007

Meu jogo em XNA - Parte 3

As texturas são parte fundamental de um jogo. Não preciso explicar porquê, né? Coloco aqui as texturas do Shooter, meu joguinho que estou fazendo para estudar XNA.

Nave principal

Alvo principal (me arranjem uma figura melhor!)

Background (textura de fundo)

Míssel

Para salvar no seu computador, clique nelas para abri-las no tamanho original, e só depois salve.

Claro que você pode ter suas próprias texturas. Basta fazer as mudanças necessárias para usá-las.

Nos próximos posts estarei falando sobre a parte do Audio em XNA que estudei esta semana. Antes de explicar o audio, porém, talvez eu explique cada classe que criei. Eu disse talvez porque não tenho uma sequência pronta do que postar. Vou fazendo em "tempo real". Aceito sugestões. Só no fim que postarei o código.

quarta-feira, 7 de novembro de 2007

C# a partir de uma perspectiva Java

Dare Obasanjo fez uma comparação muito boa entre C# e Java. Isso é bastante útil para quem está programando nessas duas linguagens ao mesmo tempo (coisa de estudante mesmo...). Clique aqui para acessar "A Comparison of Microsfot´s C# Programming Language to Sun Microsystems´Java Programming Language".

terça-feira, 6 de novembro de 2007

II Microsoft XNA Challenge Brasil

Acabou de ser anunciado o II Microsoft XNA Challenge. Este ano o tema é “Meio Ambiente Sustentável”. O ganhador deste ano participará do Microsoft Academic Days on Game Development in Computer Science Education (http://www.microsoft4me.com/faculty/events/adgd2008/), evento acadêmico sobre o desenvolvimento de jogos em cursos de Ciência da Computação que será realizado a bordo do Celebry Century, num cruzeiro marítimo saindo de Miami, nos EUA com destino a Port Key e Cozumel, com as despesas de transporte e hospedagem totalmente pagas. Muito bom, né? Pena que não vou participar, pois meu conhecimento ainda é pequeno em XNA.

domingo, 4 de novembro de 2007

The Road Not Taken

Um dos principais conceitos envolvidos no desenvolvimento de jogos é a colisão. Há várias maneiras de se tratar colisões em XNA, como a colisão por retângulos e por pixel. The Road Not Taken é um tutorial passo-a-passo que explica colisões por cores. Mas, hein? Colisão por cores é quando um objeto não pode ficar junto (ou separado) de uma cor. Não sei se deu pra entender. Mas no exemplo desse tutorial isso funciona muito bem, pois quando o carrinho sai da cor cinza, ele "colide". Enfim, boa leitura! :)

sábado, 3 de novembro de 2007

Microsoft Net Cell 2.0

Saiu o site de gerenciamento das Células Acadêmicas prometido pela Microsoft - o Microsoft Net Cell 2.0. Acesse-o para cadastrar sua célula e começar a gerenciar as atividades dela.

Pra quem ainda não sabe o que é uma Célula Acadêmica, coloco aqui um trecho retirado do FAQ do site:

"Uma Célula é um grupo de estudo formado por estudantes e professores, unidos em torno do objetivo comum de desenvolver, aprender e alavancar suas carreiras de uma maneira eficaz. Mais que simples grupos de estudo, as Células oferecem uma oportunidade única de aprender ou de reforçar conceitos e técnicas que são exigidas no mercado de trabalho, que já dão valor às Células e os profissionais que nelas são formados. As Células recebem a assessoria direta da Microsoft mediante recursos acadêmicos online, programas acadêmicos, competições e outros guias."

Até mais!

Refração em XNA

Um tutorial foi lançado estes dias por Nick Gravelyn sobre o efeito de refração em sprites 2D em XNA. Refração é o desvio da trajetória da luz. Por exemplo, quando a luz passa por um vidro, lente de óculos, água ou até uma superfície quente. Isso é bastante útil em muitos jogos.

Acesse aqui o tutorial e boa leitura.

sexta-feira, 2 de novembro de 2007

Cops and Robbers

Cops and Robbers é um joguinho relativamente simples. Relativamente porque ele é bem simples ao ponto de você jogar e dizer: que jogo inútil! Mas, por outro lado, ele é muitíssimo útil para aprender alguns conceitos de programação de jogos em XNA :D

Na XCell, célula acadêmica da Microsoft na qual faço parte, foi decidido na última reunião os pontos-chave para desenvolvermos um joguinho do mesmo nível que sirva futuramente (o mais breve possível) para darmos um curso de extensão sobre jogos na universidade. Não vou entrar em detalhes agora (a XCell terá uma página em breve com todos os detalhes), mas a primeira das etapas é estudarmos alguns conceitos, e é aí onde pode entrar esse joguinho. Eu disse pode, porque de repente eu acho outro melhor.

Bem, os conceitos basicamente foram divididos em três partes: telas (como tela do jogo, menus, etc.), audio e a lógica do jogo. Eu, por enquanto, vou estudar a parte do audio e esse joguinho me parece ótimo pra começar! Ele possui som ambiente e sons eventuais (quando algum evento acontece no jogo).

É isso, espero que essa parte não me dê muito trabalho. Não sei de nada de audio por enquanto, mas quero logo resolver isso pra poder ajudar o amigo que ficou com a lógica do jogo, beeem mais interessante :)

Bibliotecas de XNA

A biblioteca XNA Post Processing Library é uma biblioteca para pós-processamento em imagens, escrita em C# para XNA por um tal de Mahdi Khodadadi Fard. Apesar de está ainda em desenvolvimento, já faz um monte de coisas, como por exemplo, o efeito de "ondas de choque", que talvez seja útil para a XCell (célula acadêmica da Microsoft a qual faço parte).

O mesmo Mahdi Khodadadi Fard lançou também a XNA Gif Animation Library, também escrita em C# para XNA, que facilita o gerenciamento de Gifs (imagens animadas). Um exemplo do uso de um gif, que talvez seja útil a XCell, pode ser um objeto explodindo, como um asteróide, onde você tem uma única imagem já com toda a sequência de movimentos (a explosão em si), e a carrega num momento oportuno.

Segundo o autor, as bibliotecas (muito melhor falar libs) têm como objetivo tornar o uso do poder gráfico da GPU - unidade gráfica de processamento - mais fácil e intuitivo.

Tutorial simples sobre POO

Como o paradigma de programação orientada à objetos (POO) é muitíssimo importante para a criação de jogos em XNA, aqui vai um tutorial bem simples, hospedado no GdH, e que achei legal :)

Tenho lido o livro Use a Cabeça! Java e ele tem se mostrado o melhor livro de POO que já vi. Apesar dele ensinar POO em Java, os conceitos de POO em C# são idênticos!

quinta-feira, 1 de novembro de 2007

Livros para download

Olá...

Neste link há alguns livros de computação disponíveis gratuitamente para download :D

Há livros de C, C#, Python, Lisp, etc... Vejam lá!

Há também outros links acessíveis a partir desta página:

Business-Software-Books.us
CAD-CAM-Books.us
Computer-Books.us
Database-Books.us
Java-Books.us
Linux-Books.us

Vamos aproiveitar! Valeu!