Sua primeira tarefa é estudar e rodar a ``solução incompleta''. Entenda bem a DTD fornecida, pois você precisará alterar as regras de descrição de mundo para permitir que lugares tenham coisas, personagens, etc. Experimente mexer no arquivo world.xml e tornar inválida a descrição do mundo. Adicione um tag não previsto nas regras de descrição, ou ``esqueça'' um tag de fechamento de elemento, ou omita um elemento obrigatório, como o nome que precisa aparecer dentro de um lugar. Veja como o programa reclamará se um criador de jogos distraído fizer alguma besteira.
Note que as classes fornecidas como ``empurrão inicial'' não fazem o salvamento do estado do jogo num arquivo nem a restauração do estado do jogo de um arquivo. A versão do programa que você entregará deve ler um argumento da linha de comando ou interagir com o usuário de algum modo para saber se o usuário quer um jogo novo ou quer continuar um jogo que ele salvou antes. Se for jogo novo, o programa lê o arquivo XML com a descrição do mundo e cria um mundo virtual novo. Se for continuação de jogo salvo, o programa lê o estado do jogo de um arquivo especificado pelo usuário. Neste caso o arquivo XML nem será lido, pois todo o mundo virtual será restaurado a partir do arquivo com o estado do jogo.