o mundo do jogo e enorme, para criar o conteudo dos mapas foi necessario criar um programa especial para criar os objetos e coloca-los nos mapas nas posicoes iniciais. E este e programa e o editor do jogo. O editor do jogo e usado apenas por mim para a criacao dos mapas e nao sera disponibilizado apos a conclusao do projeto, somente a parte da engine sera visivel pelos usuarios. Nao vou entrar em muitos detalhes porem apresento a seguir um resumo do funcionamento deste modulo.O editor consiste na mesma interface basica da engine, porem as informacoes apresentadas sao diferentes. Nele e possivel criar um objeto selecionando um tipo, parametro, caractere, cores, e definindo as flags. Utilizando um cursor e possivel mover-se livremente pelos mapas do mundo e colocar os objetos criados nas suas posicoes iniciais. Alem disso e possivel definir o nome de cada mapa e definir algumas caracteristicas gerais. Alem disso e possivel tambem alterar os caracteres graficos e ver imediatamente as modificacoes no mapa. O editor dispoes de diversas funcoes auxiliares para facilitar a construcao dos mapas, como modo automatico de desenho, modo de navegacao entre mapas e substituicao rapida de graficos. Utilizando uma tecla de atalho, e possivel alternar entre o editor e a engine para testar cada mapa enquanto ele e construido.Tanto o editor quanto a engine utilizam as mesmas estruturas, e portanto as classes Object, Map e World estao presentes em ambos os modulos.O editor permite gravar e carregar arquivos contendo o "mundo" completo do jogo em formato binario. Atualmente o arquivo gerado pelo editor contem aproximadamente 9 MB, uma vez que ainda nao foi implementado nenhum tipo de compressao.6. Classe PlayerA classe Player encapsula informacoes referentes ao jogador, como coordenadas, estado, atributos, etc. Diferente dos objetos comuns do jogo representados pela classe Object, o jogador e representado por esta classe especial, uma vez que ela precisa conter informacoes muito mais especificas. Esta classe contem instancias de outras classes auxiliares, como por exemplo Inventory, que encapsula informacao de quais e quantos itens o jogador obteve durante o jogo. Veremos mais sobre a classe Player ao discutir a engine.7. Classe EnemyA classe Enemy encapsula informacoes sobre um inimigo no jogo, como coordenadas, estado, atributos, etc. Antes que voce pergunte, estas informacoes nao sao duplicadas em Player e Enemy. Existe uma superclasse Fighter da qual ambas derivam estes campos. Veremos mais detalhes sobre a classe Enemy ao discutir a engine.8. Introducao sobre a engineA engine de Rhye's Quest e o modulo do sistema que faz tudo funcionar baseado no arquivo gerado pelo editor contendo a informacao do mundo do jogo, isto e, os mapas e os objetos contidos neles nas suas posicoes iniciais. Pode-se dizer que a engine e o jogo propriamente dito.Inicialmente, a engine trata de definir o estado inicial do jogo e em seguida, na maior parte do tempo ela trata de executar um metodo chamado Run(), que e o que tipicamente chamamos de "game loop". Este metodo contem uma instrucao "while" que se repete incessantemente enquanto o jogo esta rodando, chamando diversas outras funcoes.O game