| Profilo di AndreFurtaSpace - www.afurtad...FotoBlogElenchi | Guida |
|
30 settembre Windows Partners Day
Um interessante roadshow sobre o Windows e tecnologias relacionadas irá acontecer em algumas cidades do Brasil em outubro. Trata-se do Windows Partners Day, que rodará por Belo Horizonte, Rio de Janeiro, Porto Alegre e São Paulo (estamos tentando trazer uma edição informal do evento para Recife, via SharpShooters). Em especial, destaco que nesse evento palestrarão membros do projeto Partec-MyTV, do qual faço parte, sobre Windows Media Center (WMC). Será abordada tanto uma visão de negócios do WMC (mudando o paradigma teclado + monitor para o paradigma TV + controle remoto) como o desenvolvimento de aplicações para o WMC, utilizando a MCML (Media Center Markup Language). Aliás, desenvolvimento com MCML foi assunto do último post do Carlos Rodrigues (Kadu), em seu recém-criado blog no Live Spaces. Compareçam, esse é um daqueles eventos em que você sai quebrando os velhos paradigmas! []s 27 settembre Unificando frames de animações para seus jogos
Confira meu post no SharpGames sobre o Image Klebor, ferramenta que junta, em apenas um único arquivo de imagem, frames de animação espalhados em vários arquivos distintos. Uma mão na roda e tanto para consumir game engines que só suportam animações a partir de texturas assim! []s 25 settembre Links e notícias interessantes do mercado de jogos e game design
Ao pessoal do mundo dos games, compartilho links de alguns fatos e notícias pelas quais passei recentemente:
[]s Wow! Soapbox integrado ao MSN Video Beta
Bela surpresa no Soapbox, o portal de vídeos da Microsoft: o site foi integrado ao MSN Video Beta! Uma mudança perceptível logo de cara é que o usuário não está mais limitado ao tradicional "user-generated content": o cardápio foi expandido para contemplar vídeos da National Geographic, NBC, ABC e outros canais de conteúdo especializado, agrupados em diferentes tópicos: esportes, celebridades, automóveis, etc. A interface abaixo mostra que o user-generated content (Soapbox User Videos, que agrupa o item "My Soapbox") agora é apenas mais uma aba ao lado das várias opções oferecidas. Em troca da oferta de tal conteúdo, uma propaganda de 15 a 30 segundos aparece antes da exibição do vídeo selecionado, junto com um pop-up (ou seria roll-up, ou melhor, roll-left?) que se recolhe educadamente após os segundos da propaganda. Um pequeno banner abaixo do vídeo que permite exibir ou esconder o roll-left. Os vídeos dos usuários continuam aparecendo na página principal do site. Vídeos de usuários não possuem propaganda antes, mas às vezes depois. Nas buscas, a divisão também acontece: há os MSN Video Results e o Soapbox User Videos Results. Não é possível embutir os vídeos que não são de usuário. Também não é possível comentar ou realizar algumas outras ações "de comunidade" em tais vídeos. Conclusão: seguindo tendências naturais, o Soapbox evoluiu. A sensação maior que eu tenho é que agora há uma maior utilidade para o portal. Vai ser uma questão de tempo para que um pouco de inteligência seja adicionada do processo, havendo a sugestão de vídeos cujo conteúdo casa com meu perfil. Por fim, pessoalmente não me importo com 15 segundos de propaganda para ter tanto conteúdo assim de graça. Termino o post com o teaser fantástico do Halo 3, que foi apresentado no XNA Game Fest Brasil. []s 20 settembre Celular? É Claro que você vai ter dor de cabeça.
Não gosto de falar mal de ninguém, seja de pessoas ou empresas, ainda menos em público. Mas tudo tem limite. Quando aquilo que você suspeitava ser apenas incompetência da empresa torna-se uma desconfiança de má fé, então só indo a público mesmo para, pelo menos, alertar a outros dos perigos que rondam nossos bolsos e paciência. Sou (era?) usuário da Claro há uns 6 ou 7 anos. O conceito que eu construí sobre essa empresa (meu, pessoal, viva a diversidade de opiniões!) é que essa é uma empresa das entrelinhas, do empurra-empurra, que sempre encontra uma maneira de obter vantagem de clientes em qualquer negociação. Vejamos alguns fatos:
Agora, vamos para a gota d'água: imagine que você vai fazer recarga no seu celular pré-pago. Na página de recarga, após colocar informações de cartão de crédito, aparelho, etc., aparecem os possíveis valores para recarga: Escolho a opção de R$5,00. A coisa já começa errada porque o site não diz se o bônus tem ou não validade também. Se brincar, deve ter metade da validade, escrito em alguma entrelinha. Quando a compra é efetuada, vem a surpresa: chega um SMS dizendo que estou com um bônus de R$9,00... em TORPEDOS! Quando diabos eu pedi para comprar torpedo? Eu quero é recarregar meu celular! Aí eu navego novamente por todas as telas da compra, até que eu encontro a seguinte: Observem a penúltima linha, que fala sobre uma tal de Recarga de Torpedo no valor de R$5,00. OK, existe uma recarga para torpedos que vale R$5,00. Mas e eu com isso? Eu cliquei no link 3 parágrafos acima, que fala da RECARGA apenas, nada mais. E nas opções da RECARGA (apenas, nada mais) não é falado nada sobre a tal recarga de torpedo. Uma coisa é eles falarem que existe uma recarga de torpedo que custa R$5,00. Outra coisa é dizerem que "toda recarga de R$5,00 implica em uma recarga de torpedo". E isso não está dito em lugar algum (ou, talvez, nas obscuridades de mais algum contrato do além). Qual o motivo disso? A venda da promoção da recarga de torpedo está baixa então eles camuflam a mesma no site de recarga "genérica"? Ou foi apenas incompetência mesmo de quem fez o site? E como pode isso não passar por um processo de revisão, de validação, de solicitar a opinião de um usuário/cliente que seja? (que, por acaso, PAGA pelos serviços da empresa) É mais fácil o contrário: eles sabem que o usuário em busca instruções de recarga clica no link de recarga logo que encontra o mesmo (imagem acima), sendo presa fácil para a armadilha montada. O pior de tudo é o atendimento da empresa não ser capacitado para entender que essa crítica poderia, no mínimo, ser útil para fazer uma simples mudança do site e não chatear mais usuários. Infelizmente, eles estão mais preocupados em defender com unhas, dentes e ironia os R$9,00 que acabaram de extrair de um usuário desavisado. Triste tudo isso, ver o jeito como está a qualidade de um serviço tão essencial ao crescimento de um país como são as telecomunicações. Se você continuou lendo até aqui e tem histórias similares com essa empresa, peço que relate nos comentários abaixo, ou peça para amigos relatarem. Pelo menos saberei que não sou o único. []s 19 settembre Artigo para decolar no DSL Tools
Aos que desejam iniciar e se aprofundar no mundo das Domain-Specific Languages e do DSL Tools, foi publicado no Linha de Código meu artigo que mostra o caminho das pedras para tal jornada. Nesse post aqui, feito há poucos dias, dou uma geral no que seriam DSLs e qual a utilidade prática da coisa. O artigo cobre isso e todo o resto. Obs: a parte 2 sobre o webcast de DSL Tools será dia 26 desse mês, às 17:30, e já pode ser agendada aqui. A parte 1 focou nos conceitos introdutórios e uma explanação geral do DSL Tools, devendo estar em muito breve no Media Center do MSDN Brasil. []s Vídeos Space War Mission Commando + dúvida no reconhecimento de voz
Aos que não sabem, estão no Soapbox os vídeos (em português e em inglês) que apresentam o Space War Mission Commando, minha submissão vencedora do primeiro XNA Challenge Brazil, que estende o Space War starter kit original ao utilizar comandos de voz para comandar um esquadrão aliado e completar missões. Ao invocar comandos de voz como "move" e "spin" às naves aliadas Alpha e Delta, é necessário completar o comando informando via joystick a direção para a qual se deseja mover ou girar as naves. Fizeram-me uma pergunta bem pertinente sobre isso: "Porque você não usou parâmetros de voz para os comandos de Alpha e Beta (por exemplo, "move to blue" e "spin up") ao invés de ter que apertar botões no controle para passar os parâmetros?" A resposta é simples: ao se aumentar o vocabulário do reconhecimento de voz, ele começa a perder em precisão. Por exemplo, "move up" poderia ser confundido com "move alpha". Tal problema poderia ser resolvido implementando uma lógica para comandos homônimos, ou treinando o sistema operacional com minha voz, para ele ficar cada vez mais preciso. Entretanto, como eu não tinha tempo e não gostaria de nenhuma configuração prévia antes da utilização do jogo, optei por completar (ou parametrizar) os comandos de voz com comandos do joystick. No caso, após os comandos move e spin, é necessário informar via D-pad (direcional digital do Xbox controller) qual a direção desejada. []s -- AFurtado 18 settembre Sucesso no XNA Game Fest Brasil + Download do webcast de introdução ao XNA
A imagem dos 1000 presentes abaixo fala mais do que 1000 palavras sobre o sucesso do XNA Game Fest Brasil: Não havia mais espaço, o pessoal se amontoou nas laterais, ao fundo e à frente do auditório para saber mais desse universo de desenvolvimento de games com tecnologias Microsoft. Houve 7 representantes da imprensa no local (como o pessoal da Game Cultura e PlayTV), quase 800 kg de alimentos arrecadados, 11 apoiadores (entre eles o SharpGames) e 15 palestras. Entre elas, a minha, em que fiquei muito satisfeito de conversar com um público tão animado para desenvolver jogos. Mostrei as oportunidades que o XNA me trouxe (XNA Challenge Brasil, Academic Days on Game Development, Desafio XNA 4x4 na Game Developers Conference) e os jogos desenvolvidos (Space War Mission Commando e o AbduX). Foi bem satisfatório ver que a chama de desenvolvimento de jogos está firme e forte no Brasil! Em tempo, meu webcast de introdução ao XNA, realizado no final de agosto, se encontra com link direto para download aqui, no SharpGames. []s 14 settembre Rumo ao XNA Game Fest BrasilAmanhã acontece em São Paulo um dos eventos mais importantes para desenvolvedores de jogos no Brasil, em especial aos amantes da tecnologia XNA. Trata-se do XNA Game Fest Brasil.
O número de inscritos superou a expectativa e demandou a criação de um novo track, específico para game design. Haverá portanto 3 tracks simultâneos: básico/acadêmico, profissional e game design.
Irei participar do evento, palestrando no keynote principal na abertura, pela manhã, junto com o Amintas e o Galileu, da Microsoft.
Aos que participarão, até sábado! Aos que não, aguardem novidades.
[]s
-- AFurtado 13 settembre XNA Workshop 2.0 no SharpGames!Cinco meses depois, está o ar o segundo release de meu XNA Workshop no SharpGames!
São cerca de 130 slides (em português) e referências para código-fonte, vídeos e outros recursos que justificam, introduzem, explicam e demonstram na prática o XNA.
O workshop deve ser utilizado tanto por replicadores da tecnologia XNA quanto por aqueles que desejem se capacitar em geral.
Registro aqui meus agradecimentos ao Jalf e ao Bruno Evangelista pelo apoio na criação dessa segunda versão do workshop. Solicito a todos feedback e contribuições para que possamos continuar evoluindo o material e disseminar o uso do XNA em nossa comunidade.
Favor repassar aos interessados e bom proveito!
[]s
-- AFurtado 12 settembre Trivent Dreams (Imagine Cup) é capa da Codificando .NET e-Magazine
Num dia em que o senado deste país causou novamente vergonha de ser brasileiro (ladrão que absolve ladrão tem 100 anos de perdão?), uma notícia para relembrar que (ainda) tem gente se esforçando para melhorar a imagem do brasil (hoje com letra minúscula mesmo) lá fora: a revista online Codificando .NET e-Magazine publicou em sua edição número 3 um especial sobre a conquista brasileira da Imagine Cup Korea 2007. Faça o download da revista aqui. Em tempo, a imagem a que eu me refiro na minha entrevista, da barraquinha com espetinho (de cachorro?), que terminou não saindo, segue abaixo: Alguém que fale coreano sabe traduzir o cartaz? Será que está escrito "Fora Renan"? []s Webcast sobre DSL Tools em setembro'07. Mas o que é DSL??
A Microsoft fará uma série de webcasts sobre DSL Tools a partir desse mês. O primeiro deles já está agendado: DSL Tools - Parte 1, quarta-feira, 19 de setembro de 2007 às 17:30. O descritivo do webcast revela que ele complementará um webcast que apresentei há alguns meses sobre o mesmo tema, que você pode procurar e baixar no MSDN Brasil Media Center. Mas o que é uma DSL? O acrônimo quer dizer "domain-specific language", ou linguagem de domínio específico. Ao contrário de uma linguagem de propósito geral, como C# ou Java, que pode implementar "qualquer coisa", uma DSL está restrita um domínio (como jogos, tele-medicina, e-business, arquitetura de servidores ou de componentes, etc.). Por exemplo, HTML é uma DSL cujo domínio é a formatação de conteúdo web. SQL, por outro lado, também é uma DSL, focada em consulta e manipulação de dados armazenados em bancos de dados. Enquanto HTML e SQL são DSLs textuais, existem DSLs visuais também. Por exemplo, o próprio Class Designer do Visual Studio apresenta uma DSL visual, restrito ao domínio de modelagem de tipos de dados orientados a objeto (classes, interfaces, etc.). DSLs possuem escopo bem menor do que uma linguagem de propósito geral. De fato, programar um jogo em SQL soaria no mínimo como masoquismo. Contudo, uma vez em seu domínio, uma DSL é mais poderosa do que uma linguagem de propósito geral, pois ela tem poder de expressão e abstração mais fortes para lidar com os conceitos e relacionamentos do domínio. O DSL Tools é, em linhas gerais, um plugin do VS.NET que permite a modelagem de linguagens de domínio específico visuais. A figura abaixo mostra um exemplo que eu desenvolvi considerando, como domínio-alvo, jogos do tipo quiz (quiz games). Clique para expandir. Do lado esquerdo, você especifica os conceito do domínio (jogo, quiz, alternativa, dica, etc.) e o relacionamento entre eles. No lado direito, você define como esses conceitos e relacionamentos serão apresentados visualmente (na forma de imagens, figuras geométricas, compartimentos, etc.) para quem estiver consumindo a DSL. A próxima imagem mostra agora alguém consumindo a DSL, já embutida no VS.NET, especificada no passo anterior. Como professor assistente da disciplina de Projeto de Compiladores da UFPE, solicitei aos alunos que construíssem DSLs para a criação de jogos de aventura. Alguns resultados legais são exibidos abaixo: E pra que serve isso, além de uma documentação mais bonitinha? Uma das partes mais interessantes do DSL Tools é que você pode estar associando geradores de código a sua DSL. Dessa forma, o diagrama acima modelado pode ser usado como input para um gerador que fará todo o trabalho braçal de convertê-lo em uma aplicação de verdade, seja Windows Forms, Web ou mobile. Uma vez que você implemente o gerador de código, você terá uma automação bastante bem-vinda para a criação de infinitas aplicações do domínio (no caso, quiz games). Isso está super-alinhado com o conceito de Software Factories, ou fábricas de software. Por exemplo, criei no meu mestrado a fábrica de software SharpLudus para o desenvolvimento de jogos, focada no domínio de jogos 2D do tipo adventure, como os mostrados abaixo: No doutorado, estou justamente abstraindo um processo para auxiliar a criação de novas fábricas, além de portar as fábricas criadas para o XNA. Mas isso é assunto para outro post... []s [XNA] Artigo sobre alpha-blending e transparência + Festival de Jogos Independentes
Em mais um artigo publicado no SharpGames, discuto como fazer para lidar com transparência e opacidade de texturas bidimensionais e primitivas gráficas (2D ou 3D) no XNA. Confira: Realizando alpha blending - ou transparência - em texturas e primitivas gráficas do XNA. Também postei na seção de notícias do SharpGames sobre o Festival de Jogos Independentes que acontecerá no SBGames 2007. Oportunidade única para mostrar talento no XNA. Participe! PS: esse é meu primeiro post utilizando o Windows Live Writer, vamos ver se dá certo! []s 10 settembre Tecnologias para ficar boquiabertoDois vídeos que me impressionaram bastante esta noite:
Criação de vida selvagem artificial, que resistente até a tempestades:
Algoritmo de redimensionamento de imagens sensível ao conteúdo:
Esse site traz muita coisa interessante (ou não) do tipo: http://www.ohgizmo.com/.
[]s
-- AFurtado Consumindo game components no XNANovo artigo que publiquei no SharpGames introduz os XNA game components e mostra como consumi-los, através de um exemplo de componente que exibe a quantidade de vidas do personagem de um jogo:
Um dois maiores benefícios trazidos pelo XNA ao desenvolvimento de jogos consiste no reuso. Estimulando essa boa prática da engenharia de software, o XNA provê facilidades para a criação e compartilhamento de componentes (game components) entre desenvolvedores.
Por “game component” entende-se algum elemento ou funcionalidade reusável, provavelmente criada por um terceiro, que pode ser facilmente plugada ao seu jogo. Por exemplo, alguém pode ter criado um componente que é uma espécie de “câmera” para simular o efeito de um terremoto no jogo. Ao adicionar esse componente no jogo e habilitá-lo, toda a tela do jogo fica tremendo.
Leia o artigo completo clicando aqui.
[]s
-- AFurtado 08 settembre Novidades XNA: artigo para som em loop + jogos Dream Build PlayPubliquei mais um artigo no SharpGames, ensinando a tocar sons em loop em jogos XNA:
Em muitos jogos digitais, é comum a necessidade de tocar um mesmo som de maneira repetida, ou em loop. Em outras palavras, quando o som termina de ser tocado, ele é reproduzido novamente, automaticamente. O exemplo mais comum são as músicas de fundo (de uma fase) do jogo. Este breve artigo explica como fazer para que um certo arquivo de som (.wav) seja tocado em loop.
Confira o artigo completo aqui.
Enquanto isso, o Michael Klucher (XNA Team - Microsoft), postou no Soapbox um video montage com os jogos XNA finalistas da competição Dream Build Play, que tomo a liberdade de reproduzir abaixo. Uma bela vitrine do que o XNA é capaz!
Por fim, anotem o que eu digo (ou melhor, escrevo): EUA, Reino Unido, França, China e Suécia estão mandando muito bem nas competições de jogos XNA pelo mundo afora e são sérios candidatos aos troféus da nova categoria de games da Imagine Cup France 2008. Abre o olho, Brasil!
[]s -- AFurtado 06 settembre Hello, World!Bem-vindos ao meu novo espaço!
A mudança para esta nova casa é também simbólica e representa o início do fim do foco acadêmico em minha vida, que vai deixar saudades. Continuo com atividades acadêmicas através do doutorado no CIn-UFPE, claro, porém a partir de agora pretendo seguir uma linha com pilares mais técnicos (XNA, DSLs, Software Factories e Engineering em geral, etc.) e de mercado (tendências, análises, empregos, empreendedorismo, etc.). Não que já não tratasse de tópicos como esses antes, mas agora torno oficial essa mudança de foco, já visando o início de um novo período em janeiro, quando começarei na Microsoft Corp, em Redmond/EUA.
Em homenagem a tudo o que foi vivido até então, devidamente registrado em meu já saudoso blog no TheSpoke, fica aqui o vídeo "A Microsoft-empowered journey", que trata de minha trajetória até aqui. Adoraria ter postado tal vídeo no Soapbox, porém não foi possível devido a questões de copyright com a música de fundo (lembro que esse é um vídeo sem fins comerciais...). Aos que quiserem baixar o vídeo em (bem) melhor qualidade, ele está disponível aqui.
Mais uma vez, bem-vindos, e sigamos juntos rumo ao futuro!
PS: agora não tem mais desculpa para não comentar porque não tem conta no TheSpoke! :) []s
-- AFurtado |
|
|