Ponto V!

Home Mercado Post Mortem Postmortem: Pocket Dragons Killer
Thiago C. Moraes
Postmortem: Pocket Dragons KillerImprimir
Escrito por Thiago C. Moraes

Parece que foi ontem que postei aqui no Ponto V o artigo sobre o desenvolvimento da minha engine a Magic3D, mas já se passaram mais de 3 anos, tempo esse que passou quase que em um piscar de olhos, mas foi muito importante para mim, pois foi possível aprender muito ao longo desses anos. Quando iniciei o seu desenvolvimento o intuito era utilizá-la para fazer meus jogos, pois na época a Unity 3D tinha várias limitações em sua versão gratuita e a Unreal era caríssima, no entanto hoje a Unity oferece todos os seus recursos na versão gratuita e a Unreal 4 também tornou-se gratuita, fazendo com que atualmente a minha engine não seja a melhor escolha para desenvolver jogos sem gastar muito.

Me arrependo de tê-la desenvolvido? De forma alguma, pois o conhecimento adquirido durante esse período tenho certeza que não teria adquirido de outra forma, por isso valeu cada minuto, mas começaria uma nova engine do zero nos dias de hoje? Não, só se fosse realmente para aprender técnicas que eu ainda não tenho conhecimento, pois com engines tão boas e gratuitas acredito que no mesmo tempo seria possível produzir vários jogos.

Como a engine estava pronta e eu já havia começado o desenvolvimento do Pocket Dragons Killer, resolvi não migrar para outra engine e termina-lo nela, até para servir como prova conceito de que a Magic3D realmente estava pronta.

mdnh6Kft6lRgFSC7tvdlr1pt_i6XdNHuskkbS53yc81hihitXH-cS3MfTlqw8PYYhZCI7wWOXohEr-wGT5YT52DSHLVN9MPBjvtVJM2YZsf60LUY9xMZM8dPXB4YTIW6Vss617g[1]

Equipe

Uma das lições aprendidas durante o desenvolvimento tanto da engine quanto do jogo é de que o “exército de um homem só” é uma tarefa árdua e não muito eficaz, por isso para jogos pequenos como é o caso do Pocket Dragons Killer o impacto de trabalhar sozinho não foi comprometedor, mas com certeza atrasou em vários meses o lançamento tanto da engine quanto do jogo.

Ferramentas

Utilizei a Magic3D para criação da cena e programação em LUA do jogo, resolvi fazer em linguagem script ao invés de usar C/C++, pois como havia colocado essa possibilidade no editor da engine achei que era bom testar se realmente era viável a criação de um jogo utilizando apenas os comandos disponibilizados via script.

Para modelagem utilizei o Blender e para a criação das texturas, ícones e imagens foram utilizados o Inkscape e o Gimp.

Tanto a música quanto os efeitos sonoros foram baixados de sites como o Youtube Audio Library, Free SFX e outros e utilizei o Audacity para edição dos mesmos.

Desenvolvimento

Por ser um jogo simples, seu desenvolvimento também não teve grandes complexidades, uma vez definida sua mecânica e seus elementos, iniciei a modelagem da ilha e do castelo que seriam o cenário principal e em seguida modelei e animei o primeiro dragão, pois inicialmente seriam 3 modelos diferentes, mas para não atrasar ainda mais o lançamento optei apenas por modificar a escala e a cor, mantendo dessa forma apenas um modelo.

Durante a programação do gameplay percebi que haviam problemas de usabilidade na engine e falta de métodos em script, o que me obrigou a modificar várias coisas no editor da engine e a disponibilização de mais métodos em LUA.

O passo seguinte foi a criação das texturas e materiais, o que me levou à alteração e implementação de novos recursos no editor da engine, fazendo novamente eu parar o desenvolvimento do jogo e retornar à engine. No entanto após as devidas correções e implementações o editor de shaders da engine facilitou muito o teste e a visualiazação em tempo real dos efeitos especiais.

Depois de pronta a implementação do gameplay, finalizados os modelos e texturas, foi a vez da GUI, que por sua vez também apresentou problemas e fez com com que eu precisasse fazer muitas alterações na engine para atingir o resultado desejado, mas que no final valeu a pena, pois o novo sistema de GUI ficou de fácil utilização.

Por fim adicionei o áudio e programei a última parte da engine que foi o empacotamento dos assets em um único arquivo para poder distribuir o jogo.

Dificuldades Encontradas

Em termos de programação a única dificuldade foi com relação à performance nos dispositivos mobile, pois a idéia inicial é que o jogo utilizaria todos os efeitos especiais disponíveis na engine, o que na versão final não foi possível, pois mesmo com todo o poder de processamento dos iPhone 5 e 6 e os novos modelos de iPad, muitos dos efeitos utilizam exaustivamente fragment shaders que infelizmente ainda não tem uma performance adequada nos dispositivos citados, e por mais simples que seja o jogo, nos momentos finais haviam vários elementos na tela fazendo com o que o framerate diminuísse drasticamente. Portanto para os dispositivos mobile não foi possível a utilização de todos os efeitos desejados inicialmente.

A maior dificuldade mesmo foi em relação à arte, música e efeitos sonoros, pois como meu orçamento era de R$ 0,00 eu não tinha como contratar especialistas em cada uma das áreas necessárias para fazer um jogo e por isso tive que fazer tudo sozinho ou baixar opções gratuitas da internet.

Resultados

O jogo ficou fiel à ideia inicial, deixando de lado apenas alguns efeitos especiais planejados inicialmente. Não é um jogo complexo e muitos menos extenso e foi criado para a distração em momentos como filas em geral ou salas de recepção, como o jogo não tem propagandas e pode ser jogado sempre que se quiser optei por vender a um preço semelhante à uma dose de pinga que é o valor mínimo permitido pela App Store U$ 0.99.

Pontos a Melhorar

Graficamente falando o jogo não ficou ruim, mas também não ficou nem perto do que poderia se um artista de verdade tivesse trabalhado nele.

A música e os efeitos sonoros são genéricos e podem ser encontrados em outros jogos, fazendo com que a experiência sonora não seja única e esse com certeza é um ponto que pode ser melhorado para futuros jogos.

O gameplay é simples e funcional e isso talvez funcione no começo, mas após jogar algumas vezes é possível que o jogo já não agrade tanto, por isso poderiam ter sido implementados outros desafios e gratificações para o jogador.

Com relação ao tempo de desenvolvimento ficou difícil mensurar, pois enquanto fazia o jogo fiz várias modificações e novas implementações na Magic3D, o que estendeu o tempo de desenvolvimento do jogo em si e sua finalização, por isso para os próximos jogos provavelmente utilizarei engines mais maduras e que agora se encontram gratuitas.

Links do Jogo

Magic3D Engine: http://www.magictech.com.br/downloads.html

Site da minha empresa: http://www.magictech.com.br

Pocket Dragons Killer na App Store: https://itunes.apple.com/us/app/pocket-dragons-killer/id1027588104


Comentários (2)
  • Rafael  - Parabéns
    avatar

    Meus parabéns pelo seu projeto, deve ser muito gratificante pra você toda essa experiência.

    Estou iniciando meus estudos agora na parte de gamedev e espero ter bons resultados como o seu.

    Te desejo sucesso nos seus próximos trabalhos e que compartilhe aqui :)

  • Jair Dubik  - Referência da Pessoa Thiago Moraes
    avatar

    Prezados

    Trabalhei há alguns anos ao lado do Sr. Thiago Moraes. Tive o privilégio de testar o jogo em 3D de Capoeira, desde seu inicio até a entrega na banca de sua Pós Graduação (http://devjogos.blogspot.com.br/2009/01/roda-de-capoeira-aluno-thiago -moraes.html).

    Em verdade, ele adora desafios e geralmente, vence-os.

    Apresento o Thiago como referência, pois no passado me auxiliou muito na aprendizagem da programação Orientada a Objetos.

    Um abraço a todos aqueles que doam parte de seu tempo pelos outros.

Escrever um comentário
Your Contact Details:
Gravatar enabled
Comentário:
[b] [i] [u] [url] [quote] [code] [img]   
:angry::0:confused::cheer:B):evil::silly::dry::lol::kiss::D:pinch::(:shock:
:X:side::):P:unsure::woohoo::huh::whistle:;):S:!::?::idea::arrow:
Security
Por favor coloque o código anti-spam que você lê na imagem.
LAST_UPDATED2  

Busca

Linguagens

Twitter