Dev Blog #10 – Programando a Interface do Metal League

Olá Metal Gladiators!

 

Quem escreve aqui é o Will, programador de gameplay com foco em UX/UI (também chamado de front-end). Meu objetivo é dar vida à criação/visão dos artistas de UX/UI e com o Metal League não foi diferente.

A experiência com o Metal Pass foi muito importante para se continuar com o modelo de tela separada em cenas. Anteriormente cada nova tela era adicionada numa única cena, aumentando o peso de carregamento dela além de também aumentar o acoplamento (não separação) dos elementos do menu principal do Heavy Metal Machines.

O perfil e a tela de novidades são 2 exemplos de telas ainda em conjunto da cena do menu principal.

A separação dos componentes de uma cena de jogo e também de seu código abre caminho para uma manutenção mais fácil, com detecção e correção de bugs mais rápida e eficiente. No Metal League melhoramos as práticas de clean code em comparação com o Metal Pass. Apesar de ter havido um número maior de classes criadas (dada a maior separação de responsabilidades), esta decisão se provou correta assim que os bugs foram atacados.

Outra adição importante (proposta pelo programador Fernando Toigo) foi a integração e uso da UniRx, um framework de programação reativa que abstrai as assincronias na comunicação das diferentes partes do game. Desta forma, por exemplo, ficou mais simples ler os diferentes filtros do ranking do Metal League e requisitar, esperar e tratar as informações recebidas.

Esta função espera que pelo menos um dos filtros seja usado para iniciar uma busca no ranking.

Os principais desafios de se fazer o Metal League foram a união destas novas técnicas/tecnologias com a inclusão delas dentro do período do Metal Pass – Sect of Metal. Apesar do risco em função do tempo, a decisão de se levar em frente o desenvolvimento se mostrou correta tanto pelo uso e validação prática do que foi feito quanto a aceitação da comunidade. Agradecemos por todo o apoio e feedback de vocês. 🙂

 

A próxima etapa é dia 06/04… Just do it! 😀