
fundo
Já desenvolvo produtos de software há 6 anos, comecei a desenvolver aplicativos para iOS. Depois de lançar vários aplicativos, que renderam cerca de US $ 500 no total, decidi me aventurar no desenvolvimento de sites e configuração de anúncios. Trabalhei nesta área durante 3 anos, e percebi que criar sites não é o que gostaria de fazer na vida.
Como gosto muito de jogos desde criança, decidi considerar o gamedev como um nicho de futuro onde gostaria de me experimentar. Fez um jogo grátis no SpriteKit (framework da Apple para criação de jogos 2D), comecei a me familiarizar com ferramentas para desenvolvimento de jogos. Decidi estudar o Unity em detalhes, pois me pareceu a melhor opção para desenvolver jogos para celular. Eu lancei um jogo simples no Unity na AppStore e no Google Play, e naturalmente 3 pessoas e meia jogaram. Isso realmente não me impediu, já que o objetivo de desenvolver este jogo era principalmente me familiarizar com o processo de desenvolvimento no Unity e lançar o jogo no Google Play. Esses objetivos foram alcançados, dava para seguir em frente. Comecei a estudar a Unity com mais profundidade: 3-4 horas por dia, estava constantemente fazendo cursos avançados de desenvolvimento. eu acho queque eu tive sorte - eu encontrei um curso realmente detalhado e sensato sobre criação de RPG no Unity, e muito, especialmente várias práticas recomendadas, eu aprendi com ele.
Naquela época, me deparei com uma vaga em um grande desenvolvedor de jogos para celular, decidi tentar. Trabalhei lá por 3-4 meses. Este foi meu primeiro trabalho de aluguel. Antes disso, ele trabalhava com bastante sucesso apenas para si mesmo. Depois de um certo tempo, percebi que não era meu. Devemos homenagear - a empresa proporcionou a máxima comodidade para o trabalho. E no geral, fiquei surpreso com o quão legal em nosso país (eu moro na Rússia, em uma cidade com uma população de um milhão) pode haver uma atitude legal em relação aos trabalhadores. De maneira nenhuma quero dizer que outras empresas têm uma atitude ruim, só o que observei é muito legal.
Em geral, depois de sair do trabalho, percebi que queria tentar criar um jogo realmente interessante e único (provavelmente o termo “jogo único” não se encaixa muito bem no conceito de jogo analógico GTA Online, mas falaremos mais sobre isso depois). Desde criança adorei a série GTA - joguei dezenas de horas a fio no GTA Vice City e no GTA San Andreas, coloquei mods, torci os parâmetros dos carros. Então, após o lançamento de GTA IV, ele fez o mesmo com ela. Depois, GTA IV: Episódios de Liberty City, GTA V. E, claro, GTA Liberty City Stories, GTA Vice City Stories, GTA Chinatown Wars para PSP. Também passei muitas horas jogando outros jogos semelhantes - Saints Row, Godfather 2, etc. Eh, aqueles foram bons momentos ...
Então, conheci vários projetos de Role Play baseados em GTA. Mas a convivência com eles, infelizmente, já acontecia pelo YouTube, pois o trabalho passou a demorar quase todo o tempo, e encontrar 30 minutos por dia para um vídeo não é problema. Acho que os projetos de RP criaram um nicho muito interessante, e geralmente repensaram o GTA.
Projetos RP criaram um nicho muito interessante e geralmente repensaram o GTA
Como eu disse acima, meu tempo livre estava ficando cada vez menor e eu queria jogar algo como GTA Online / GTA RP no meu telefone - felizmente, hoje os telefones são realmente poderosos e, em teoria, algo assim pode ser implementado (por exemplo, o mesmo PUBG que funciona muito bem em quase qualquer dispositivo). Imagine minha surpresa quando na AppStore encontrei literalmente 3 jogos que de alguma forma poderiam ser atribuídos a “análogos de GTA Online”, e mesmo esses são terríveis. Foi assim que surgiu a ideia de criar o primeiro análogo do GTA Online para dispositivos baseados em iOS e Android.
ALT: City Online

A jogabilidade em ALT: City Online é uma mistura do clássico GTA Online e suas modificações no Role Play. Logo no início do jogo, você aparece no ponto de partida (presume-se que seja uma estação de trem ou um aeroporto). Sua tarefa é encontrar um emprego e começar a ganhar dinheiro e experiência. Conforme você ganha experiência, novas profissões se abrem para você. A lista de profissões será ampla e agora estou trabalhando para tornar a jogabilidade de cada profissão o mais interessante possível. Então você pode comprar um apartamento, uma motocicleta, depois uma casa, um carro, um carro melhor - em geral, todo mundo que jogou GTA RP conhece isso. O truque do jogo é que em uma sessão, ao contrário do clássico GTA Online, haverá centenas de pessoas, você poderá interagir com todos - conversar, causar danos, cooperar, trocar coisas, vender coisas.

O jogo poderá comprar armas, mudar suas peles. Além disso, o ajuste do veículo estará disponível no jogo.
Mas a principal diferença dos projetos RP é que ALT: City Online não tem um console clássico para tais projetos, não há administradores, não há necessidade de “jogar RP”. Você pode, mas não precisa.
A área do mapa no jogo é de cerca de 225 quilômetros quadrados, mas cerca de um terço da área é coberta por água, então a área “efetiva” é de aproximadamente 150-160 quilômetros quadrados. Naturalmente, preencher um mundo tão grande com conteúdo sozinho é difícil o suficiente, então o jogo será preenchido com conteúdo em atualizações futuras.

O importante é que o jogo funcione não apenas nos aparelhos de última geração. Por exemplo, se falamos de iOS, então o dispositivo mínimo suportado é o iPhone 7. Em geral, o principal "gargalo" da otimização do jogo tornou-se a opacidade do consumo de memória na plataforma iOS (esta é uma desvantagem conhecida do Unity, com a qual pouco se pode fazer no momento), devido a o que foi bastante difícil de otimizar o enorme mundo aberto para rodar em um pequeno dispositivo com 2 GB de RAM.

Quais questões tiveram que ser resolvidas
Em primeiro lugar, era preciso entender, é possível implementar um jogo online móvel em um grande mundo aberto no Unity? Assim, um gerador de cidade simples para Unity, um controlador de personagem foi comprado, modelos gratuitos de armas e um carro foram baixados e o servidor cliente foi de alguma forma configurado (a questão da implementação do multijogador estava sendo decidida há muito tempo, uma vez que não existe uma solução oficial do Unity, e existem muitos frameworks, e são muito diferentes , Falarei mais sobre a arquitetura de rede em um artigo técnico futuro.) Um protótipo bastante jogável estava pronto duas semanas depois. Ou seja, um servidor de jogo de teste foi iniciado em um servidor virtual, clientes foram instalados em telefones de amigos. Nós nos conectamos, jogamos - tudo funciona muito bem para o protótipo, todos estão felizes. Realizado um teste de estresse, descobriu-se que o servidor comporta pelo menos 100 jogadores.Para o jogo, isso é um mínimo suficiente, mas, em geral, a meta é de 600-1000 jogadores no servidor (ou seja, haverá tantos jogadores na sessão ao mesmo tempo). Em geral, veio o entendimento de que o Unity é muito adequado para este projeto.
A questão mais importante foi removida, foi possível começar a escrever o documento de design. A primeira versão do documento de design foi escrita em uma semana. Bastante detalhado, devo dizer. Mais detalhes sobre a doca de design estarão em um dos artigos a seguir.
Em seguida, você teve que descobrir o que fazer com os modelos 3D? E eles realmente precisavam de muito - prédios, carros, vários acessórios, roupas, armas. E o mais importante, como modelar o próprio mundo: paisagem (terreno), rede de estradas, cidade? Escrevi uma lista detalhada de todos os objetos de que precisava. Passei uma semana procurando os modelos certos na lista e percebi que, a princípio, tudo que você precisa está nas lojas de modelos 3D.
Vou divagar - você precisa entender que estou trabalhando no projeto desde dezembro em tempo integral (10-12 horas por dia, sete dias por semana) e gastei quase todos os fundos reservados nos últimos anos na compra de várias ferramentas e modelos 3D. Acho que isso removerá muitas questões sobre por que “pouco” tempo foi gasto em alguns estágios.
Tudo o que escrevi acima aconteceu no período de dezembro do ano passado a fevereiro deste ano. Comecei a trabalhar no projeto em dezembro, ou seja, em três meses um protótipo foi testado, um documento de design foi escrito e foram encontrados recursos para implementar a ideia. A questão permaneceu pequena - fazer tudo e juntar tudo.
É importante no início, mesmo antes de escrever o documento de design, pensar em como os jogadores descobrirão seu futuro jogo. Na minha humilde experiência, a melhor estratégia de marketing é fazer um jogo legal realmente único. Se o jogo for realmente único e muito legal, você não terá a opção de falhar. Sim, eu sei que muitas pessoas estão prontas para argumentar fortemente com esta afirmação de que muito dinheiro precisa ser injetado no jogo para que ele seja disparado, etc. Direi uma coisa - também costumava pensar assim. Mas houve circunstâncias que me mostraram que se o jogo for legal, ele será filmado sem orçamentos de marketing e, se o jogo for uma merda, nenhum orçamento o salvará. Portanto, meu principal plano de marketing era fazer um projeto interessante e único.
O estado atual do projeto
No momento, estou trabalhando no jogo há nove meses. O projeto está 85% pronto para lançamento alfa. O mapa já foi totalmente modelado, o mundo aberto foi configurado nos telefones, o trabalho foi feito na renderização (LODs, várias configurações de gráficos, otimização de textura, lote dinâmico, etc.), a arquitetura cliente-servidor foi configurada e o consumo de memória foi otimizado.
Para a versão alpha, resta finalizar a mecânica básica, adicionar trabalhos, adicionar conteúdo (carros, roupas), adicionar IU e testar tudo completamente.
Capturas de tela




Conclusão
Obrigado por ler este post até o fim. Esta é minha primeira experiência escrevendo um artigo, então ficarei feliz em receber feedback. Este é o primeiro artigo de uma série dedicada ao lançamento iminente de ALT: City Online. O último artigo desta série será uma notícia sobre o lançamento do jogo. Então, por favor, escreva o que você gostaria de ler em posts futuros.
Um grande pedido a todos que estão interessados no projeto: em breve começaremos os testes alfa abertos online no Android e iOS, então junte-se ao grupo VKontakte para saber quando os testes alfa começarão. Assim, você ajudará muito no desenvolvimento do projeto. Todos os testadores têm naturalmente direito a valiosos prêmios de jogo imediatamente após o lançamento do projeto.
Assine também o Twitter, notícias serão postadas lá, bem como fotos e vídeos atuais sobre o empreendimento: @AltCityOnline
Você também pode deixar seu e - mail no site ALT: City Online . Ele receberá uma notificação quando o jogo estiver disponível para download. Todo mundo que deixou seu e-mail no site também ganha um grande bônus ao iniciar o jogo!