O que há de Novo?
Fórum Outer Space - O maior fórum de games do Brasil

Registre uma conta gratuita hoje para se tornar um membro! Uma vez conectado, você poderá participar neste site adicionando seus próprios tópicos e postagens, além de se conectar com outros membros por meio de sua própria caixa de entrada privada!

  • Anunciando os planos GOLD no Fórum Outer Space
    Visitante, agora você pode ajudar o Fórum Outer Space e receber alguns recursos exclusivos, incluindo navegação sem anúncios e dois temas exclusivos. Veja os detalhes aqui.


[Tópico sobre o desenvolvimento] Switch Hype Train - The Game

Landstalker

Lenda da internet
Mensagens
19.355
Reações
39.658
Pontos
1.584
26xBzYSE3RBgbkR1u.gif

Alguns já sabem que estou fazendo esse joguete há cerca de 1 mês, quando consigo ter tempo em implementá-lo que nem sempre ocorre. Alguns podem ainda se perguntar, por que esse tópico se já tem esse daqui sobre esse jogo. A questão é que eu não quero misturar as coisas, não quero que questões sobre o desenvolvimento do jogo fiquem espalhadas num tópico onde muita gente não vai se importar com isso, apenas jogá-lo. A ideia incial era criar um jogo totalmente free (source + executáveis) e disponbilizá-lo para a turma da Outerspace. Como estou usando assets da Outerspace (como os emotikongs que pedi autorização tácita à moderação) então o jogo será totalmente free. Então, esse tópico serve para discutir a programação, colocar aspectos de curiosidade de como ele foi feito e, dificuldades que passei, etc. Eu já possuia contas tanto no GitHub quanto no Bitbucket (do qual uso para projetos fechados).

Há mais de um mês também vendo propondo uma adição de um curso sobre a Unity. Infelizmente eu esperava mais a participação da Outerspace, eu tive poucas mensagens e recepção, ainda assim, agradeço o interesso de quem tem e pretendo ainda continuar a fazê-lo, mas, infelizmente, só posterior ao término desse joguete.

Por enquanto, estou envolvido no desenvolvimento desse jogo e mais outros dois projetos de jogos fechados dos quais ainda não posso tratar, um deles tive que refazer tudo quase 100%, mas é história para um outro tópico.

Por enquanto, deixo uma FAQ e algumas scans que fiz do projeto.

1. Por que você usou a Unity que é mais voltada para 3D a uma outra focada em 2D?

A Unity a partir da sua versão 4.3 passou a ter um suporte mais intenso ao desenvolvimento 2D, ainda assim, até hoje, ela é e funciona como uma engine 3D adaptada para 2D (se você for usar 2D). Portanto, a Unity não sabe medidas e padrões 2D que outras engines costumam usar nativamente, como pixels. Até pouco tempo atrás, usávamos física 3D em mundo 2D, assim como tweens, movimentação de objetos, translação de sprites e outros recursos tudo voltado ao 3D. O usuário tinha que se virar para até um simples clique de mouse saber pegar um ponto 2D no espaço 3D fazendo sua conversão necessária. É notável que a Unity melhorou nesses aspectos, mas, ainda é e sempre será uma enigne 3D.

Um dos motivos de que a utilizei nesse projeto é porque eu já tinha um maior background dela, eu já conheço C# há 7 anos (mesmo não sendo a linguagem que eu mais sei), a comunidade da Unity é bem vasta, o que ajuda muito na hora de tirar dúvidas e procurar informações em fóruns, answers e até mesmo no YT.

Acredito que, independente do projeto que você for usar, vale a pena dar uma conferida na Unity, mas não vou puxar a sardinha dizendo que só ela que é boa e nenhuma outra presta. Há boas opções no mercado e ainda bem que há, quanto mais opções de engines é melhor pra gente.

2. Por que esse jogo?

Um dia antes da apresentação do dia 12/01 da Nintendo, eu tive a ideia de fazer um hype train no Photoshop, mas como o maldito @iBaka veio e fez primeiro :klingua2 (ao menos, consegui pegar um bom spot no traizinho) então resolvi criar algo diferente com uma temática Nintendo e Switch. Pena que eu não soube calcular bem o prazo do jogo, e acabei que estou aqui sem tê-lo lançado ainda.

3. Poderei usar o seu código fonte para alterar o jogo e mostrar coisas novas dele aqui?

Claro! Ficarei feliz em saber que o projeto está ajudando no conhecimento de outras pessoas. Sinta-se à vontade de fazer qualquer mudança nele, desde que divulgue para outras pessoas também conhecer o que se foi feito. :ksafado

4. Poderei usar o projeto como base para criar o meu próprio jogo, mesmo sendo ele comercial?

Sim, porém há conteúdo no jogo que você não poderá se apropriar dele para venda, como as imagens que adaptei do Switch, dos outros consoles, dos emotikongs, etc. Essas imagens não pertencem a mim, as imagens dos tiles de background foram feitas por mim, as dos efeitos especiais também, mas algumas outras não. O jogo é uma zoação com o universo de vídeo-games. Sinta-se à vontade para usar o código fonte, pegar soluções dele caso dê para usá-las em seus outros projetos.

5. Cadê a paradinha da Box2D tão usada em jogos 2D, cadê ela? Não tô vendo aqui, você não usou, Landinho?

Box2D não serve para todas as solução de física num mundo 2D, na verdade, ela é quase não usada em vários projetos por questões de performance e falta de aplicabilidade em coisas mais específicas. Uma simples rotina de AABB pode ser usada facilmente em vários projetos que não demandam de algo pesado. Aqui no SHT - The Game eu a utilizo em uma pequena parte do projeto, a parte que você dá um clique com o mouse para saber onde você tá clicando, é gerado um Ray pelo Raycast e com isso consigo pegar o collider de um tile. A solução vai até esse ponto, as partes das torres, dos monstros, detecção de colisão com monstros, tiros e escambau é tudo física e cálculos diretos, sem usar física 2D do sistema, o que resulta num ganho de performance melhor, também.

6. Vi que o mapa da fase que você mostrou os consoles vão caminhado por um lado a outro até ir em direção ao Switch, outros jogos de tower defense eles seguem um caminho fixo, como uma estrada. Como isso é possível?

Uma das técnicas usadas em I.A. é a técnica de pathfinding para um objeto conseguir ir do ponto A para o B. Em pathfinding há várias técnicas diferentes que podem ser aplicadas, são algoritmos razoavelmente complexos e nem todos funcionam da mesma forma e para o mesmo propósito. No SHT eu usei o A* inicialmente, mas estava com um problema sério em mudança dinâmica dos pontos, então resolvi refazer todo o algoritmo para um mais simples sem usar o A*. Posso explicar a diferença entre eles e dar mais detalhes acerca numa eventual hora, caso haja interesse. Vale lembrar que A* é amplamente usado em jogos como Mobas e RTS, por exemplo.

O caminho de ponto fixo como ocorre em grande maioria dos exemplos de jogos de Tower Defense é ridiculamente simples de implementar, porém, não serve para o propósito do jogo como eu queria, portanto fiz algo mais dinâmico.

7. Esse jogo roda em celular?

Sim e não. Sim porque é relativamente fácil a partir do ponto que ele está fazer um build para celular, a UI se adaptaria à tela do celular, o mapa também, os monstros normalmente iriam se locomover, etc. Mas não tô com o mínimo de paciência para adaptar o input de toque do celular nesse projeto. Sinta-se à vontade de fazer build do projeto rodando em celular, caso tenha interesse.

8. Vai suportar controle? Gostaria de saber como funciona joystick no jogo.

Eu comecei fazendo alguns mapeamentos para o controle do Xbox, mas ainda não está completo. A ideia é que quando o jogo estiver pronto, ele dê para usar o joystick do Xbox normalmente. Caso não dê tempo, eu lanço uma versão futura com esse recurso.

9. Por que demora pra fazer?

O meu objetivo é que esse seja um jogo completo e não apenas uma demozinha, que tenha início, meio e fim e possa ser dá uma ideia real de como um jogo funciona.

Algumas Scans do Desenvolvimento

image.png


image.png


image.png


image.png


image.png


image.png


image.png


image.png


image.png


image.png

Vídeo (pre-alpha)



Vou manter esse tópico atualizado com informações sobre o desenvolvimento. Assim que eu liberar a source, eu posto aqui e vamos debater o desenvolvimento de jogos.
 

rgx

Ei mãe, 500 pontos!
Mensagens
4.135
Reações
8.343
Pontos
703
Foi mal pelo esquema do Hype Train do Switch :kbeca

Não manjo muito de desenvolvimento, mas desejo tudo de bom aí nesse seu projeto, qualquer coisa que eu possa ajudar pode contar comigo! :kjoinha
 

Landstalker

Lenda da internet
Mensagens
19.355
Reações
39.658
Pontos
1.584
Foi mal pelo esquema do Hype Train do Switch :kbeca

Não manjo muito de desenvolvimento, mas desejo tudo de bom aí nesse seu projeto, qualquer coisa que eu possa ajudar pode contar comigo! :kjoinha

Já de ante-mão, anuncio que talvez eu faça um hype train como golpe especial para impedir a invasão das inimigas. Então cada vaguinha será uma pessoa, as que desejarem estar, claro.

:kjoinha
 

Landstalker

Lenda da internet
Mensagens
19.355
Reações
39.658
Pontos
1.584
Pensando em ressuscitar esse projeto, dessa vez usando a minha própria engine.

Pensando em alguém do fórum para ser o vilão e outra pessoa para ser o herói (ou vítima).
 


Topo Fundo