domingo, março 18

Update do primeiro semestre[1]

Como diz o título deste post, este é um update sobre o andamento do projeto (o primeiro de vários).

Geralmente irei postar apenas sobre minhas atividades mas, se for necessário, irei falar sobre o progresso geral esporadicamente.


Para iniciar então está seção de updates, trago a terceira geração do Map Maker. Se você, caro leitor, estiver se perguntando "O que raios é isto?" a resposta é simples: um editor de mapas 2D baseado em tilling que está a ser desenvolvido com o intuito de facilitar o máximo possível a criação dos mapas para o jogo.


"Mas como assim 'terceira geração'?" - se esta pergunta surgiu em vossa mente, é provavel que não tenha acompanhado o desenvolvimento dos projetos do ano passado (2011). Por isso, preparei um pequeno comparativo entre as três gerações.


A primeira geração teve um período de vida curtíssimo, servindo apenas como aprendizado. Nunca chegou a ser utilizada. Na realidade, não foi sequer finalizada, sua versão incompleta serviu de base para a segunda geração, por isso talvez pudéssemos dizer que não existe uma segunda geração, mas sim uma "geração 1.5". Mas ignoremos estes detalhes, sim?


-Na primeira geração, o mapa todo era desenhado em um JPanel, contido em um JScrollPane. Por isso, apenas mapas diminutos eram viáveis, do contrário um OutOfMemoryError ocorria, ou seja, o Java não possuía memória alocada o suficiente para suportar a imagem toda sendo desenhada. Isso marcou o fim da primeira geração (curta, não?).


-A segunda geração passou a utilizar a técnica de clipping, desenhando na tela apenas a porção visível do mapa e reduzindo drasticamente o uso de memória e permitindo a criação de mapas bem maiores mesmo em computadores menos potentes (como os de nossa escola, diga-se de passagem).

Infelizmente tornou-se impossível a utilização de um JScrollPane, pois as barras de rolagem apenas aparecem caso as dimensões do conteúdo superem às do continente, o que não ocorre quando usamos clipping. Isso levou-me a implementar a possibilidade de arrastar o mapa segurando o botão do scroll, eliminando a necessidade de barras de rolagem.

A partir daí, este "side-project" se desenvolveu até se tornar uma ferramenta funcional, capaz de salvar, editar e criar mapas, disponibilizando 2 layers - uma para o chão e uma para detalhes como árvores, pedras, e afins - 3 ferramentas de edição - brush (pincel?), retângulo e balde de tinta - possibilidade de desfazer e refazer ações - Ctrl+Z e Ctrl+Y - e um painel para seleção de tiles à esquerda.

Como pode-se notar, apesar de simples, a segunda geração tinha seu charme e era um bom editor de mapas. Mas algumas coisas ainda faltavam e quando iniciei o desenvolvimento do projeto deste ano nas férias (meu conceito de diversão difere da maioria, me processe se quiser...) tais coisas foram ficando cada vez mais evidentes, como verão a seguir.


-Na terceira geração, em andamento, mudanças radicais foram e estão sendo feitas, a principal sendo a possibilidade de selecionar múltiplos tiles do painel da esquerda para desenhá-los (na geração anterior apenas podia-se selecionar um tile por vez). Isso facilita enormemente a edição de mapas e a visualização do que está sendo selecionado.

Outra grande implementação foi um minimapa (localizado a direita), que serve tanto para se ter uma ideia geral de como o mapa está ficando quanto para navegar pelo mapa. Além do minimapa, outra forma de navegação é através das setas direcionais, das teclas WASD e do scroll do mouse (podendo alternar entre scroll horizontal e vertical utilizando-se a tecla shift).

Três layers extras foram implementadas (totalizando 5), fornecendo agora uma layer para o chão, uma para detalhes do chão (pedras, folhas, etc) e duas para detalhes acima do chão (casas, árvores, etc) e uma para inserção de entidades (inimigos, pontos de teleporte, etc), estando esta última ainda incompleta.

Diversos mapas podem ser criados em um mesmo projeto, sendo que cada mapa terá seu próprio set de tiles.

Existe agora a possibilidade de alterar o zoom entre 2x, 1x(padrão), 1/2 e 1/4.

Como podemos notar, a última geração está em um novo nível se comparada com as anteriores, possuindo diversas características vantajosas. Mas deixo claro aqui que grande parte das ideias que tive para o editor foram retiradas de um já existente, desenvolvido pela empresa Enterbrain, chamado RPG Maker. Mais precisamente, o RPG Maker XP (atualmente está na versão VX Ace, duas gerações depois do XP).



Seguem duas imagens comparando a segunda e terceira gerações:


TELA INICIAL

Segunda Geração

Terceira Geração

Antes que pense "Os gráficos do editor 'X' são melhores", já aviso que isso não é uma das diferenças entre eles, pois ambos podem se utilizar de ambos os tilesets com um pequeno ajuste. O que peço que note, se já não o fez, é a diferença de layout.
Veja como na terceira edição, a disposição das coisas é a mesma: mapa ao centro, tileset à esquerda. A diferença, então, encontra-se no que é mostrado na seção dos tilesets: observe que na terceira geração, há uma imagem completa à exibição, facilitando a fácil identificação de cada tile. Também note que as layers não ficam mais à esquerda. Isso ocorre porque não mais é necessário existir um tileset para cada layer. Atente que junto do minimapa, podemos visualizar as dimensões de nosso mapa, algo que pode não parecer útil, mas é.
Por fim, vale ressaltar as opções extras na barra de menus.

EDITANDO O CHÃO

Segunda Geração

Terceira Geração

O que quero que note aqui é como a terceira geração é menos poluída em comparação a segunda, que possui aquela película branca. Claro que podemos remover a dita película, mas na terceira geração, não há necessidade de tê-la. Veja também que o minimapa apresenta as mudanças realizadas.

ADICIONANDO DETALHES

Segunda Geração

Terceira Geração

Aqui podemos ver a marcante diferença entre as gerações. Note como na segunda, tive de selecionar 6 tiles diferentes para desenhar uma simples árvore, ao passo que na terceira tudo que fiz foi selecioná-la (a árvore) por inteira e ir pintando. Note também que ao invés de utilizar uma película branca, temos uma preta, sendo mais suave e agradável aos olhos.


Por hora, isso é tudo que tenho a oferecer. Poderia mostrar o que fiz do jogo até o presente momento, mas tendo em vista que o Ogawa está fazendo algumas alterações nesta parte, sinto que é melhor deixar que ele mostre como anda essa parte.

Sem mais, Victor Lucki.

Nenhum comentário:

Postar um comentário