Tag Archives: gamedev

Flash Games em Dispositivos Móveis

Para aqueles que estão antenados em tecnologia, o título deve logo lembrar da Apple vetando o Flash nos iPhones. Ainda mais quando a Adobe estava pra lançar sua Creative Suite 5 com opções de exportação de aplicativos flash nativamente para o smartphone[bb] da maçã.

Mas a Adobe não deixou por isso, não. Agora que o Android 2.2 “Froyo” tem suporte ao flashplayer, ela está patrocinando algumas competições para desenvolvimento de jogos mobile com prêmios em dinheiro. Bastante dinheiro. Aproximadamente $30.000 no total em prêmios para cada competição.

Essa semana eu twittei a competição Cell Your Flash Game promovida pelo Flash Game License e a competição promovida pelo Kongregate. Mas não é só. Pelo que vi, também há uma parceria com a MochiMedia, uma das maiores ferramentas de distribuição e monetização de conteúdo em flash, com a competição Made for Mobile.

Confesso que com tanto prêmio, a Cell Your Flash Game e a Made for Mobile premiando até os 150º e 105º lugares, respectivamente, dá muita vontade de participar. Apesar de eu não ter um Android pra testar. Mas para quem quiser participar, pode dar uma olhada no site do Kongregate versão mobile para ter uma ideia geral.

Como muitos aqui já sabem, eu gosto bastante de jogos em Flash, mas há algum tempo ando meio decepcionado com a Adobe. Eles se preocupam muito pouco com a qualidade do player para linux[bb]. Tanto que a nova versão do Adobe Air não suporta nem acentos no sistema operacional do pinguim.

Google Buzz

Desenvolvimento de Jogos Colaborativo

Até hoje, o desenvolvimento colaborativo de softwares opensources são feitos com um repositório online, onde eles ficam armazenados sob um sistema de controle de versão, IRC pra comunicação entre os desenvolvedores e algum sistema de bug tracking. Dessa forma, qualquer pessoa que quiser ajudar o software, entra em contato com os outros programadores pelo IRC, baixa o código do repositório e vê as pendências pelo sistema de bug tracking. Aí então basta que ela comece a programar. Isso prova que esse método funciona muito bem.

Porém quando se trata de jogos, esse método pode ser pouco. Principalmente porque a equipe geralmente é fixa, e há game designers, artistas, músicos e outras pessoas desempenhando papéis diferenciados no processo.

Dividindo o processo por partes, podemos ver que há muitas ferramentas que podem ajudar no desenvolvimento:

Planejamento e Documentação

Skype

A comunicação entre os membros da equipe pode ser feita toda pelo Skype. Principalmente por voz. E é útil em todo o processo de desenvolvimento, não só no planejamento.

É claro que o Skype traz algumas outras utilidades, por exemplo: a versão Windows tem um visualizador de tela remota. Infelizmente ele ainda não é bem desenvolvido para outras plataformas, mas a questão de telas remotas é simples, veremos adiante.

Google Docs

O Google Docs permite a edição de documentos colaborativa e há várias opções: você pode convidar apenas os usuários que quer que tenham acesso, ou então deixá-lo livre, para que todo mundo possa editar. Também é possível deixar o documento como somente visualização.

Cacoo

É possível criar diagramas em geral no Google Docs, porém é um tanto limitado. Já o Cacoo tem muitas opções para criação de qualquer tipo de diagrama. É muito útil no fase de planejamento do projeto. Tanto para criar diagramas UML[bb] de classes, ou comportamento, quanto para rabiscar uma interface.

Desenvolvimento

Sistema de controle de versão

É indispensável o uso de algum sistema de controle de versão, nem vou entrar nessa discussão aqui. Principalmente se você usar um sistema distribuido, como o Git ou o Mercurial.

Dropbox

Nada como ter um local de armazenamento público entre todos os membros da equipe. O código fica sendo versionado, mas e as outras coisas referentes ao jogo[bb]? Nem sempre você precisa de um controle de versão para compartilhar um rascunho de sprite, ou música, mapa do jogo, etc.

O Dropbox é uma ferramenta essencial em qualquer contexto, falando de desenvolvimento ele fica ainda mais evidente.

Há outras ferramentas interessantes como visualizadores de tela remota, que é muito útil em todo o processo de desenvolvimento. A maioria dos sistemas operacionais já vem com uma solução para isso. Eu gosto bastante do protocolo VNC, principalmente porque dá para usar multiplataforma.

Esse post foi bem curto, e com apenas alguns serviços. Quem tiver mais, por favor, não hesite em compartilhar. =]

Google Buzz

Como desenvolver um jogo em pouco tempo

Acho que isso é um pequeno guia. Não que se você segui-lo você conseguirá criar um jogasso, mas acho que ajuda bastante. Eu participo bastante de competições de games rápidas, e uso muito essas dias que eu vou dar aqui. É muito bom para competições de 48 a  72 horas.

Parte1 – Antes de tudo

Time Primeiro de tudo, é essencial que você possua o tempo necessário, ou seja, que nos dias que você separar (ou nos dias do contest) você esteja livre. Tão importante quanto isso é ter todas as ferramentas que você vai usar previamente instaladas. Já pensou se você vai instalar os programas depois que liberarem as regras?

É muito útil se você tiver uma estrutura do jogo já pronta, facilitando ainda mais o desenvolvimento. Nos meus jogos em Allegro, eu já tenho várias classes prontas, e uma estrutura padrão que eu uso em todos os jogos de contests rápidos. Não é a melhor estrutura, porém é suficiente.

Parte 2 – Desenvolvimento

Draw Logo que sair as regras, você já vai ter tudo preparado para desenvolver o game, mas não caia na tentação, não vá programar na hora. Agora é que vem a parte mais difícil de tudo isso: Fazer o design do jogo. Nessa hora pegue um papel, um lápis e fique lá escrevendo e desenhando tudo o que puder sobre o tema. É claro, dependendo do tema, é interessante que você faça uma pesquisa sobre ele, às vezes isso ajuda muito.

Nós não temos tempo de prototipação, ou seja, você terá que fazer todo o protótipo do jogos na cabeça. Testá-lo várias vezes. Lembre-se de uma regra muito importante do GameDesign, que é prototipar, testar, modificar e começar esse ciclo novamente. Ou seja, assim que tiver uma idéia jogável, “jogue” na sua mente, veja o que precisa ser mudado, jogue-o novamente, e assim por diante. Não pare até ver que seu jogo realmente ficou interessante e implementável – lembre-se que você tem pouco tempo para tornná-lo realidade.

Gostou da idéia que teve? Então documente-a rapidamente num arquivo texto, ou na sua folha de papel mesmo, com todos aqueles desenhos que você fez. Acho que aqui vem uma parte muito importante, definir TODOs. Crie um arquivo e coloque lá, em lista, as tarefas para o desenvolvimento do game. Divida todo o desenvolvimento do jogo em pequenas partes, e em ordem. É muito mais difícil você desenvolver algo sem ter pequenas metas, você vai ver que isso ajuda muito.

programming Agora então comece a programação. Programe seguindo a lista de tarefas criada anteriormente. Não é necessário comentar muito seu código, mas é aconselhável. Não se preocupe muito com POG, só tome cuidado para que isso não saia do seu controle. O tempo é curto, não dá para ficar refatorando cada testezinho que você faz, isso é verdade, mas não deixe o código muito ilegível também. Além de tudo, tem que tomar cuidado para  não criar algorítimos ineficientes, não precisa usar algorítimos ótimos a todo momento, mas também não queremos o jogo lento por causa de algorítimos mal criados.

Faça os gráficos do seu jogo. Não precisa terminar todo o jogo para criar os gráficos, eu acho ótimo dar uma break na programação para desenhar um pouco. Garanto que isso dá uma relaxada.

Parte 3 – Algumas dicas…

  • Durma – é muito importante que você durma. Não ache que vai ficar todo o tempo codando que você não vai aguentar, e depois que você está com sono, começa a fazer algumas coisas meio sem lógica, o que aqui não se encaixa muito bem, precisamos muito de lógica.
  • Breaks – faça pausas no desenvolvimento. Não muito demoradas, porque senão você perde a linha de raciocínio. Entretanto, pausas são muito eficientes. Eu aconselharia você a jogar algum joguinho nelas, porém algo bem rápido e divertido. Não gaste mais que dez minutos em cada pausa. Lembre-se também que elas gastam tempo, e você não tem muito.
  • Alimentação – faça uma alimentação saudável, pelo menos no tempo de desenvolvimento. Não coma muito, nem coisas muito gordurosas, elas podem te fazer passar mal, e isso não é nada interessante. Mas também aconselho comer chocolate, sem exagero. Chocolate é ótimo porque dá prazer, e te livra um pouco da tensão.
  • Beba – essa é uma dica que eu adoro. Beba muito líquido. Nem que seja água. Pode ser café, leite, chá, refrigerante. Só tome cuidado, quando eu digo para beber muito, não é para exagerar. Lembre-se que tudo em exagero pode fazer mal. Eu, por exemplo, adoro chá gelado, ou então coca-cola.

tea

Espero que essas dicas ajudem, pois para mim são muito úteis.

Referências e complementos:

Google Buzz