top of page

Vamos falar um pouco do lado técnico

Eis o segundo post sobre o jogo de estratégia que estou criando!

Dessa vez eu quero deixar o design à parte, e focar no desenvolvimento.

Como eu já disse no post anterior, eu comecei esse jogo de modo espontâneo, foi simplesmente o que me deu na telha. O que significa que eu não parei pra estudar uma engine nova (que é algo que eu DEVIA ter feito...)

Seria mais fácil e mais simples trabalhar com Unity... mas eu ainda gosto da idéia de "meter a mão no código cru", então peguei o código do Battle of otherworldly Beauties (BooBs) e fui limpando ele de acordo com o que eu ia descobrindo ser um jeito mais claro de implementar.

A minha intenção é criar uma engine própria, específica, que eu possa fazer só "retoques" quando for fazer um jogo de um gênero diferente.

Mas antes mesmo disso, eu desenhei. Desenhei pra caramba. Fiz várias iterações das telas de jogo, como eu as via na minha cabeça. Se você quiser ver todas, basta olhar o meu twitter ( https://twitter.com/DoutorSocial ) a partir do dia 03/01/2019.

Agora, é mais fácil mostrar como foram algumas das etapas enquanto eram "em tempo real":


Já pensando no tamanho de cada sprite, depois de ler um pouco sobre como é montada uma imagem no Master System, eu criei um arquivo true type de uma fonte pra usar no hiero, que é um framework java que facilita trabalhar com textos de forma "crua".

Voltei pra prancheta:

Primeiro vídeo! Olha só que belezinha! Lembrando que estou pulando aqui várias iterações dos problemas que enfrentei com o design, se você está curioso, olhe no meu twitter.

Nesse ponto, eu já começo a me preocupar com a organização do código. Eu sei que um jogo de estratégia, por mais limitado que seja, é mais complexo que um puzzle tipo tetris.

Tinha muito código macarrônico, muita coisa junta numa única classe, classes tipo "GameStateManager" e "GameScreen"... eu fui quebrando tudo isso, e padronizando muita coisa também. Criei entidades para representar objetos do jogo, estruturei elas (uma campanha tem missões, cada missão tem um mapa, um mapa é composto de espaços que podem conter unidades/soldados...) criei enums, e também dividi a famigerada "GameScreen" em várias classes, cada uma com uma responsabilidade bem definida:

Criei uma classe responsável por controlar o tamanho dos textos na tela, como quebrar esse texto, como quebrar linhas e parágrafos...

Aqui eu me toco que não vou conseguir uma imagem boa se limitar DEMAIS os sprites. Mesmo no Master System, não se fazia sprites de 8x8... se usava mais de um sprite e assim se compunha gráficos mais complexos.

Outra coisa que me preocupava era a dificuldade que seria ter que desenhar os mapas quadradinho a quadradinho dentro do código... e se eu errasse um quadradinho, imagine a dor de cabeça pra achar ele no código de novo?!?!

Foi quando eu lembrei de uma coisa que vi, a partir dos 4 minutos e 55 segundos, desse vídeo:

O 8-bit Guy criou ferramentas para criar o jogo dele. Então, decidi fazer o mesmo: uma classe que lia uma imagem e transformava essa imagem em um mapa do jogo:

e mais:

e pra terminar:

Com essa ferramenta eu usei a mesma lógica do teste que eu tinha feito em python anos atrás e desenhei o mapa, coloquei as unidades, e fiz o scrolling. Isso levou alguns dias, vou mostrar só o começo aqui:

Salto de alguns dias:

Logo mais terei novidades! Até lá!

P.S.: Esqueci de falar! Eu também fiz a tela de "preparar o time" que vem antes da batalha:


Posts Recentes
Arquivo
Procurar por tags
Nenhum tag.
Siga
  • Facebook Basic Square
  • Twitter Basic Square
  • Google+ Basic Square
bottom of page