Olá caro leitor. Nesta nota descreverei minha experiência de criação do primeiro jogo para Android telefones celulares. Muita gente gosta dessa história, acho que precisa ser publicada. Esta não é uma história de sucesso, mas acho que dará a muitos desenvolvedores iniciantes uma compreensão de por onde começar e o que precisa ser feito para criar um jogo simples. Com certeza descreverei meus erros e o que poderia ter sido feito melhor.
Perdoe-me Jamie Hewlett e Alan Martin, estou postando ótimas artes Tank Girlsem a permissão deles
Às vezes você cai em um estado em que deseja criar algo para que todos fiquem boquiabertos, abram a boca e digam “Bem, você é legal“. Essa história aconteceu comigo em 2011, quando assisti um trecho do filme “Tank Girl” tive a ideia de criar um jogo arcade em estilo cômico.
Por que para Android e não para iOS? A razão é simples – Eu não tinha Macintosh nem iPhone, mas tinha um grande desejo de oferecer suporte ao Linux em telefones celulares. Naquela época eu gostava da ideologia da FSF, e Richard Matthew Stallman era meu deus.
Canção dos hackers do Linux. Antes de cantar – acredite na paz mundial
Na época do desenvolvimento, a versão mais recente do Android era a 2.0, também foi necessário deixar o suporte para versões mais antigas, já que havia muitos usuários 1.6. Muitos fabricantes de telefones nem mesmo lançaram atualizações para a versão 2.0.
Defini imediatamente um prazo para a implementação deste projeto – um mês. Nesse período, tive que aprimorar meus conhecimentos em Java, estudar o Android SDK, Eclipse, conhecer o monstro diante do OpenGL ES e colocá-lo à prova. Do lado gráfico, tivemos que criar cerca de seis modelos 3D otimizados para celulares. Também foi necessário liberar o projeto para ouro no Android Market, que era como se chamava o Google Play na época)

jPCT-AE бесплатный 3д движок для Андроида
Como havia pouco tempo, foi necessário escolher um motor 3D pronto. É possível criar seu próprio motor do zero, mas não é muito produtivo, pois o teste e a compatibilidade com todos os dispositivos levarão a maior parte do tempo. Antes da chegada do Unreal Engine, Unity, ThreeJS (HTML5), o motor líder era o JPCT-AE. O mecanismo foi fornecido como uma biblioteca Java pronta e suportava versões mais antigas do Android. Além disso, seu criador, EgonOlsen, fornece prontamente suporte e correções de bugs a pedido dos desenvolvedores.
O pessoal decide tudo – hooligan Anton concordou em escrever a música para o jogo. Sempre admirei sua criatividade, seu trabalho serviu como a locomotiva que conduzia todo o gameplay, obrigando o usuário a jogar até o último helicóptero abatido.
Tantas coisas, por onde começar? Você precisa começar instalando o Android SDK. Agora ele vem com um IDE integrado – Estúdio Android. Mas naquela época, o IDE e o SDK eram fornecidos separadamente. De acordo com a documentação do site do Google, instalei o Android SDK e o Eclipse. Os pacotes necessários ao Eclipse também foram instalados para garantir a montagem e lançamento do emulador Android. Uma hora depois montei um projeto de teste jpct-AE:
Uau! Mas no emulador de telefone tudo era muito lento. Portanto, foi tomada a decisão de comprar um telefone na plataforma Android. Para o efeito, foi adquirido um LG Optimus One P500. Desde então, não usei excelentes telefones Nokia com botão de pressão na plataforma Symbian. Ocorreram problemas ao conectar o telefone ao Linux, se alguém ainda os encontrar, verifique as configurações do udev.
Jobs cita Pablo Picasso
Olhando para Alien Runner, percebi que o alienígena pode ser substituído por uma motocicleta e dois punks por uma bazuca, a clareira ao redor pode ser transformada em uma metrópole e a neblina pode será substituído por uma noite de baladas do Iron Maiden. p>
Como fazer modelos 3D? Sim, é muito simples, você abre uma aula sobre criação de modelos low-poly no Youtube e faz. Todo o processo consistiu em delinear projeções em um editor 3D. Encontrei desenhos de um helicóptero Apache e fiz um modelo do helicóptero. As texturas foram retiradas de fontes abertas do Exército dos EUA.

Por que você precisa de um helicóptero em um jogo com dois punks e uma bazuca? Quando joguei o protótipo, percebi que o jogador poderia simplesmente ficar parado e marcar pontos. A solução ideal era um helicóptero que chegasse voando e atirasse torpedos submarinos no jogador, não permitindo que ele parasse.
Nos aplicativos móveis e jogos da época, o problema de falta de memória era agudo, tanto no próprio telefone quanto na RAM. O desempenho também foi excelente. Um processador ARM com frequência de 300-500 MHz. Como resultado de testes em telefones de amigos, descobriu-se que o HTC tinha metade da memória de vídeo do LG, 8 MB e 4 MB, razão pela qual o jogo ultrapassou os limites de memória e não iniciou. Todos os recursos foram compactados a ponto de obter uma taxa de quadros de 30 quadros por segundo e a capacidade de rodar em quase tudo.
Não repita!
Alien Runner era controlado tocando na tela. Esse tipo de controle me pareceu inconveniente, então implementei o controle por meio de um acelerômetro. Ou seja, você liga o telefone – a motocicleta gira. Gostei tanto que até adicionei uma visão em primeira pessoa, para os mais corajosos.
Precisei do apoio do desenvolvedor do motor jpct-AE quando vi que o apagão na frente estava desaparecendo no jogo. Isso aconteceu após minimizar e maximizar o aplicativo. Criei um tópico no fórum jpct-AE e em dois dias o problema foi resolvido. Integrei a versão corrigida do motor ao jogo.
Havia também a questão de como implementar um suprimento infinito de máquinas. Para um jogo para celular, era necessário encontrar uma maneira de adicionar carros ao cenário do jogo RAPIDAMENTE. A opção de carregar de memória lenta ou cartão SD foi imediatamente rejeitada. Um padrão de design chamado pool de objetos veio em socorro. Quando um carro saía de vista ou era destruído, ele era desligado e no momento em que era necessário trazer um carro novo para o início da cena – ele era desligado. então ele foi ligado e colocado lá.
Bem, o dia do lançamento chegou. O jogo foi testado, apresentado aos amigos e agora estava prestes a ganhar ouro no Android Market. O registro no Android Market custa US$ 20, pago. Adicionadas descrição e capturas de tela. E naquele momento percebi que precisava gravar um vídeo.
Como gravar um vídeo para um projeto móvel? É realmente possível filmar um celular e depois publicá-lo? A solução foi interessante, usei um emulador de Android, joguei o jogo com uma taxa de quadros de dois quadros por segundo, gravando tudo o que acontecia na tela usando um programa chamado algo como gtkDesktopRecorder. Usando o VirtualDub, a velocidade do vídeo foi aumentada para 30 quadros por segundo. Então, no melhor programa de edição de vídeo – Windows Movie Maker adicionei todos os sons e músicas do jogo.
Agora chega o momento dos erros. Nada foi investido na promoção do projeto, nem esforço nem dinheiro. Acreditei então que o projeto iria se recuperar. O jogo ganhou ouro, criei um tópico no fórum jpct-AE sobre Mad Racer. Consegui 12 instalações por um dólar em duas semanas. E encontrei o jogo disponível gratuitamente em vários sites warez no dia seguinte.
Cantando a música da FSF “Compartilhe o software” Resolvi fazer uma versão gratuita com publicidade. O jogo foi transferido para a categoria AdWare, e abaixo apareceu um banner publicitário da rede AdMob. A integração com o sistema de publicidade ocorreu sem problemas. Em um mês, o jogo foi instalado em dez mil dispositivos. Recebi US$ 50 da rede de publicidade.
Em geral não se esqueça da publicidade, acredito que esta deve ser uma das principais despesas do seu projeto.
Pelo lado positivo, gostaria de destacar que consegui um cargo como desenvolvedor iOS em uma das melhores empresas de nossa cidade. E, claro, uma experiência inestimável.
Ссылка на Google Play
Se você gostou do artigo, repasse-o no VKontakte, Facebook)


