No sábado, dia 19/02/2011, aconteceu aqui em São Paulo mais uma edição do XNA Game Fest, evento que não acontecia há dois anos. O evento, que foi realizado pelo Codificando.net e pelo portal SharpGames, aconteceu nas instalações do FIAP, no bairro da Aclimação.
O evento é destinado a profissionais e estudantes interessados em desenvolvimentos de jogos usando o framework da Microsoft, o XNA. E neste ano, tinha-se assunto para agradar a todos os gostos, divididos em 4 tracks:
Track Basico:
- Desenvolvendo Games em XNA – Ambiente, Projetos e Oportunidades e um Estudo de Caso (Adrian Laubish – AIYRA)
- Integrando Web Games com o Windows 7 via Internet Explorer 9 (Murilo Maciel Curti – Microsoft Brasil)
- Programaçao de jogos com Kinect (Maurício Alegretti – Microsoft MVP, Portal XBox)
- Criando jogos para iPhone/iPad com XNATouch (Jalf – Stairs Game Studio/Sharpgames)
Track Conteúdo:
- Game Design e Educação Física (Roger Tavares e outros – GameCultura)
- Propriedade Intelectual e Jogos Eletrônicos (Bruno S. Drago – ACIGAMES)
- Explorando a UNREAL Engine (Caio Hutter Cipó – Escola SAGA)
- Efeitos e Shaders com XNA (Willians Monteiro – AlphaChannel)
- Game Music – Evolução de Trilhas Sonoras para Games (Thiago Adamo – PixelDJ)
Track Avançado:
- SunBurn Engine para Windows Phone 7 (Pérsio Flexa, Futuron)
- Jogos para Web com XNA e SilverSprite (Alexandre Chohfi – 8D Games)
- Desenvolvimento de Engines para Jogos (Vander Nuner – Imersiva)
- Explorando Paralelismo e Performance com Visual C++ 10 (Fábio Galuppo – Microsoft MVP)
Track Indústria
- A Importância das Associações de Games (Thiago Guarino – IGDA Brasil)
- Serious Games. Um Mercado em Exploração (Kleber Andrade – PontoV)
- Entenda o Varejo dos Games (Marcos Khalil – UZ Games)
- Post-Mortem do Trilinea React, um jogo feito em XNA (Renato Pelizzari – Tendi)
- Post-Mortem de projetos desenvolvidos com Unity3D (Tiago Moraes – OVni Studios)
Sendo que o Track Básico aconteceu no auditório principal, e as demais tracks espalhadas pela sala um andar abaixo do auditório. Também havia um espaço central, em frente ao auditório, onde havia a possibilidade de experimentarmos alguns jogos de desenvolvedores que levaram seus projetos para serem apresentados, com presença em peso do pessoal da escola Saga, aqui de São Paulo, e do Grupo Seven, do Rio de Janeiro, apresentando seus projetos.
[nggallery id=283]
A abertura do evento, para todos ali presentes, aconteceu no auditório, com a discotecagem do Pixel DJ, mesclando vários temas de jogos, que até inicialmente foi legal, até porque você ouve a música e tenta lembrar de que jogo ela é, mas após um tempo, perde a graça e o DJ parecia que não ia parar de tocar.
Após este inicio, para todos ali presentes, aconteceu uma palestra da Acigames (Jogo Justo), onde os seus integrantes estão participando e apoiando muitos eventos de games nacionais. Mostraram o que foi o Dia do Jogo Justo, comentaram sobre o movimento, e para que serve a Acigames. Acho que a grande maioria aqui sabe o que é, e do que estamos falando, mas se você quer saber mais, acesse o site deles: http://www.acigames.com.br/.
Aliás, enquanto rolava a palestra, o tal Pixel DJ, não parava de discotecar, tocando músicas ao fundo enquanto o pessoal da Acigames falava, atrapalhando a audição da palestra.
Seguindo-se a palestra da Acigames, ainda para todos os participantes, tivemos uma palestra da própria Microsoft, que estava ali para falar das oportunidades de desenvolvimento de jogos com o XNA, e suas comunidades de desenvolvimento.
O primeiro ponto a se ressaltar, é que as comunidades de desenvolvimento de jogos da Microsoft agora foram unificadas para um portal único, o http://create.msdn.com, onde temos o desenvolvimento para PC, Xbox 360 e Windows Phone. Também se falou sobre o desenvolvimento de Indie games ainda não estar disponível para o Brasil.
Tem cadastro ali sabe que não podemos pagar a taxa de $99,00 dólares para publicar jogos no Xbox 360, e por a venda na área Indie. Mesmo a Live já ter a sua versão brasileira, isso ainda não está disponível, mas segundo o Galileu Vieira, Gerente de Novas Tecnologias da Microsoft, agora com a Live por aqui, isso está sendo revisto e teremos novidades em breve.
Então, após essas duas apresentações genéricas para todos ali presentes, começaram os tracks específicos, e todos se dirigiram paras as respectivas salas, e quem estava no track básico foi só continuar sentado e esperar o evento começar.
Para o track básico, a primeira palestra foi “Desenvolvendo games em XNA – Ambiente Projetos, Oportunidades e um Estudo de Caso”, feita por Adrian Laubisch, game design e dono da Aiyra.
Esta palestra foi uma grata surpresa, pois não foi nem um pouco técnica, mas mesmo assim foi de uma riqueza sem tamanho. Adrian falou de toda a sua experiência em ser empreendedor e ter criado a Aiyra (http://www.aiyra.com/) e o desenvolvimento de um jogo para o Xbox 360.
Falou de usar o XNA e a Torque Game Engine para produzir seu jogo, o Guardião (que ainda disponibilizou para jogarmos). Falou de se ter um bom método para gerenciamento do time, e como ele adaptou o SCRUM para funcionar com o desenvolvimento de jogos, a qual ele nomeou de “Scrum 4 Games”, e realmente, quem trabalha já com Scrum, sabe que o método funciona, mas não é para o mundo de desenvolvimento de jogos. A adaptação feita se mostrou bem interessante e faz funcionar para este mundo, testado por ele e usado na Aiyra.
Falou também da importância de sermos empreendedores e os desafios de se abrir uma empresa, que acho que a grande maioria de nós sabe que não é um processo fácil, e exige muito esforço, trabalho e dedicação. Mostrou também, que sempre temos que ter um plano B, variar no serviço oferecido, para que possamos manter a empresa viva.
Também citou a importância de ficarmos de olho em Editais do governo, um meio importante para conseguirmos angariar fundos e recursos para levar projetos para frente, e da importância de depois de angariados os fundos, a administração dos mesmos para manter o projeto vivo e ativo.
Também citou a importância dos AdverGames, que muitas vezes são tratados como apenas mais uma peça de marketing do que um jogo em si, o que é um erro. Mostrando os tipos de advergames, como os de marketing direto do produto, marketing indireto, ou mesmo as propagandas dentro de jogos, e nessa ainda valeu uma citação ao Gran Turismo 5. Ainda mostrou como um Advergame pode ser um excelente jogo, inclusive mostrou ótimos exemplos, como o clássico Cool Spot (quem aqui se lembra dele?).
E para finalizar a excelente palestra, ligou um Xbox ao telão e mostrou um dos projetos da Aiyra, o jogo Guardião e chamou o pessoal da plateia para experimentar, e o projeto é bem interessante. É um Coop local, no estilo capture a bandeira, onde cada um dos times, composto por dois jogadores de cada lado, tem que capturar a pilha e levar ao posto de comando, e ainda escapar do guardião, que quer pegar a pilha de volta, e dos outros que querem a pilha para levar a sua base.
Infelizmente não consegui uma imagem boa do jogo, já que não levei a camera digital de mão e ela fez questão de não funcionar adequadamente.
Após essa palestra, tivemos a palestra do Kinect, a grande surpresa do evento, ao menos pra mim. A Palestra Kinect e Natural User Interfaces, com Mauricio Tadeu Alegretti da WebWave Internet, começou como uma palestra normal, com um powerpoint passando ao fundo. Você já via ali no inicio da palestra, um Kinect ligado e sobre uma cadeira no meio do palco.
A palestra em si, não tinha a intenção de mostrar a fundo a ligação do Kinect com um PC, mas tentar abrir a mente de quem estava ali, para uma nova geração de Interface com os usuários. Depois de começar a palestra, a surpresa começou quando um slide com a imagem da cantora Shakira na tela dançando, e o apresentador, com movimentos de levantar o braço direito, começou a avançar os slides da apresentação, com o braço esquerdo levantando, voltava um slide e com um pulo, seria como o comando de um enter no teclado.
Falou-se o Kinect estar começando uma evolução, que começou no CLI (Command Line Interface), que depois evoluiu para o GUI (Graphical User Interface) e agora estamos caminhando para o NUI (Natural User Interface), ou seja, você é a Interface com o sistema, o que configura agora um grande desafio para nós desenvolvedores, game designers, em pensar em novas formas de interagir com os usuários.
Mostrou-se um pouco da evolução dos controles, até chegar a revolução da Nintendo com o Wiimote, e as evoluções que se surgiram a partir disso, com o Playstation Move e o Kinect. E principalmente, a ideia de sair do sedentarismo e se levantar do sofá para jogar e com controles, realmente é mais difícil chegar a essa situação, de se movimentar completamente.
Também falou-se do sucesso do lançamento do aparelho, que já vendeu 8 milhões de unidades pelo mundo. O que é um número expressivo, e uma ótima base de usuários instalada. E como funciona a mágica que faz o Kinect funcionar, onde basicamente temos a cena em questão, a sala ou ambiente com as pessoas que irão interagir, então o aparelho que emite uma luz infravermelho invisível, e lê essa luz de volta e interpreta o que acontece ali, a partir de padrões pré-estabelecidos.
Na palestra não se falou sobre o reconhecimento de áudio do Kinect, que ainda não está disponível nos drivers disponíveis, mas que provavelmente vai estar na SDK oficial. Falou-se apenas do reconhecimento de ambiente e corporal. Inclusive falou-se sobre o driver disponível atualmente, que não é oficial da Microsoft, e sim da Prime Sense, a empresa que desenvolveu o aparelho. Outro ponto importante ressaltado, é não comprar o Kinect junto com o console, se você quer desenvolver ligando o mesmo num PC, somente o Kinect separado vem com o cabo adaptador para ligar no PC. Se você comprar num Bundle, vai ter que ir atrás do cabo, que não é fácil de achar.
Mostrou-se então como o aparelho consegue reconhecer um ser humano e como ele consegue mapear a estrutura do corpo para capturar os movimentos, e sim, o aparelho consegue detectar o ser humano a frente dele, mas ainda não consegue detectar se é homem ou mulher, pois estruturalmente são iguais, então pense nisso ao fazer sua interface.
E para começar a desenvolver para Kinect, precisamos basicamente de três coisas, primeiro são os drivers do aparelho, que podem ser conseguidos no site: https://github.com/avin2/SensorKinect. Com isso, basicamente você já consegue desenvolver, mas vai ter que desbravar tudo na mão. E com esses drivers, temos controles da câmeras do aparelho de maneira completa, mas não temos nenhum controle do áudio. Depois dos drivers, precisamos do Framework de desenvolvimento para Kinect, que vai lhe ajudar e muito no desenvolvimento, que pode ser conseguida em http://www.openni.org/. Processar o mapa de imagem e captura não é simples, com o Kinect, mas com esse framework, você vai ter muita ajuda. Mas lembre-se, ele é um substituto ao SDK oficial, enquanto ele não sai. O bom deste framework, é que ele não é exclusivo do Kinect, ele pode ser usado para qualquer aparelho similar, ou seja, quando as cópias começarem a aparecer, poderão ser usadas também.
Este framework faz muito do trabalho pesado para você, mapeando as pessoas, os esqueletos e te devolvendo essas ações mapeadas. Mas mesmo assim, ainda pode ser difícil desenvolver, por isso ainda temos que colocar um MiddleWare ali para ajudar a mapear essa movimentação e termos eventos na nossa mão, como PrimeSense Nite. Ou seja, com esses três componentes, você vai ter um trabalho facilitado e vai conseguir colocar gestos na sua aplicação.
O MiddleWare faz todo o mapeamento dos eventos do esqueleto para você e de entrega esses eventos de maneira mastigada. Como, por exemplo, trocar o mouse pela mão do usuário na frente do aparelho, mapear a movimentação de braços, corpo, pernas. Mostrou também uma aplicação chamada FAAST, que pode ser baixada e que mapeia movimentos do ser corpo e devolve uma ação, como um clique, um enter, conforme o movimento feito, e que pode ser usado rapidamente na máquina.
Também foi dito da existência de outros MiddleWare, mas apenas a citação da existência deles. E deixando a gente com milhões de ideias para desenvolvimento, e plantando ali uma semente para quem quer desenvolver novos tipos de interfaces.
Para quem quiser acompanhar o trabalho do Alegretti, pode acompanhar nos sites www.portalxbox.com.br e www.alegretti.net.
Depois da excelente palestra do Kinect, tivemos a palestra Integrando Web Games com o Windows 7 via Internet Explorer 9, com Murilo Maciel da Microsoft, que sinceramente, não que tenha sido ruim, mas também totalmente desnecessário, pois parecia muito mais com uma propaganda dos novos recursos do Internet Explorer 9 do que qualquer outra coisa.
Após esta palestra, tivemos uma apresentação de alguém fantasiado de um robô, que me disseram que é da série Halo, e vou lhes dizer, a fantasia estava muito bem feita.
E para finalizar, tivemos a palestra “Criando jogos para iPhone/iPad com .NET”, como Jalf da Sharpgames. Sinceramente, entrei nesta palestra com grandes expectativas e sai totalmente decepcionado, parecia mais uma palestra de como fazer uma gambiarra para rodar o XNA dentro do xCode e rodar num dispositivo com iOS.
Basicamente é baixar a versão do Mono do XnaTouch (http://monogame.codeplex.com/), instalar no xCode no seu ambiente iOS e desenvolver usando as bibliotecas do XNA, portadas para funcionar no iOS. Queria entender qual é a vantagem disso, pois é pesado para compilar, você vai rodar um jogo com o peso de ter o framework inteiro sempre junto, e você vai estar dentro do mundo iOS, então se já estou lá, pra que usar, que vantagem eu ganho, não vi nenhuma, só desvantagens. E nem é uma versão oficial, é um porte da versão para iOS, a única explicação para mim seria a familiaridade com o mundo XNA, ao menos para quem não conhece C e o xCode.
Apesar de um palestra ruim, e uma meia boca, duas palestras excelentes salvaram o sábado e mostraram um ótimo evento, ao menos para quem estava no track básico, e mostraram que esse mercado de desenvolvimento de jogos, está engatinhando e crescendo no Brasil, mas está crescendo e mostrando um pouco de força. Não sei dizer quanto aos outros tracks, mas gostei muito do evento em linhas gerais, e que venham mais eventos como esse para que nós possamos conhecer mais sobre o mercado e sobre desenvolvimento de jogos.