Pressione enter para ver os resultados ou esc para cancelar.

Evelyn Neka em Entrevistas

Jogos mobile: Comparando a Unity e Cocos2D para desenvolvimento de jogos 2D

Equipe do Casual Arena tem vindo a desenvolver Flash game browsers desde 2008. No ano passado eles se especializaram no desenvolvimento de plataformas cruzadas mobile e jogos para tablets, estudando diferentes tecnologias e especializando-se em Cocos 2D e Unidade 3D. Este artigo destaca as diferenças entre os dois ambientes e compara-los explicando suas respectivas diferenças.

desenvolvimento-de jogos mobile
Fonte: Inteligemcia

Desenvolvimento de jogos mobile de plataforma 2D

A maioria dos desenvolvedores de aplicativos móveis e jogos para tablet querem ter seu jogo disponível para muitas plataformas, ou pelo menos disponível para iOS e Android. Claro que é sempre possível fazer 2 ou mais desenvolvimentos paralelos usando código nativo (Objective-C para iOS, Java para Android…), mas isto não é recomendado. A opção mais eficiente é usar um ambiente de desenvolvimento que permite que você alveje um múltiplo de plataformas a partir de um único desenvolvimento. Aqui surge a primeira grande questão: Qual tecnologia usar?

Existem vários frameworks e tecnologias disponíveis para o usuário: Unity3D, Cocos2D, Marmalade ou Adobe Flash, entre outros. Adobe Flash praticamente só se usa quando seu aplicativo já foi desenvolvido em Flash para uso de browser e você apenas deseja migrar rapidamente para o móvel. Se você tiver um aplicativo muito simples (por exemplo, um jogo de tabuleiro), em seguida, é possível usar esta tecnologia, no entanto, se seu aplicativo requer mais poder de processamento (por exemplo jogos com gráficos pesados ou animações, etc) Flash deixa de ser uma opção viável. Cocos2d é um quadro abrangente, código-fonte aberto e totalmente gratuito. Este é o principal motivo de ela ser a tecnologia mais utilizada, superando a Marmalada ou Unity que não são completamente grátis. Unity3D tem sido e continua a ser a plataforma de desenvolvimento mais utilizada para desenvolver jogos 3D. Com novas versões de Unity, que inclui a funcionalidade específica para o desenvolvimento de jogos 2D, também tem se posicionado como uma posição muito sólida para este tipo de jogo, tornando Cocos e Unity as duas opções atuais para desenvolviemtno de jogos 2D. De nossa experiência, recomendamos escolher dentre estas 2 tecnologias para o desenvolvimento de jogos 2D. Mas a grande questão continua a ser:

Qual é a melhor tecnologia para jogos 2D: Unity 3D ou Cocos2D?

Na Internet você é capaz de encontrar muitas comparações entre essas duas tecnologias. Quando começamos a desenvolver os nossos jogos mobile podemos ler todos os dados e informações disponíveis para tomar uma decisão. O problema com essas comparações é que eram quase todas muito subjetivas. Desenvolvedores que tinham especializado em Cocos e assim defendiam essa tecnologia. Aqueles que usaram o Unity, defenderam a unity. Há realmente muito poucos especialistas desenvolvedores em ambas as plataformas. Temos estudado e desenvolvido para os 2 ambientes e temos uma opinião objetiva: Unity é claramente uma plataforma melhor. Na verdade, uma resposta mais precisa seria: “se você pode pagar vai para a Unity, caso contrário Cocos é um bom back-up”. Unity3D é muito mais avançado que a tecnologia Cocos2D enquanto Cocos2D é gratuito e open source. Considere as diferenças entre eles. Quando se fala de Cocos2D (ou simplesmente Cocos), nos referimos a Cocos2D-x, que é a plataforma de extensão Cocos2D (inicialmente orientada para iPhone).

Vantagens da Cocos2d contra Unity3D

Cocos2d é livre, open source e mais usado para dados. Unity, no entanto, é cara. Ela tem uma licença livre, mas é insuficiente para desenvolvedores profissionais. A licença custa entre US $ 1.500 e US $ 4.500 mais por pessoa (mais impostos), que é uma barreira significativa para novos desenvolvedores. Cocos2d usa a linguagem de programação C ++ e bibliotecas de luz, tornando-se um pouco mais simples que o processador de Unity. Você pode ver o código completo para Cocos2D, editar ou adaptá-lo às suas necessidades. Se você é especialista em C++ e não quer pagar licenças caras por unidade, Cocos2D é a melhor escolha. Tem algumas características muito positivas, mas não há vantagens, em comparação com a Unity. Tem bons motores físicos, grande quantidade de exemplos para cada um dos recursos da Cocos2D, uma grande comunidade de desenvolvedores que oferecem suporte e melhora a cada dia, etc. Mas tudo isso também foi feito pela Unity.

Vantagens da Unity3D contra Cocos2D

Todo o resto. Claro, falamos sempre sobre 2D, sendo que Coco não suporta software 3D.

Ambiente de design

Cocos2D não tem nenhum ambiente de design integrado. O design de telas ou interfaces deve ser feito com programação, carregamento de imagens e posicionando-os com C++. No entanto, você pode usar editores gráficos externos como Cocos Studio (também gratuito), para ajudá-lo a posicionar os elementos na tela e configurar certos objetos. Mas este editor é muito menos poderoso do que o da Unity. O editor de Unity é totalmente integrado. Cocos Studio, pelo contrário, não é, e sua operação é baseada em um arquivo XML e gerar uma série de imagens da biblioteca de Cocos. Tem alguns bugs e nem sempre funciona em todos os computadores. O editor gráfico Unity permite design e cenas de layout Unity com facilidade, sendo capaz de inserir objetos, scripts, efeitos de luz, efeitos físicos, etc. Isto é conseguido arrastando componentes e modificar os parâmetros. Portanto, isso reduz bastante o tempo de desenvolvimento em comparação com um layout com Cocos2D ou Cocos studios.

Linguagem de programação

Cocos2D usa C++ enquanto Unity3D permite que você use C # ou Javascript. C # e Javascript são línguas muito mais poderosas do que C++, permitindo programar ações e algoritmos com menos dificuldade do que C++. Também, para aqueles que não são especialistas em C++, aprender pode ser muito tedioso e difícil. Você também tem que se preocupar com problemas tais como a gestão dos ponteiros ou vazamentos de memória. Todos esses problemas desaparecem com Unity, deixando você se concentrar apenas nas características do seu jogo, que é novamente uma grande economização de tempo. Além disso, editores de código, tanto MonoDevelop como VisualStudio, são muito mais estável, mais simples e mais abrangente do que Cocos (XCode principalmente). Em resumo, podemos dizer que C#/ Javascript (Unity) é mais fácil do que C++ (Cocos) que permite-lhe poupar tempo fazendo seu trabalho com línguas mais eficientes.

Multiplataforma

Ambas as tecnologias são multi-plataforma, mas a Unity é a melhor das duas. Cocos2d permite o desenvolvimento de diferentes tecnologias móveis, incluindo iOS e Android. Unity adiciona o resto: console, desktop e de browser. Se você quer seu o desenvolvimento do navegador seja apoiado com Facebook, Cocos2D é insuficiente. Usando Cocos você teria que fazer um segundo desenvolvimento do navegador, por exemplo, Adobe Flash, como é o caso da maioria dos jogos disponíveis para o mercado móvel e navegador. Com a Unity não é necessário, permitindo a exportação para navegador facilmente. Unity pode exportar para o mercado de tecnologias quase todos os jogos: móveis e tablets (iOS, Android, BlackBerry e Windows Phone), navegador (com Unity Web Player e HTML 5 em breve) console (Xbox, PlayStation e Wii) e desktop (PC, Mac e Linux). Além disso, a Unity permite adaptações específicas para diferentes dispositivos, Cocos2D é a maneira mais fácil (por exemplo, para se adaptar a um jogo para iOS e Android).

Documentação e tempo de aprendizagem

Existe diversas documentação da Unity. Há vídeos de tutoriais e textos alguns traduzidos para português. O apoio é relativamente rápida e concisa. Documentação de cocos, no entanto, é escassa e de má qualidade. Disponível somente em inglês e às vezes apenas em chinês. O suporte é zero, o fórum está cheio de perguntas não respondidas e obter respostas é muito difícil. O tempo de aprendizagem da Unity é muito mais rápida do que a de Cocos: o editor gráfico, C# / Javascript e abundante informação e suporte permite ter uma experiência de aprendizagem agradável. O oposto pode ser dito sobre Cocos2D.

Comunidade e Extras

Unity3D já é uma ferramenta muito poderosa de desenvolvimento de jogos mobile. Mas esse poder é realçado mais com as contribuições dos outros através de sua loja de ativos. Centenas de desenvolvedores vendem seus plugins, recursos e melhorias através desta loja. Alguns destes plugins são tão poderosos que se tornou uma obrigação comprá-los: modelos 3D, texturas 2D, animações, aplicativos, editor de extensões, scripts, são apenas alguns dos extras você pode comprar ou baixar na loja oficial da Unity gratuitamente. Entre eles, Ngui, que é uma extensão para o editor gráfico, isto é uma grande ajuda para desenvolvimentos 2D e reduz ainda mais o tempo de desenvolvimento dos jogos mobile. Ngui Unity é (quase) como jQuery para Javascript. Cocos não possui esses extras fundamentais.

Conclusão

A Unity é caro, mas vale a pena. Tempo de desenvolvimento é reduzido em uma taxa muito mais elevada do que a proporção dos seus custos de licença. Muitas das suas características, não se consegue adquirir com Cocos2D. Assim, Unity3D é melhor que Cocos2D.

projeto-de-app

Comentários

Comentários estão desabilitados para este post