2 de set. de 2009

Plataformas Abertas

Hora de fazer um game... Ok, alguns minutos na Internet e descobrimos que a quantidade de opções na hora de montar nossa paleta de ferramentas é quase infindável. Hoje em dia existem diversas opções para todos os gostos e públicos e em não raras ocasiões o não mais tão simples ato de escolher aonde ingressar já consome um tempo valoroso.

Cada um de nós tem seus próprios projetos e anseios, e talvez a solução adotada para o Cybotage pode não ser a mais indicada para o seu, porém a abordagem e os fatores por trás das escolhas são universais, principalmente se você como eu quer iniciar seu R&D (ou P&D se preferir) sem investir muito no início.


Relação com a Plataforma
Escolha de plataforma dependerá primeiramente de uma análise de seu projeto, o ideal é escolher a plataforma antes de idealizar o projeto e não o contrário, por exemplo, decidir agora que seu jogo vai ser publicado através da XBLA pode não ser adequado se seu jogo depender de input de mouse – o que vai levar a um redesign de todo seu sistema de controle ou de adoção de um sistema de input alternativo – então vou ilustrar algumas considerações que levei em conta na hora de escolher plataforma, para poupar tempo só vou falar de plataformas abertas:

PC
A plataforma PC é problemática para um iniciante, principalmente se levarmos em conta fatores como pirataria, concorrência e publicação. Existem soluções baratas para transpor as barreiras da pirataria e publicação, mas não para a concorrência. Embora seja possível bater um Diablo III numa prateleira, é uma tarefa que vai exigir um investimento que muitos de nós pequenos desenvolvedores ainda não podemos fazer.

Iphone
Muitos desenvolvedores adotaram esta plataforma e parabenizo os que se adequaram a ela. Mas os boatos sobre a política de reembolso da Apple me assustaram demais, por mais improvável que possa ser um reembolso integral de 20.000 licenças (leia-se pagar a comissão da Apple) é possível e pode quebrar um desenvolvedor pequeno. Analisando este fator junto com um mentor ouvi a seguinte analogia:

“É como comprar um barco que tem um tampão bem na base do casco que apesar de muito bem soldado, ‘pode’ ser retirado a qualquer momento”.

X360 – XBLIG (X Box Live Indie Games)
Nenhum modelo é perfeito, mas o maior desafio oferecido para publicação nesta plataforma depende mais de nós desenvolvedores do que de fatores externos. A limitação do XNA é que você tem que escrever sua engine mais ou menos do zero, ou portar seu código existente para executar segundo as convenções da API permitindo a execução no X360 e consequente publicação pelo programa Indie Games.

Os pontos positivos são:
- Desenvolver para um console de nova geração.
- CERTEZA de publicação pela Microsoft Games.
- Royaltie de 70% - sem extorno!
- Não há necessidade de comprar o aparelho durante o R&D (se tivesse, o preço absurdo do 360 que colocaram para o Brasil ia ser a primeira barreira).
- Kit gratuíto.
- Distribuição em mais de cinco países.
- Possibilidade de crescimento para modelo Arcade e até Retail depois...
- A programação do XNA é baseada em C#.NET, ou seja: Com poucas boas práticas de programação você evita todos os vazamentos de memória.
- Concorrência mais justa: Os grandes estúdios não estão nem aí para a XBLIG, pois eles já têm a XBLA a seu dispor então este espaço é para hobbistas e independentes como nós.
- Necessidade: A XBLIG está carente de boas opções.

Pontos negativos:
- Não dá suporte a integração de PhysX ou Havok, o que nos acarretará trabalho extra se o jogo depender de FK, IK e Ragdoll. Pois aí temos de implementar tudo do zero, o que é possível, mas dá um trabalho enorme.

Um ponto que em primeira instância pode parecer negativo é que XNA não é uma Engine, mas sim, uma API gerenciada. Ou seja, é preciso “aprender a programar”, mas já adianto que se você tem um bom domínio de inglês não vai ser o menor problema, pois a documentação é farta, existem muitos artigos no fórum da comunidade e C# é muito parecido com o novo Action Script.

Nenhum comentário:

Postar um comentário