Arquivo da Categoria ‘Tecnologia’

Feito em Casa - As Plataformas de Desenvolvimento

quinta-feira, 26 de junho de 2008

Os Jogos “caseiros” e outros aplicativos que são criados para serem utilizados em plataformas de portáteis ou vídeo-games são conhecidos como Homebrews. A idéia da coluna fazendo em casa é com nossas conversas semanais, dar dicas e passar conceitos importantes para que você leitor, seja capaz de criar seus próprios homebrews para sua plataforma game favorita.

Dando seguimento a coluna, hoje vamos destrinchar um pouco mais as plataformas indo ao nível de desenvolvimento. Vou descrever um pouco de cada uma para que vocês leitores da coluna decidam em que plataforma vamos desenvolver nosso protótipo de jogo. Na coluna passada citei que as três principais plataformas para construção de jogos hoje em dia são a PC, celular e Vídeo-Game, então vou explicar como podemos iniciar nosso desenvolvimento para cada uma delas e o que vamos precisar para isso.

Primeiro um conceito importante,é que para programar precisamos no mínimo de um compilador e um editor (até o notepad serve), mas existe algo chamado IDE (Integrated Development Environment ou Ambiente Integrado de Desenvolvimento) que permite não só como diz o nome, integrar compilação e edição de código, como tem funcionalidades que dão apoio ao desenvolvimento como verificação de sintaxe de linguagens de programação, indicação de erros, entre outros. Uma das desvantagens das IDEs é que elas podem consumir muito dos recursos do computador e as vezes precisamos de máquinas razoáveis para poder utilizá-las. Mas uma IDE facilita muito o nosso trabalho “braçal” de desenvolvimento e para cada plataforma de desenvolvimento abaixo eu também comentarei sobre IDEs que podem ser utilizadas.

Iniciando a descrição das plataformas, vou iniciar pelo PC, que é uma das plataformas mais democráticas para construção de jogos. Existem inúmeras bibliotecas que podem ser usadas para criar abstrações (olha essa palavrinha mágica de novo aqui) que permitem criar jogos sem precisar conhecer um nível muito grande de detalhes de como o os componentes eletrônicos realizam as tarefas, além do uso de diversas linguagens de programação. No caso dos PCs temos o desafio das placas de vídeo e som, já que podemos utilizar vários modelos de diversos fabricantes, por isso o uso de um conjunto de funcionalidades padrão se torna muito importante. Para resolver esse problema uma das bibliotecas, conjuntos de funcionalidades, mais utilizada é o DirectX que permite com que o desenvolvedor faça o seu jogo e ele seja compatível com diferentes tipos de placas de vídeo e som.

Ultimamente uma plataforma de desenvolvimento interessante é a XNA da Microsoft, ela permite que se crie jogos que possam rodar tanto em PC quanto em Xbox 360. Ela utiliza c# como linguagem de programação e se integra ao o Visual Studio (uma IDE paga, mas que existe uma versão sem tantos recursos que pode ser utilizada de forma gratuita). Devido as inúmeras funcionalidades que a plataforma XNA têm e sua dupla utilização PC e Xbox, ela será a opção usada para construir nosso jogo se formos fazer para PC.

A segunda e bastante abrangente plataforma é o celular. Quando falamos em desenvolvimento de jogos para celular temos duas frentes principais: a plataforma Java ME (Micro Edition) e Brew. Como a plataforma Brew é paga, eu nunca tive oportunidade de fazer nada com ela, Java ME por outro lado é aberta e será nossa opção caso façamos nosso jogo para celular. Temos várias IDEs que podem ser usadas para desenvolver em Java, como o Eclipse e o Netbeans, ambas se integram a emuladores onde podemos testar nossa aplicação rodando e depois é só passar para uma celular. O desenvolvimento para celular tem como ponto positivo ser um pouco mais simples devido as limitações da plataforma, e como ponto negativo (de Java nesse caso) o fato de não termos acesso as funcionalidades do celular de forma direta, usamos apenas aquelas que a máquina virtual de java permite, isso é chamado de Sandbox (ou seja só podemos “brincar” dentro da caixa de areia).

A terceira é a plataforma gamer e aqui surge nosso grande desafio e problema. As plataforma de vídeo-game geralmente são fechadas e o desenvolvimento restrito a quem tem grana para pagar muito por um kit de desenvolvimento (o do PS3 por exemplo no início custava 20 mil dólares, hoje está por 10 mil). Esse cenário, principalmente para quem quer apenas fazer um jogo caseiro, torna inviável o desenvolvimento de uma jogo nosso para vídeo-games, e agora?

Para isso existem os Hacks de bibliotecas que exploram as funcionalidades do sistema, como já expliquei na coluna anterior tudo é uma questão de hardware e um software básico que permite usar esse hardware, mas não há o que fazer o que fazer quando você não sabe que funcionalidades pode usar a não ser… entender de alguma forma como o hardware funciona…

Alguns processadores como o do Nintendo DS (da linha AMR) já são bem conhecidos pela indústria e isso permite que suas funcionalidades sejam utilizadas em kits de desenvolvimento “não oficiais”. Os mais famoso destes é o devKitPro que permite o desenvolvimento para as plataformas: Nintendo Ds, GBA, PSP e Game Cube. Se a escolha da plataforma for para vídeo-game, devido a minha experiência com Nintendo DS essa seria a escolha certa para fazermos o jogo. Para isso utilizaríamos como linguagem C/C++ utilizando o devKitPro + Palib + Visual Studio.

Agora é com vocês, são os leitores desta coluna que vão decidir para qual plataforma vamos desenvolver nosso jogo. Temos essas 3 alternativas e vocês devem deixar seus votos nos comentários da coluna, para isso terão até a quinta-feira do dia 26/06/2008 quando farei a contagem.
Como nosso papo hoje se extendeu demais fica para próxima semana a discussão sobre o conceito e a organização de um Game Design, ou seja como definir a proposta do nosso jogo e organizar todas as idéias sobre ele, como objetivos, jogabilidades, personagens, história, etc.
Até semana que vem!

PS: Pra quem não sabe essa é minha coluna no Video Games Boulevard, acabei esquecendo de postar aqui a da semana retrasada (sorry). Esse final de semana passado, com o São João aqui (no Nordeste é um senhor feriadão) acabei não publicando, mas acredito que no Domingo publicarei a mais nova edição. Ah os votos computados nos comentários aqui também valem, desde que sejam de pessoas diferentes.

Feito em Casa: A introdução ao desenvolvimento de jogos

terça-feira, 10 de junho de 2008

Os Jogos “caseiros” e outros aplicativos que são criados para serem utilizados em plataformas portáteis ou vídeo-games são conhecidos como Homebrews. A idéia da coluna “Feito em Casa” é com nossas conversas semanais, dar dicas e passar conceitos importantes para que você leitor, seja capaz de criar seus próprios homebrews para sua plataforma game favorita.

Minha experiência com jogos é praticamente acadêmica, mas já desenvolvi jogos para diferentes plataformas (PC, celular e Nintendo DS) e em diferentes linguagens de programação (C++, Java e até Assembly) por isso acredito ter experiências muito interessantes para passar para vocês nessa área.

Pensei em várias formas de como iniciar essa coluna e como tentar ser o menos chato e técnico possível, mas cheguei a conclusão que é impossível iniciar nossa espécie de “curso” sem que o conceito de plataforma seja bem compreendido por todos.

No geral qualquer plataforma, seja ela um vídeo-game, um pc, um celular, possuem uma estrutura básica:

1 - Uma arquitetura física, ou seja um conjunto de componentes eletrônicos organizados de forma a realizar operações e realizar eventos físicos (por exemplo: tocar um som, exibir algo na tela).

2 - Um software básico, que permite uma camada de “abstração” (isso será um dos temas de uma futura edição desta coluna) fazendo com que não precisemos nos preocupar com os dispositivos eletrônicos, esse software condensa as operações que podemos usar, em computadores estes são chamados de sistemas operacionais. (por exemplo: toqueSom(temaPersonagem), exibaNaTela(personagem, posicaoX, posicaoY) )

Em cima dessa plataforma temos outros softwares, que rodam sobre os sistemas operacionais descritos acima, utilizando suas funcionalidades para um devido fim, aqui entram os jogos e os aplicativos.

Como podem ver fica difícil partir para os jogos direto, sem entender toda a estrutura por trás e outros conceitos que vêm associados a esta como limitações, kits de desenvolvimento e linguagens de programação. Todos esses temas serão melhor abordados no decorrer de nossa coluna, hoje vamos iniciar pela questão de como a plataforma influência no desenvolvimento de um jogo.

Quando eu era criança, no auge dos vídeo-games de cartucho, eu acreditava que um cartucho de Mega-Drive não rodava em um de Super Nintendo apenas porque os formatos não encaixavam. Não entendia que além disso ambos eram arquiteturas de hardware completamente diferentes, feitos de componentes diferentes, e com instruções de hardware diferentes.

Quando pensamos em desenvolver um jogo precisamos pensar em que plataforma iremos rodar o nosso jogo, ou se ele será um jogo multiplaforma. Existem duas formas de fazer um jogo para diferentes plataformas:

- A primeira é desenvolver ao mesmo tempo o jogo para todas as plataformas que o jogo vai ser lançado. Essa realmente não é uma abordagem muito usada porque encarece muito o desenvolvimento já que aumenta considerávelmente o número de pessoas que trabalham no jogo. É mais utilizada quando trabalha-se com plataformas muito diferentes (o que ocasiona jogos distintos e completamente diferentes), por exemplo, um jogo que sairá para PS3 e Nintendo DS. Neste caso geralmente as empresas tercerizam o desenvolvimento para a plataforma mais simples.

- A segunda é desenvolver para uma plataforma e no fim fazer um port (porta o código) para a outra plataforma. É a forma mais barata e utilizada para plataformas com um poder de processamento e características semelhantes. A desvantagem é que o jogo sempre ficará melhor na plataforma específica em que foi desenvolvido, pois seu código foi escrito para tirar toda a potencialidade do hardware daquela plataforma.

Como o objetivo aqui é demonstrar como podemos contruir nosso próprio jogos, vamos nos concentrar no desenvolvimento para uma plataforma específica já que isso torna o desenvolvimento mais simples.

Na próxima coluna vamos escolher a plataforma na qual vamos construir o nosso jogo e discutir que conceitos e idéias são importantes termos em mente antes de iniciar o desenvolvimento para valer, resumindo: Vamos começar a falar de Game Design.

Até a próxima.

PS: Essa coluna é colocada nos fins de semana no Video Games Boulevard e dois dias depois é colocada aqui.

Blog sobre games

quarta-feira, 4 de junho de 2008

Pessoal, fui convidado a participar de um novo blog de games que algumas pessoas do fórum de quadrinhos que frequento, o Multiverso Bate Boca, fizeram.

O nome da minha coluna vai ser “Fazendo em Casa” e vai abordar como o qualquer jogador pode construir seus próprios games e outros aplicativos para várias plataformas. Eu topei porque achei a idéia bem bacana é uma coisa que realmente não se vê por aí em sites ou blogs sobre o assunto.

Espero conseguir passar dicas e ensinar detalhes um pouco técnicos sem que fique chato.  Publicarei aqui também as colunas, a primeira estréia no sábado mas já vou logo deixar aqui o link para o blog, já tem muita coisa bacana lá:

Video Games Boulevard

Onde está a Mobilidade?

sexta-feira, 11 de abril de 2008

Em dezembro eu comprei um notebook, um Dell Latitude D520. Não tô aqui para reclamar, pelo contrário, não me arrependo nem um pouco da compra dele. Deixei meu antigo desktop para trás, dei ele pra minha irmã e minha mãe e nem chego mais perto deles, daqui pra frente só notebooks.

Adoro a liberdade que tenho dentro de minha casa de poder fazer algo na varanda ou na sala por exemplo, confesso que o diálogo aqui em casa melhorou bastante depois disso. (Mesmo que seja geralmente minha mãe falando comigo na sala e eu concentrado no computador dizendo apenas sim e não, mas vejam que isso já foi uma evolução em relação a estar sempre no quarto).

Mas aí é que está, ênfase no liberdade em casa, apesar de ser bem mais fácil de sair de casa com um notebook do que com um desktop, mesmo assim percebo que não é tão prático. Primeiro que eu não tenho carro (nem sou muito fã de ter, não gosto de dirigir), segundo que aquelas mochilas de notebook praticamente tem uma placa luminosa dizendo: “AQUI TEM UM NOTEBOOK, ME ROUBE POR FAVOR”. Achei até engraçada uma cena que vi dia desses, um cara todo engomadinho, com camisa de manga comprida, calça e sapato social, com uma mochila. É ÓBVIO que ali tinha um notebook, quem mais andaria todo arrumadinho com uma mochila nas costas?

Pra finalizar além desses problemas, um notebook tem um peso considerável sim! Isso também tem impacto na qualidade de vida da pessoa, sair por aí com aquele negócio nas costas direto pode fazer a diferença daqui há alguns anos. Por fim… essa bexiga esquenta demais… dá pra fritar um ovo tranquilo e calmo, principalmente quando ele tá ligado na eletricidade e carregando a bateria.

Ultimamente ando viajando muito pois minha namorada mora “meio” longe de mim, mas pelas questões acima não tenho criado coragem de levar meu notebook em minhas excursões, a questão não é nem o medo de roubarem ele mas é questão de praticidade mesmo, até queria levar ele pra ver uns vídeos no vôo mas sem condições (além do que o espaço nos aviões é minúsculo).

Cheguei a conclusão que preciso de um novo brinquedinho, ainda estou analisando. Pensei num Ipod touch que tem aplicações muito boas, mas pesa contra ele ser um player de vídeo não muito bom (muitas limitações de formatos de vídeo) e o fato de precisar da porcaria do Itunes. Depois de muito pensar estou inclinado a comprar um Asus Eee PC pois é pequeno, leve, mas é robusto o suficiente pra rodar filmes e aplicativos como o Skype por exemplo. E com ele seria mais fácil andar por aí mesmo de Busu e estar sempre aproveitando qualquer momento para escrever posts para o DND.

Lá vou eu gastar grana… e ainda tem o PS3 no final do ano… mas dinheiro foi feito pra isso não é mesmo? Mas vou esperar pelo menos terminar de pagar o notebook =D

PS: Descupem pelo desaparecimento, tive problemas pessoais. Uma pessoa importante da minha família andou doente, mas agora tá tudo bem!

O Tutorial do Google Reader

quinta-feira, 14 de fevereiro de 2008

Quando anunciei que o blog estava se mudando alguns amigos da minha lista do MSN perguntaram: “E agora como vamos saber que seu blog tem atualizações? No Spaces pelo menos aperecia o solzinho”. Pensando nisso e também em divulgar a ferramenta online que mais uso ultimamente decidi fazer esse tutorial sobre o fantástico Google Reader.

Mas o que é o Google Reader Batimã?

Segundo o Wikipedia: Google Reader é uma aplicação web oferecida pela empresa Google que tem uma função de leitor de feeds (RSS). O serviço caracteriza-se por ter uma interface - GUI - limpa e objetiva, fato encontrado também em outros serviços da empresa. Foi lançado oficialmente no dia 7 de Outubro de 2005 e graduado em 17 de Setembro de 2007.

Traduzindo, feeds (rss) é um tipo de protocolo que permite que os posts de blogs ou notícias de sites possam ser “baixados” e lidos num programa chamado agregador ou leitor de feeds. O diferente e legal do Google Reader é que ele é web ou seja você não baixa para o seu computador. Com isso toda vez que você abrir o google reader e eu tiver postado algo novo, na hora você vai ver lá! Legal não?

Mas como se usa essa bexiga Batimã?

Simples, primeiro você vai em www.google.com.br/reader/ se você não é um ET e tem orkut ou gmail, é só logar com seu nome de usuário e senha do google. Então você verá uma primeira página assim:

tuto01

Então é só clicar em Adicionar inscrição, e colocar o site ou blog que você deseja ser assinante, para o novo Diário de Notícias Desencontradas coloque http://opiniaoweb.com/dnd/ e clique no botão “adicionar”:

tuto02

Depois disso você vai ver essa página:

tuto03

Você também pode organizar os blogs em pastas (ajuda bastante). Veja como é o meu Reader pra valer:

tuto04

Digo a vocês é muito útil, deve ser a página inicial de cada pessoa, é melhor que jornal.

E só para lembra o novo endereço do Diário de Notícias Desencontradas é:

http://opiniaoweb.com/dnd/

Por uns tempos sempre que colocar algo novo lá, vou colocar apenas um aviso aqui. Vou fazer também um backup de tudo que escrevi aqui logo que tiver tempo. Espero que todos que leiam este humilde blog continuem lendo no novo endereço, eu sempre disse que escrevo para mim, mas de uns tempos pra cá estou aprendendo que é legal escrever para vocês também. Obrigado a todos que acompanharam minha jornada aqui, tenho certeza que vão gostar do novo espaço.

Deixo aqui um agradecimento a meu amigo Mateus que diminuiu as imagens para mim, pois estou sem nenhum programa editor de imagens no meu notebook.

Grande Tecnologias da Humanidade: O MacBook Air

terça-feira, 22 de janeiro de 2008

Se você vive no planeta terra, e tem acesso a pelo menos um telégrafo como meio de comunicação sabe da grande novidade que a Apple mais uma vez tenta impor como algo que você precisa ter para fazer inveja a emos, pattys e amigos Nerds v3.0 Millenium. Sim, falo do notebook mais fino do mundo o MacBook Air. Para ajudar a você pessoa do tipo “nãoimportaoquesejaeuqueroapple” a ter pelo menos algum motivo a mais para ter esse novo brinquedinho de luxo eu listei algumas ótimas razões abaixo para a compra:

1 - O maior espelho de quit de maquiagem do mundo

Fino com um design bonito e arrojado e que fecha como aqueles quits de maquiagem, se você mulher achava ruim o tamanho dos espelhos (muito pequenos) agora tem uma tela de 13′ para lhe fazer feliz, aconselho passar algum produto para que a tela fique mais reflexiva.

2 - A George Foreman Grill mais fina do mundo

Churrascão no final de semana, que tal unir mobilidade, acesso wireless e aquela asinha de frango na chapa? Agora você pode, ou tem dúvida que o MacBook Air deve esquentar o suficiente pra isso? Tudo isso com um design arrojado e com a marquinha da maçã (agora sei porque a Eva ferrou Adão).

3 - Mantenha seus Envelopes sem amassar

Uma das coisas que me dão raiva, é como aqueles envelopes grandes que geralmente colocamos documentos amassam fácil. Com o MacBook air dentro deles você tem uma platarforma fina e rígida que vai manter o formato do seu envelope sem amassar. Isso vai mudar a vida de milhões de pessoas.

4 - Sacanagem a Distância

Com sua incrível tecnologia de tocar os CDs e DVDs alheios por não possuir um player de mídia ótica, o MacBook Air pode ser usado para assistir um DVD com todos aqueles filminhos didáticos que você gravou, direito do computador do(a) seu(a) irmão(ã) e o melhor, se sua mãe descobrir o DVD lá não vai ser você que vai pagar o pato.

Se tiverem mais sugestões não deixem de comentar.