Posso fazer um jogo para celular como o Clash of Clans usando JavaScript?
Sim e não. É possível, mas só JavaScript seria uma abordagem muito difícil.
Clash of Clans (CoC) tem uma série de problemas realmente difíceis. Há muitas ferramentas e técnicas que seriam melhores combinadas se você realmente quiser construir um CoC. Dito isto se você fizesse uma versão local com dois jogadores, seria muito mais fácil do que se você fizesse o que Supercell faz: milhões de usuários simultâneos.
O primeiro problema são as tropas, construções, e paisagens. Usar um motor de jogo vai tornar isto muito mais fácil do que codificar directamente em qualquer língua. Estreitamente relacionado é o fato de que o CoC funciona em mais de um sistema operacional móvel. Um motor de jogo de plataforma cruzada seria melhor do que qualquer motor de jogo de plataforma única. Um dos mais utilizados é o Unity. Para usá-lo, C# será necessário, uma vez que eles estão terminando o suporte ao JavaScript em breve. Existem engines de jogos baseadas em JavaScrpt.
O próximo problema é o "backend", servidores que mantêm todos os dados dos jogadores. Eles também lidam com o "matchmaking", escolhendo jogadores para lutar uns contra os outros. Este é um grande problema de base de dados, um problema de "matchmaking". Grandes bases de dados requerem considerar muitos reinos para mantê-los rápidos (especialmente quando distribuídos ao redor do mundo como CoC.) Problemas de matchmaking podem facilmente se tornar NP-completeness - Wikipedia em dificuldade se você não for cuidadoso na forma como você os Engineeer. Estes dois problemas podem ser grandemente simplificados usando um backend móvel como serviço - Wikipedia. A unidade tem um que é mais novo do que alguns dos outros. Supercell provavelmente escreveu lá próprio - não em JavaScript. Mesmo com um BaaS utilizando-o bem é não-trivial.
Uma parte muito importante do backend é mais fácil no CoC do que no Clash Royale (CR.) CoC as batalhas podem acontecer de forma assíncrona, então uma conexão de baixa latência de alta velocidade não é tão crítica como no CR onde os jogadores lutam em tempo real requerendo uma conexão sincronizada.
Agora vem a inteligência artificial (IA), embora em termos de IA as tropas do CoC não tenham necessidades de IA realmente complexas. No entanto há muitos tipos de tropas que precisam de um mínimo de cérebros.
P>Pouco é equilíbrio. Isto não é uma questão de tecnologia de codificação por dizer, mas é difícil. Conseguir que todas as tropas e coisas tenham um conjunto bem equilibrado de atributos é difícil! Supercell recolhe uma montanha de dados dos jogos que estão sendo jogados ("analíticos") para ajudá-los a se ajustar e modificar o equilíbrio ao longo do tempo. Unity e muitos outros oferecem ferramentas analíticas para ajudar.
Então sim, em teoria você pode ser capaz de escrever CoC em JavaScript mas seria uma tarefa tão monstruosa que poderia levar uma vida inteira. Não, para praticamente escrever um jogo como CoC você precisa usar muitas ferramentas, técnicas e tecnologias. Nesse processo, você provavelmente precisará usar uma linguagem principal para o motor de jogo que você escolher. Você pode precisar aprender pelo menos pequenos pedaços de outras linguagens no suporte de uma ferramenta ou serviço que melhor se adapte às suas necessidades do jogo.
Artigos semelhantes
- Por que tantas pessoas estão interessadas no jogo Clash of Clans of Clans para celular P2W?
- Qual destes jogos para celular é o melhor e por quê, Marvel Contest of Champions, Clash Royale, ou Clash of Clans?
- Que linguagem usou a Supercell para construir Clash Royale e Clash of Clans?
- Jogos como Clash Royale e Clash of Clans ficam aborrecidos depois de jogá-los por algum tempo?