Em 2002 as coisas eram bem diferentes no campo de desenvolvimento de jogos para celular, existiam várias game engines baixaveis, e o cenário era bem mais motivador do que hoje em dia, onde praticamente tem que se fazer tudo do zero em termos de j2me.
O artigo a seguir é uma tradução
Tradutor: Gambireiro Autor: Pedro Amaro
No momento, muitos programadores estão tentando entrar no mundo dos videogames “através” do computador. Considerando os altos custos de licenças no mundo dos consoles, é muito difícil distribuir jogos comercialmente nesses sistemas (pelo ao menos por meios legais). No entanto, nesses dois últimos anos (especialmente em 2002), se abriu outra “porta” para o desenvolvedor profissional de jogos: o celular. O aparecimento de muitas plataformas de desenvolvimento grátis e independentes de aparelhos celulares deram a oportunidade dos desenvolvedores amadores competirem pau a pau com o setor profissional sem nenhuma desvantagem aparente. Para isso ser possível, terá que ser
escolhida a plataforma que melhor satisfaz os objetivos do desenvolvedor.
Para tornar essa escolha fácil, este artigo apresenta as principais quatro plataformas grátis existentes no mercado: J2ME [1], ExEn [2], Mophun [3] e WGE [4][5]. Inicialmente, o leitor vai ter uma noção das características específicas desse mercado, para ajudá-lo a perceber as diferenças no desenvolvimento sem especificar nenhuma plataforma. A introdução é seguida por uma análise dos pontos fortes e fracos de cada plataforma mencionada acima. A última parte contém um pequeno resumo de cada plataforma, bem como uma indicação de qual tipo de situação cada uma é melhor.
O mercado de jogos para celulares
Ao contrário do que ocorre com outros sistemas, a quantidade de pessoas que compram um celular apenas para jogar é extremamente pequena. Algumas vezes a escolha é baseada apenas no preço, algumas pessoas compram qualquer um que a operadora de celular venda e ainda tem os que escolhem um certo modelo somente porque seus amigos tem um
igual… aí estão um monte de possibilidades para se escolher um aparelho e os jogos existentes geralmente são vistos apenas como um recurso legalzim.
Com o aparecimento dos celulares mais recentes, que possuem capacidades gráficas e sonoras avançadas, esse mercado começa a se expandir. Aliadas às capacidades mencionadas, a existência de plataformas de desenvolvimento grátis e independentes de equipamentos abriu um grande espaço nessa expansão. Veja o sucesso dos consoles portáteis
(especialmente o Gameboy, que foi o console mais vendido em 1999), isso ocorreu principalmente pelo excelente mercado que existe para se explorar. E acima de tudo, a maioria das pessoas usam o celular para serem encontradas a qualquer hora e em qualquer lugar. Isso quer dizer que, geralmente, elas sempre levam o celular consigo. Você não pode dizer a mesma coisa sobre um console portátil, devido ao fato que os usuários somente vão carregá-lo consigo quanto tiverem certeza que vão ter um grande período de espera. O celular, ao contrário, estará sempre lá: no ponto de ônibus, na sala de espera do dentista ou em uma aula chata . Sua principal função (comunicação) é constantemente requerida, ou seja, as funções restantes (incluindo os jogos) também estarão sempre presentes.
Outro aspecto importante é o fato de um usuário comum de celular não se importar muito com a tecnologia disponível no aparelho. “J2ME”, “ExEn” e “Mophun”, por exemplo, são palavras que a maioria dos usuários não conhecem. Agora, se o termo selecionado for “Snake”, é quase certo que pelo ao menos os que costumam jogar no celular vão reconhecer. Em todo caso, no momento, a escolha de um celular não é influenciada pelos jogos, mas é muito provável que isso mude daqui a uns 2 ou 3 anos. De qualquer jeito, você não pode esperar que um usuário comum comece a verificar se o modelo que ele planeja adquirir possui suporte a uma certa plataforma. O que ele vai olhar é se o aparelho possui uma boa quantidade de jogos por um preço razoável… sem se esquecer que a função principal do celular é a comunicação.
Um pensamento final vai para os gêneros de jogos que possuem grande probabilidade de alcançar sucesso nesse mercado. Ao contrário do que é normal em outros sistemas, o usuário de celular não vai ficar jogando por muito tempo. Jogos que envolvem essa necessidade (RPGs e jogos de plataforma, por exemplo) terão que ter um altíssimo nível de qualidade para conquistar o usuário. Puzzles (quebra cabeças) são os gêneros mais comuns: se eles são fáceis de se jogar, divertidos, permitem um jogo rápido e não requerem muito tempo para se aprender o sucesso, na maioria das vezes, é garantido. Outro gênero que está começando a ficar popular é o de ação: jogos de luta e tiro agora estão começando a entrar no mercado de jogos de celular. Quando se desenvolve um jogo para esse sistema, você não pode esquecer que é grande a possibilidade do jogo ser jogado somente por 5 ou 10 minutos por vez. Se nesse período de tempo o jogador não se interessar pelo jogo, o sucesso comercial do mesmo vai estar seriamente limitado.
J2ME
O “Java 2 Micro Edition” geralmente é considerado o que Java originalmente seria: uma linguagem multiplataforma capaz de rodar em máquinas com capacidades muito reduzidas. Considerando isso, não é surpresa a grande semelhança entre J2SE e J2ME. De fato, J2ME é considerado uma versão padrão feita para o essencial.
Como ela inicialmente não foi desenvolvida para jogos, seu potencial é reduzido se comparado com outras plataformas criadas especialmente para esse fim. Embora o MIDP 2.0 já venha com uma API de jogos, a versão atual (MIDP 1.0) possui somente alguns rudimentos do que seria necessário para se desenvolver um jogo tecnicamente avançado. Por exemplo, ele não tem suporte à redimensionamento de imagens, simples rotações 2D ou mesmo som. No entanto, considerando o fato que ele apareceu primeiro e é ajustado para servir em vários tipos de aparelhos, J2ME está se tornando um padrão do mercado e é a plataforma que possui mais jogos em mais aparelhos.
Desenvolver para J2ME é extremamente barato. O SDK (Kit de desenvolvimento) pode ser conseguido gratuitamente e não possui restrições de licença, o que quer dizer que qualquer um pode criar um jogo e vendê-lo. No entanto, diferente de outras plataformas criadas especificamente para jogos, não existe um modelo comercial de J2ME. O desenvolvedor tem de negociar sua comercialização com os possíveis “parceiros”: fabricantes, operadoras ou distribuidoras.
Negociar um contrato com um fabricante geralmente é a pior opção. Muita das vezes sai mais barato para o fabricante criar sua própria equipe de desenvolvimento do que pagar uma outra equipe para criar jogos a serem incluídos nos aparelhos. Em todo caso, se considerando que já é possível baixar jogos para celular, o número de títulos inicialmente
disponíveis na memória é uma característica que merece um pouco de atenção. Na maioria das vezes, esses jogos são mais paias do que os que os jogadores podem obter com um simples download.
Negociar diretamente com a operadora está sendo a alternativa mais comum. Muitas operadoras já possuem um serviço direcionado aos desenvolvedores de jogos e os indicadores atuais mostram que esses serviços vão se expandir. A porcentagem de lucro na revenda geralmente é alta (cerca de 80%). No entanto, comercializar um jogo pode ser bem difícil. Muitos desses serviços requerem um período de teste, onde o download é grátis. Se o game fizer sucesso nesse tempo, isso é movido para o estágio comercial. O problema com essa opção está em um simples fato: quando o jogo entrar em estágio comercial, o efeito de “jogo novo” já não existe mais e os possíveis compradores já jogaram quando o jogo estava disponível gratuitamente. Outro problema está na limitação de se negociar com apenas uma operadora. Por exemplo, para distribuir um jogo em mais de um país é necessário se negociar com pelo ao menos duas operadoras. Esse problema é maior se o desenvolvedor quer uma distribuição continental ou mesmo mundial. De qualquer jeito, essa pode ser a melhor opção (quando, por exemplo, devido à dificuldades de localização, o desenvolvedor deseja atuar em apenas um país e a operadora não requer um período de download grátis).
A terceira opção, falar com a distribuidora, geralmente é a mais apelativa quando o desenvolvedor quer uma distribuição em larga escala. É comum para as distribuidoras ter vários contratos com diferentes operadoras. O problema disso é a baixa margem de lucros. Geralmente as operadoras ficam com 80% dos lucros, enquanto os 20% restantes são divididos entre a distribuidora e o desenvolvedor. Embora seja possível obter uma renda do compartilhamento de 20% a 70% (enquanto ela está entre 5 e 10% em outros mercados), o lucro nunca vai ser maior do que se o jogo fosse negociado diretamente com a operadora. Aliado a essas desvantagens, o desenvolvedor também terá que encontrar um distribuidor interessado em sua aplicação, o que algumas vezes é muito difícil (embora existam casos onde a distribuidora entre em contato com o grupo de desenvolvimento). A maior vantagem é o desenvolvedor estar livre de preocupações comerciais, já que a negociação com as operadoras e o marketing é uma tarefa da distribuidora.
Considerando o futuro do J2ME, pode-se dizer que é excelente. Não somente porque ele possui uma extensa lista de fabricantes que o suportam (tornando-o um padrão), mas porque ele ainda é ajustado para acabar com os problemas dos JVMs que não seguem as especificações (o que ocorre quando os fabricantes fazem o aparelho na carreira). No mercado dos jogos, seu futuro está dependendo do MIDP 2.0. É certo que ele vai se destacar e pode vir a ser o líder durante 2003… mas se um ou mais dos concorrentes estiverem equivalentes em nível tecnológico e trabalharem para incluir suas engines em muitos aparelhos similares ao J2ME, a plataforma da Sun vai enfrentar algumas dificuldades em manter a liderança nesse mercado.
ExEn
A “Execution Engine” (também conhecida como ExEn) foi desenvolvida pela In-Fusio para “combater” as limitações impostas pelo J2ME no desenvolvimento de jogos. Também é interessante saber que a In-Fusio, tentando acabar com essas limitações, trabalhou junto com a Sun para gerar a proposta da API de jogos para o MIDP 2.0.
ExEn foi a primeira engine de jogos comerciais baixáveis disponível na Europa. Esse foi um importante primeiro passo que permitiu a ExEn ostentar a atual posição de líder neste continente, fazendo dela a engine mais usada (que também quer dizer a que tem a maior variedade de jogos).
Há pouco tempo, em Novembro de 2002, existiam 18 modelos com suporte à ExEn. Considerando somente a Europa, isso representa cerca de um milhão de celulares. Porém esse é um número pequeno se comparado aos cinco milhões de aparelhos que usam a tecnologia J2ME, é uma quantidade impressionante para uma tecnologia “fraca”.
Não se pode dizer que, comparando-se a ExEn com os concorrentes restantes, a ExEn lidera o mercado pela suas capacidades tecnológicas. A ExEn perde muito para o líder em termos de gráficos e velocidade. Porém, suprindo algumas importantes funções para o desenvolvimento de jogos (zoom, parallax, scroll, rotações, etc), ela superou facilmente o J2ME. Adicionando a isso uma máquina virtual, apesar de não ser o mais rápido, pode ser 30 vezes mais rápida que uma máquina virtual comum (em geral seria apenas de 10 a 15 vezes) e usando apenas 5% da memória do aparelho, é fácil de ver porque ela foi a engine de jogos mais escolhida atualmente.
Outra importante razão que leva muitos desenvolvedores a escolherem a ExEn é o modelo comercial da In-Fusio. Ele é dividido em dois níveis: standard e premim. No nível standard (inscrição gratuita), a In-Fusio oferece o SDK, um emulador, suporte técnico on-line e a possibilidade de, mais tarde, passar para o pacote premium. O desenvolvedor que alcançar o nível premium tem seus jogos anunciados pela In-Fusio, que os promove entre as operadoras que possuem aparelhos com suporte a essa engine.
As perspectivas de crescimento da Execution Engine são muito boas. Com uma nova versão (2.1) lançada no começo de 2003, o suporte a muitas softhouses influentes (como a Handy Games e a Iomo) e um atrativo modelo comercial para desenvolvedores independentes, o número de jogos disponíveis deve crescer consideravelmente. A In-Fusio também começou a entrar no mercado Chinês, que deve se tornar um dos mais fortes (se não o mais forte) nos próximos 2 ou 3 anos.
Mophun
O Mophun é descrito pelos criadores (Synergenix) como um “console de videogame baseado em software”. Embora ele tenha sido desenvolvido em 1999, sua implantação no mercado só antigiu níveis altos em Novembro de 2002.
Seu aparecimento tardio, aliado ao fato de que somente três aparelhos usam essa engine (Ericsson T300, T310 e T610) fizeram vários desenvolvedores descartarem a opção de desenvolver para esse sistema. As análises de mercado um tanto quanto preconceituosas feitas pelos produtores do Mophun espantaram alguns desenvolvedores interessados… por exemplo, em uma das análises, o Mophun é mostrado dividindo a liderança do mercado Europeu com o J2ME. Mas enquanto as informações referentes ao J2ME e à ExEn são de Outubro de 2002, os valores apresentados pelo Mophun eram perspectivas para 2003. Esse fato passou a impressão de que há algo errado ocorrendo com o Mophun relativo ao suporte com operadoras e fabricantes.
Tecnicamente falando, o Mophun não possui rivais. Testes feitos por organizações independentes mostraram que, em um aparelho que o Mophun consegue 60 MIPS, o J2ME consegue no máximo 400 KIPS (isso representa uma velocidade 150 vezes maior). A Synergenix ainda substituiu, em certos aparelhos, parte do código virtual por código nativo, dizendo assim ser possível conseguir chegar a 90% da capacidade máxima do aparelho (por exemplo, chegaria a 90 MIPS em um aparelho que consegue 100 MIPS quando roda programas nativos). As características restantes são similares às da Exen. Como a ExEn e o J2ME, o Mophun é encontrado gratuitamente. Em alguns aspectos, o modelo comercial da Synergenix lembra o da In-Fusio: depois que o jogo foi desenvolvido, a Synergenix se vira com certificados, distribuição e propaganda. Em todo caso, como sua rede atual não é muito extensa, seu modelo não é tão apelativo quando o da ExEn, o que faz alguns desenvolvedores escolherem o, teoricamente, sistema mais fraco.
O futuro do Mophun é meio desconhecido. Se a Synergenix falhar em conseguir suporte adicional rapidamente, é bem provável que o Mophun vai ser trocado em favor das tecnologias menos poderosas, mas mais apelativas financeiramente. De qualquer jeito, se a promessa de que muitas operadoras e fabricantes vão adotar o Mophun em breve for verdade, as avançadas características técnicas desse sistema o tornarão o novo líder.
WGE
O “Wireless Graphics Engine” é uma solução da TTPCom. Embora ele esteja começando a ser considerado o principal candidato a dominação do mercado de engines de jogos, a falta de suporte aos desenvolvedores de jogos acabou em diminuir a apelação inicial.
É impossível negar que, de um ponto de vista puramente técnico, o WGE tem tudo para vencer. Ele é mais lento que o Mophun, mas o monte de módulos da API tornam a programação 2D e 3D fáceis (incluindo as funcionalidades de manejamento de tiles e detecção de colisão), permitem o aceso simples à funções de rede e garantem suporte a som, além de outros recursos.
Como os seus concorrentes, o download do SDK é grátis e a TTPCom possui um modelo comercial direcionado em atrair grupos de desenvolvedores. Além da usual divisão dos lucros na venda de jogos através de downloads, eles garantem uma “renda mínima” através da venda dos jogos diretamente aos fabricantes.
Infelizmente, tirando a euforia inicial gerada, a falta de suporte pelos fabricantes acabou limitando o sucesso do WGE. A maioria das produtoras de software preferiram outros sistemas, o que levou pequenas companhias e produtores independentes a fazerem o mesmo. O resultado é fácil de se ver: o número de jogos existentes para WGE são pouco mais de 30. Essa falta de interesse mostrada pela maioria acabou trazendo uma vantagem para quem quer começar a desenvolver para WGE: como a concorrência interna é pequena, é fácil para um jogo de boa qualidade fazer sucesso. A desvantagem está no pequeno número de possíveis jogadores, o que limitaria os ganhos obtidos pela comercialização do jogo.
Embora seja errado dizer que o futuro imediato do WGE seja negro, as suas perspectivas deveriam ser melhores. Considerando a forte competição que a fragmentação do mercado atual vai levar nos próximos dois anos, se a TTPCom não conseguir trazer mais produtoras de software para seu catálogo, vai ser difícil obter suporte de outros fabricantes. Mas sem suporte de muitos fabricantes, vai ser muito difícil atrair mais produtoras. O futuro do WGE depende da habilidade da TTPCom de quebrar esse ciclo. Se ela fizer isso dentro dos próximos 3 ou 4 meses, as perspectivas de crescimento vão ser bem positivas. De qualquer maneira, o fim é quase imprevisível.
Qual você deve escolher?
Nesse momento, uma pergunta surge: qual plataforma o programador deve escolher? Considerando a grande fragmentação desse mercado, não existe uma resposta que considere todas as situações. Para escolher a plataforma que melhor o satisfaz, é necessário ver o que o grupo quer produzindo e analisar as vantagens e desvantagens das muitas plataformas disponíveis.
Quando os objetivos envolvem obter um vasto mercado e é possível fazer algumas limitações quanto a performace, o J2ME é a melhor opção. Se o objetivo for apenas comercializar o jogo, o grupo deve reservar algum tempo para perder negociando os meios de distribuição.
Se o projeto requer maiores potencialidades do que as oferecidas pelo J2ME e existe a possibilidade de se escolher um mercado menor, ou se o desenvolvedor deseja escolher uma plataforma que ofereça um modelo comercial simples, a ExEn deve ser escolhida.
Se os aspectos mais críticos estiverem relacionados com a performace (tanto em velocidade como em termos de gráficos), o Mophun será a primeira opção. Nesse caso, é importante verificar se escolher uma plataforma com futuro duvidoso é viável.
Se a opção de uma plataforma com um mercado reduzido não for um problema, se os objetivos forem a criação de um jogo com alta performace e se o Mophun não for satisfatório por alguma razão, o WGE é a melhor opção. Lembre-se que se deve estudar bem a escolha para evitar despesas excessivas comparadas ao lucro esperado.
Conclusão
Com esse artigo, eu tentei fazer uma rápida introdução às principais plataformas de desenvolvimento para celulares. Eu espero que isso ajude na escolha de uma plataforma para quem deseja entrar nesse mercado emergente. Essa análise é limitada às quatro principais plataformas livres existentes, para tornar esse artigo especialmente útil para os grupos amadores de desenvolvedores que desejam seguir uma caminho profissional. De qualquer forma, todos vocês que desejam chegar a esse ponto devem se lembrar que isso só será possível com a produção de produtos de qualidade adaptados as necessidades específicas do mercado.
Essa é uma tradução do artigo “The Clash of Mobile Platforms: J2ME, ExEn, Mophun and WGE“
Referências:
- Sun Microsystems, página do J2ME, http://wireless.java.sun.com/
- In-Fusio, página da ExEn, http://develper.in-fusio.com/
- Synergenix, página do Mophun, http://www.mophun.com/
- TTPCom, página da TTPCom, http://www.ttpcom.com/
- 9Dots, página de suporte do WGE, http://www.9dots.net/