Notas de Loc


NOTAS DE LOCALIZAÇÃO:

Esse foi meu primeiro projeto solo, ainda bem. Foi bem simples pois tinha pouquíssima coisa pra traduzir.

Basicamente eu tenho total liberdade para localizar como quiser, mas quis tentar seguir um padrão estabelecido pelo jogo.

Todo o texto são as 6 classes e 3 telas (menu, ganhou, morreu)

Para as classes a principio fiquei tentado a seguir um padrão classes D&D mas como o jogo não tem essa preocupação, não me preocupei a ser tão fiel. Por isso sacerdote e não clérigo, mas rogue mantive ladino por exemplo. Também quis manter o padrão delas estar em minúscula.

Acho que as duas que eu pensei um pouco foram Ranger e Defender.

Defender eu pensei em defensor para ficar direto, ou até cavaleiro se fosse fazer a referência ao Eric da caverna do dragão que tem o escudo, mas como já tinha o knight achei Escudeiro mais legal do que Defensor.

Ranger eu ia de Patrulheiro por ser a mais comum e como ref ao Hank (caverna do dragão), ou também pensei em Arqueiro pela sua habilidade do arco e flecha. Mas optei por guardião para poder usar o a com til (~) já que eu sabia que a fonte não ia aceitar então ia e fazer testar isso.

Minha solução acabou sendo simples pois como só ia precisar do 'ã', a fonte padrão do Playdate já possui um caractere para '~', então eu dupliquei a fonte padrão da pasta do Playdate SDK fui no arquivo da tabela que puxa a imagem correspondente a cada caractere e editei o '~' copiando e ajustando a imagem do 'a' para fazer 'ã' com um editor de imagem. Foi uma solução meio preguiçosa, mas como algo simples me resolvia gostei dessa gambiarra. Provavelmente para outros projetos irei explorar melhor o próprio editor de fontes que o playdate disponibiliza.

O título acho que seria a outra questão. Eu não sou muito fã de alterar título de jogo oficial. Escolha pessoal e também não é uma convenção muito usada no Brasil pelo que eu já trabalhei. Mas os subtítulos sim, então resolvi criar o subtítulo como tradução. Também eu gosto desse estilo que fica meio referência a tradução de filme sessão da tarde. Rouguelike até na Wikipedia ta assim (https://pt.wikipedia.org/wiki/Roguelike). Também por ser um estilo de jogo recente acho que quem joga já sabe. Enquanto processo de localização não achei que vale a pena traduzir.

Para as 3 telas eram todas imagens então eu basicamente peguei uma fonte mais parecida que já tinha aqui, apaguei e alterei o texto gerando uma nova imagem.

Não encanei muito com ser exatamente a mesma fonte. Não é um trampo e também não era algo que precisa ser a mesma fonte 100%. A que eu peguei já ta ótima.
Ai foi tranquilo também, só fazer uma nova imagem com o texto e substituir o arquivo na pasta das imagens.

ALTERAÇÕES NO CÓDIGO: (para nerds)

Como o jogo não tem um arquivo de texto dedicado e a localização em si é minha ideia pra aprender mais e ter um portfolio dos meus próprios projetos, tive que alterar o texto das classes direto no código.

Eu estou aprendendo lua e também a engine do playdate no momento, então fazer isso foi ótimo pro meu aprendizado.
Enfim, o código é em .lua e existem algumas facilidades de sintaxe que já vem do SDK do playdate.

Eu achei no menu.lua de onde ele pega o nome das classes pra gerar o texto e onde gera o texto.

O texto é gerado como um sprite na função que cria o menu (displayMenu()) e sua imagem na função que atualiza o menu (menuUpdate()).
Criei uma variável local myFont = gfx.font.new() para poder usar a minha fonte que alterei para ter o 'ã', e na criação da imagem apenas substitui a criação de texto usando a fonte padrão 'gfx.drawTextAlign()' para 'myFont:drawTextAligned()'.

Agora dentro dos parâmetros de drawTextAligned, ele gerava a string a passando a função getCurClass() que eu alterei para getCurClassBr().

Então eu achei essa função lá embaixo e dupliquei ela pra criar getCurClassBr().

A getCurClass() original apenas retornava classList[currentClassIndex] que também é usada pra gerar as imagens e não queria mexer nessa lógica toda e mudar o nome dos arquivos.

A minha solução mais simples:

- criar a tabela das classes como variavel local na função

function getCurClassBr()
    local classListBr = {'cavaleiro', 'guardi~ o', 'padre', 'escudeiro', 'ladino', 'mago'}
    return classListBr[currentClassIndex]

end

O último lugar que eu alterei foi a última função getClassConstructor() que é usada para inicializar a classe escolhida uma vez que o jogo começa. Então alterei a variavel local para chamas a minha nova função getCurClassBr() e alterei cada caso das condições if/elseif para ser o mesmo nome da tabela em português.
ex:

    if class == 'cavaleiro' then
        return Knight

Ah na tabela fica como 'guradi~ o' por dois motivos. 1 porque o '~' na fonte que eu alterei gera 'ã' , e o espaço adicional porque quando eu testei pra ver in game sem o espaço os caracteres estavam entrelaçando (overlap) e com o espaço extra o espaçamento fica padrão.

---

E foi isso! :) Como primeiro projeto fiquei bem feliz, tenho certeza que ainda vou mudar como eu escrevo sobre etc a cada projeto, mas se tiver qualquer comentário, sugestões, etc. Só mandar um alô: marcelo.terreiro@gmail.com

amor
mama

Leave a comment

Log in with itch.io to leave a comment.