Home
2.3 Editores para criação de Ficção Interactiva em texto
Contents
1. Retirar tesouro Op o Vis vel tesouro Retirar tesouro Op o Invis vel Retirar tesouro Op o Invis vel en Op o Vis vel Op o Invis vel Op o Invis vel O jogador O jogador clica na clica na op o op o Abrir ba Retirar Fugir antes que ER Fugir antes que Fugir antes que isto tudo tados isto tudo isto tudo desmorone desmorone Op o Invis vel Op o Vis vel desmorone Figura 34 Visibilidade das op es dispon veis ao jogador Na rea de mais detalhes encontramos a op o Requires Item s Caso esta op o seja verdadeira poss vel definir que itens s o necess rios atrav s da lista de itens que se encontra frente do campo Item s Name s Para adiciona los basta escolher o item desejado na lista e clicar em adicionar item O ltimo campo serve para o autor escrever o que quer que apare a no cran ap s o jogador executar a ac o que requer item por exemplo a ac o abrir ba podia precisar do item chave e se o jogador n o tivesse esse item no momento em que executava a ac o iria aparecer o texto da op o o ba n o est a abrir deve estar trancado e quando finalmente ele tivesse na posse da chave ao executar a mesma ac o apareceria o texto deste campo experimentei a chave e o ba abriu se Caso a op o n o necessite de itens os campos da rea de mais detalhes ficam ocultos ver Figura 35 Info Room Item Np
2. Exemplo da estrutura das zonas do jogo viii 11 12 13 14 15 16 17 18 19 21 22 29 31 34 35 36 37 38 38 39 41 42 43 28 29 30 31 32 33 34 35 36 37 38 39 40 Exemplo da estrutura dos itens do jogo Exemplo da estrutura dos pontos de enredo no jogo Screenshot do NetBeans Filechooser Sugest es de ajuda Exemplo de cria o de zonas e op es Visibilidade das op es disponiveis Exemplo de op o que n o precisa de itens Exemplo de cria o de itens Exemplo de cria o de NPC Exemplo de cria o de pontos de enredo Exemplo da escolha da profundidade de pesquisa Exemplo da personaliza o da interface 1X 44 44 45 46 AT 48 50 50 51 52 53 54 55 41 2 Lista de Tabelas Planeamento Planeamento Compara o entre editores 23 Cap tulo 1 Introduc o 1 1 Motivac o A Fic o interactiva FI 2 3 4 conhecido em ingl s como Interactive Fiction um g nero de jogos tamb m rotulado como aventuras em texto ou jogos de fic o interactiva em texto Descrever este estilo de jogos pode parecer um pouco entediante mas come ar um jogo como entrar na hist ria de um livro transporta nos para um mundo onde o jogador pode vaguear livremente e influenciar a hist ria Na FI poss vel encontrar v rias obras liter rias incluindo utopias vingan as horrores par bolas intrigas como por exemplo Anchorhead um jogo que foi nomeado para
3. Npc Plot Points Drama Manager Interface Item 1 ly Add New Item Delete Item Save Item Item Name papel Item Description p O papel tem escrito Ningu m pode fugir ao mundo que vem do a solo p r UL Ir Item is Consumed No Figura 36 Exemplo de cria o de Item 51 3 2 5 Separador de NPCs Na cria o de NPCs o autor atribui lhes um nome e escolhe a zona do jogo onde eles se v o encontrar Ap s a sua cria o s falta definir os di logos dos NPCs e as respostas que o jogador pode dar A comunica o entre o jogador e os NPCs vai come ar no jogador com o tipo de ac o falar com NPC a resposta que o jogador vai receber vai ser o texto que est no campo NPC talk to player nos di logos ver Figura 37 Quando o jogador falar com o NPC vai aparecer na sua lista de respostas a op o que o autor tiver definido na zona Player Answers A cria o das respostas igual cria o das op es j referida na sec o 3 2 3 Os NPCs 28 foram inicialmente criados com o prop sito de se poderem deslocar e terem alguma autonomia na narrativa mas isso acabou por se tornar trabalho futuro Tendo isto em conta os NPCs tamb m podem ser substitu dos por conversas encadeadas que simulem conversas com personagens da narrativa 800 Plot Points Drama Manager Interface Npc 1 Add New Npc Delete Npc Save Npc Npc Name Z Npc Zone En
4. West of House F ZORK I The Great Underground Empire Infocom interactive fiction a fantasy story 95873755 c gt 1981 1982 1983 1984 1985 1986 Infocom Inc trademark of Inc Serial nunber 871125 7 West of House You are standing in an open field west ne a white house with a boarded front oor There is a small mailbox here gt Figura 1 Screenshot do jogo Zork The Great Underground Empire Part I ZORK 1 The Great Underground Empire Normal Passageway One way passageway Passageway requiring special equipment or problem solving Narrow passageway baggage limit Passageway returning to room of origin All horizontal passages leave the room in the direction shown Vertical passages are labelled U for UP and D for DOWN To avoid unnecessarily giving away problems this map lists only those objects immediately visible upon entering a room Only objects which can be taken or used are listed objects which are merely part of a room are not Where more than one direction leads to the same place all are not necessarily shown to Clearing 2 u Grating Room Maze see back cover slide to Kitchen 4 White Cliffs Frigid Fu Beach River Engravings Dome South 4 n Cave Cyclops Strange to Living Room Room Passage u 5 anna H H ur Piece ofpaper H Frigid Mirror River Ed Silver Chalice COAL MINE Sapphire
5. O toi ques Farsa da ita salida 48 3 2 3 separador da cria o de zonas un an iniciados aria 48 3 2 4 Separador de CNS tii 51 32 9 Separador CONE O aan 52 3 2 6 Separador de Pontos de Enredo ces agressarsigesacenghes somedecnsdesaceesenteced 33 3 2 7 Separador de Gestor de Narrativas c cccesscecssccecesececeeeeeeeeeeeesaeees 54 D2 Separador de Interface uses Make 55 Capitulo dene de de detal DR 57 Discuss o e Trabalho Puro tetas di ti 37 Al A A A inal tp oe ie a 57 4 2 Trabalho f tUro senist siriene gao r E nE 58 Capitulos npn E a a A tian 60 Bibliografia 22 nen E 60 vi vil Lista de Figuras aA 4 A uo N 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 23 26 21 Screenshot do jogo Zork Mapa do jogo Zork Screenshot do jogo Myst Screenshot do jogo Monkey Island Editor do Adrift Editor do Alan Editor do Hugo Editor do Inform 7 Editor do Quest Editor do TADS Interpretador do Adrift Interpretador do Alan Interpretador do Hugo Interpretador do Quest Interpretador do TADS Arquitectura do Interpretador Mapa do jogo criado para demonstrar o FIGN Exemplo da criag o de um ponto de enredo Exemplo do algoritmo minmax Exemplo do algoritmo m diamax Cria o da rvore de pesquisa Primeira fase da cria o das sub rvores Segunda fase da cria o das sub rvores rvore de pesquisa pronta Decis o do gestor de narrativas Ac o do gestor de narrativas
6. criadas Por exemplo posso ter uma ac o abrir ba que tem como alvo a ac o retirar tesouro que por sua vez tem como alvo a op o fugir antes que isto tudo desmorone Neste caso ter amos as ac es abrir ba e retirar tesouro como conversas encadeadas e a ac o para mudar de zona fugir antes que isto tudo desmorone Falar com NPCs Falar com NPCs vai ser semelhante s op es anteriores no campo Option Target vai ser poss vel escolher o NPC pretendido para a conversa dentro dos NPCs criados Examinar algo A op o examinar algo apenas contribui para o enriquecimento da narrativa como por exemplo espreitar pela janela ou olhar para o quadro Este tipo de op o tamb m pode ser usado para terminar uma conversa encadeada N o tem o campo Option Target Ap s escolher a ac o que o jogador pode tomar temos o campo Hidden Option que serve para ocultar a ac o este campo deve ser usado nas ac es encadeadas onde apenas a primeira ac o deve ser vis vel mas as ac es para as quais ela aponta devem 49 ser invis veis No caso do exemplo anterior as ac es retirar tesouro e fugir antes que 1 isto tudo desmorone seriam op es escondidas ou seja n o estariam vis veis ao gt jogador A op o retirar tesouro apareceria ap s a op o abrir ba ser utilizada e esta ficaria escondida por sua vez ver Figura 34
7. por sua vez s o constru dos especificamente para certos sistemas operativos comportando se como m quinas virtuais que conseguem executar os jogos Uma das grandes vantagens deste conceito de m quinas virtuais a compatibilidade entre plataformas os jogos apenas precisam de ser criados uma nica vez para poderem ser executados em qualquer computador 2 4 1 Interpretador do Adrift O interpretador do Adrift neste momento apenas suporta Windows e Linux embora estejam a desenvolver interpretadores para suportar tamb m Mac e navegadores da web Uma das suas grandes vantagens consiste em ter um mapa em 3d ver Figura 11 que mostra os locais onde o jogador j esteve e pode ser rodado permitindo diferentes pontos de vista Scot monte A ad File Edit View Macros Window Help AS ud O O oe gt Map ax Bye crashed Beside the glacier L Score 0 Figura 11 Interpretador do Adrift 17 2 4 2 Interpretador do Alan Para executar os jogos criados com a ferramenta Alan necess rio usar o WinArun Na Figura 12 podemos ver um screenshot do WinArun a executar o jogo The Hollywood Murders Suporta Windows Linux e Mac amp JOB BA AB Office 0 moves oog urders By Michael Zerbo About Win run win run Alan interpreter version Alan Adventure Language comp design Thomas Nilsson Windows interpreter Thomas Nils Original GLK adaptation J
8. Action Add Image Text for the old give item action Type of DM Action Give Item v Afinal era s um peda o de vidro embora a cova parece ter a terra remexida estranho Figura 18 Exemplo da cria o de um ponto de enredo assim como a respectiva ac o para o Gestor de Narrativas Neste exemplo tamb m poss vel observar o estado de jogo onde o ponto de enredo vai ser inserido Neste caso o ponto de enredo vai ser associado ao estado de jogo composto pela zona chamada Ponto_8 e invent rio vazio 34 Embora seja pertinente que o gestor de narrativas ajude o jogador importante impedir que ele se torne demasiado manipulativo para isso aplicada uma penalidade s suas ac es Neste exemplo podemos observar o campo Plot Point Penalty onde o autor pode definir a penalidade aplicada ao gestor de narrativas caso ele queira actuar Esta penalidade suavizada caso o progresso recebido do modelo do jogador seja baixo permitindo o gestor de narrativas actuar apenas se o jogador estiver com dificuldades a progredir no jogo O gestor de narrativas recebe o estado do jogo e o modelo do jogador e decide qual a ac o a fazer atrav s de simula o do jogo e avaliando os estados de acordo com uma fun o de avalia o da qualidade do jogo Como j foi anteriormente mencionado um gestor de narrativas n o pode simplesmente usar um algoritmo de pesquisa advers ria pois o jogador n o sabe que est a jog
9. Info Room Item Npc Plot Points Drama Manager Interface Search depth 4 5 20 Save Changes Reset A plot point is a checkpoint where you can track the player progress in the game In the tab Plot Points it is possible to set up checkpoints where the drama manager will act for example when the player is in a room called Library the drama manager can give an hint about a hidden book The plot points may have 3 kind of actions Give an hint to the player Give an tem to the player Deny a zone permanently X turns 1 or temporarily X turns 5 after the player change between 5 rooms the denier disappear Figura 39 Exemplo da escolha de profundidade da pesquisa 54 3 2 8 Separador de Interface No separador Interface o autor pode personalizar v rios aspectos da interface do jogo Pode alterar a imagem de fundo a moldura das imagens que v o ser exibidas durante o jogo o cone do invent rio as marcas antes das op es do jogador o bot o para sair do jogo a imagem que neste caso est em tribal esquerda e direita do bot o para sair do jogo ver Figura 40 Deste modo poss vel personalizar a interface de acordo com a hist ria do jogo criado para aumentar um pouco mais o sentido de imers o Info Room Item Npc Plot Points Drama Manager Interface Change Background Save Changes Change Frame nasci Change Inventory Icon Change Option Bullet Icon Cha
10. Pro Properties Binding 5 Form XmiBullder Events Code gt E Other Components 3 v El UFrame lb O 238 238 v jPanell JPanel bo No Border E RoomPanel TabbedPane O target 1 Ml arg Figura 30 Screenshot do NetBean 45 Na criag o do editor do FIGN tivemos cuidado para obter uma interface que pudesse abstrair o autor da programa o aumentando assim o leque de p blico alvo para esta ferramenta e facilitando a cria o de jogos No entanto preciso ter em conta que extremamente dif cil criar uma interface simples e intuitiva e conseguir ao mesmo tempo fornecer o controlo total ao utilizador sobre todos os aspectos do jogo Para isso foram implementadas certas caracter sticas para o apoiar durante a cria o de jogos como por exemplo e File chooser Quando o utilizador quer abrir um jogo existente para continuar a trabalhar sobre ele ou pretende adicionar uma imagem ao jogo pode contar com o file chooser para abrir uma janela que permite percorrer as pastas do computador at encontrar o ficheiro pretendido Na Figura 31 poss vel ver um exemplo de quando o utilizador clica no bot o Add Image Ao file chooser tamb m foi adicionado um filtro para evitar que o utilizador cometa erros como por exemplo adicionar em vez de uma imagem outro tipo de ficheiro Info Room Item N
11. ao mundo que vem do solo lt itemDescription gt lt i temDurat ion gt 2 lt i temDuration gt lt item gt lt i tem gt lt i temName gt re Logio lt i temName gt lt itemDescription gt Um rel gio de prata bonito lt itemDescription gt lt i temDuration gt 1 lt i temDuration gt lt item gt Figura 28 Exemplo da estrutura do jogo em rela o aos itens Na Figura 28 podemos observar um exemplo da estrutura dos items que o jogador pode ter e na Figura 29 poss vel ver como os pontos de enredo e as ac es do gestor de narrativas ficam codificadas no ficheiro do jogo lt DramaManagerSearchDep th gt 4 lt DramaManagerSearchDep th gt lt plotPoint gt lt plotPointZone Index gt 6 lt p LotPointZone Index gt lt plotPointvisi tedZones gt Cemi terio lt plotPointVisi tedZones gt lt plotPointNot isi tedBool gt true lt plotPointNot isi tedBool gt lt plotPointZone gt Ponto_6 lt plotPointZone gt lt plotPointP Layer Inventory gt papel lt plotPointP Layer Inventory gt lt plotPointPenal ty gt d 6 lt plotPointPenal ty gt lt dmAction gt lt dmActionName gt Avisa jogador lt dmActionName gt lt dmAct i on magePath gt lt dmAetion magePath gt lt dmActi on magePathDM gt lt dmActi on magePathDM gt lt dmActionDisplayText gt Agora deveria ir dar uma vista de olhos ao cemit rio lt dmActionDisplayText gt lt dmAct i onCode gt lt f dmAct i onCode gt lt dmAc tion temName gt lt dmAct
12. as 2 130 COMED UIC OR Six aa cre ae Us RL E a 2 E E E O E E ta 3 1 5 Estrutura do documentos euere 4 E lo o 6 2 1 Perspectiva HS nenne ERDE 6 Dede EGR AG UEC ACEI ai os rare Ra ov ta a 7 2 3 Editores para cria o de Fic o Interactiva em texto 10 231 e R 11 23 2 Alanna En 12 23 3 Hussein 13 2 3 4 AO id tetas onto aldea 14 LID QUE A A A dd DA A da 15 2930 TADS GORE DRDS RE ee GRE PER RR RED ies 16 2 4 Interpretadores de Fic o Interactiva a 17 2 4 1 Inmterpretador do Ad iii 17 24 2 Interpretadordo Alan rn e a Ea a a 18 2 4 3 Interpretador do EOS 19 2 4 4 Interpretador do Hitman 20 ZA Interpretador do Mesta ii 21 2 4 6 Interpretador do AD es 22 2 4 7 Compara o dos Editores iii 23 2 3 Gestores de Narrativas e 24 EXI into 28 Desenvolvimento do FIGN ocrni enn a a a a a aiai 28 3 1 Representa o do Jogo e do Gestor de Narrativas oooooocccnoncccnoncconancninnnos 28 3 1 1 Representa o do Jogo id I 28 3 1 2 Arquitectura do Interpretador do FIGN 29 3 1 3 A A a SOS aa 30 3 1 4 Modelo do londinense 30 3 1597 Pontos de Enredo A n meter 30 316 Gestoras Narralivas au id tds 33 3 1 7 Representa o da Estrutura do JOBO coococnnocccnoncccnonccnnoncconnncnnnnnanos 43 32 Editor do FIONA noise 45 3 2 1 Preocupa o na interface do editor oooooococnnccccnoncnononnnononcnononacnnnnnnos 45 3 2 2 Separador de INTOrMA
13. autor e controlar as interac es com o jogador e Um gestor de narrativas integrado no interpretador que controla o desempenho do jogador intervindo em caso de necessidade de modo a proporcionar a melhor experi ncia de jogo poss vel e Um jogo que permite demonstrar as v rias funcionalidades do gestor de narrativas 1 4 Planeamento Na tabela seguinte segue se o planeamento do projecto desenvolvido Neste projecto a constru o do interpretador e do editor foram quase sempre feitas em simult neo pois cada vez que uma das ferramentas era alterada havia necessidade de actualizar a outra tamb m Tarefas Data de in cio Datade Fim Descri o Investiga o 20 09 2011 30 09 2011 Recolha de informa o para o trabalho Prot tipo do 01 10 2011 12 10 2011 Elabora o do primeiro interpretador e do prot tipo funcional editor Demo do jogo 13 10 2011 14 10 2011 Elabora o de um pequeno demo do jogo para testes Aperfei oamento do 15 10 2011 26 10 2011 Adi o de funcionalidades interpretador como interac o com itens uso de itens para mudar de zona Aperfei oamento do 27 10 2011 10 11 2011 Melhoramento da interface editor adi o de funcionalidades como por exemplo configurar itens Nova itera o sobre o 11 10 2011 18 11 2011 Melhoramento da interface interpretador adi o de funcionalidades como por exemplo interac o com NPCs Relat rio prelim
14. consegue definir a est tica da hist ria isto um conjunto de arcos narrativos definidos pelo autor como sendo o percurso ideal para uma boa experi ncia de jogo Em 2003 Michael Mateas e Andrew Stern 20 21 16 criaram um gestor de narrativas baseado em beats para o drama interactivo Fa ade Neste caso os beats s o a menor unidade de altera o no valor dram tico em que os valores dram ticos correspondem a atributos dos personagens e da hist ria como por exemplo amor confian a e tens o Mas este gestor de narrativas n o se enquadra em grandes mundos simulados como por exemplo o Grand Theft Auto apenas em pequenos mundos onde todas as ac es no mundo da narrativa contribuem para a hist ria Em 2004 Ari Lamstein e Michael Mateas 20 pegaram no trabalho de Weyhrauch para responderem a uma quest o que tinha ficado pendente seria poss vel um gestor de narrativas guiar um jogador de modo eficiente ao longo da narrativa de um jogo Para isto usaram apenas uma parte da narrativa do jogo Anchorhead para realizar os testes O facto de Weyhrauch exigir uma pesquisa em profundidade completa tornou a intrat vel em tempo real Por m ao tratar o gestor de narrativas como um problema de pesquisa em rvore poss vel usar muitas t cnicas j existentes para colmatar este problema como por exemplo a pesquisa por amostragem a pesquisa em profundidade limitada entre outras Em 2006 Mark J Nelson et al 22 propuse
15. criar as suas narrativas A maioria das ferramentas dispon veis para a cria o destes jogos focada para autores com no es de programa o reduzindo assim o p blico alvo Para resolver estes problemas n s propomos o FIGN um conjunto de ferramentas de software desenhadas para o desenvolvimento de jogos de fic o interactiva em texto com gestor de narrativas incorporado Com o FIGN o autor n o precisa de saber programar para conseguir construir os seus jogos Ao usar o FIGN o autor vai poder colocar v rios marcos ao longo da narrativa do jogo chamados de pontos de enredo que por sua vez v o auxiliar o gestor de narrativas a controlar o progresso do jogador ao longo do jogo O autor tamb m vai definir algumas ac es do gestor de narrativas para este poder actuar de modo a guiar o jogador pelo enredo da hist ria como por exemplo dar sugest es dar itens ou negar zonas melhorando a sua experi ncia de jogo Palavras chave Fic o Interactiva Aventuras em Texto Gestores de Narrativas 11 Abstract This document describes the work done during the elaboration of my thesis in Drama Manager with Interactive Fiction Games Unlike other games based on gameplay and graphics for example sports games in Interactive Fiction the main goal is focused on narrative of the game and puzzle solving The interface is simple usually it is text only but it might contain pictures animations and videos In these classes of
16. de pesquisa e aplica o m diamax vai chegar altura onde tem o valor de n o actuar multiplicado por 1 e o valor de actuar neste caso multiplicado por 0 6 ver Figura 25 PE Ponto de Enredo 3 E Ac o do GN Ac o do GN E EJ Estado de Jogo N o fazer nada Dar uma Penalizac o 1 sugest o Penalizac o 0 6 GN Gestor de Narrativas Sub rvore de pesquisa Sub rvore de pesquisa Figura 25 Decis o do Gestor de Narrativas Como j foi referido a acg o de dar uma sugest o n o altera o estado do jogo ambas as ac es v o ter o mesmo valor isto ambas as sub rvores de pesquisa v o ser iguais Sendo X um n mero qualquer pertencente ao conjunto dos n meros reais X 1 gt X 0 6 ou seja neste momento a op o do gestor se abster de qualquer tipo de interfer ncia no jogo tem mais peso Mas tamb m preciso ter em conta o modelo do Jogador caso o jogador tenha um progresso fraco por exemplo de 20 somado penalidade da ac o os 80 de progresso em falta ficando 0 6 0 8 1 4 Neste caso o gestor de narrativas ao fazer a ac o para ajudar o jogador j n o est a ser punido mas sim beneficiado pois X 1 lt X 1 4 optando por realizar a ac o Se o modelo do Jogador n o existisse o gestor de narrativas tomava sempre a mesma decis o assim conforme o progresso do jogador este verifica se necess rio ajudar ou deixa lo seguir o seu rumo sozinho Na Figura 26
17. games the player embodies a character and interacts with its environment through text commands This kind of communication between the player and the game may cause some problems for example forcing the player to memorize a certain amount of words to be able to interact with the environment or the player get lost in the game because of its size after attempt several text commands and none of them help Despite the players encounter problems like those they are not alone even interactive fiction authors are confronted with them when they try to create their own narratives Most of the tools available to develop these games are oriented to people with programming skills thereby reducing the target audience In order to solve this problems we propose FIGN a pack of software tools designed to the development of Interactive Fiction Text Games incorporated with a Drama Management With FIGN the author does not need any programming skill in order to create his own games Using FIGN the author mark his story with plot points which will help the drama manager to guide the player through the story The author also define a set of actions to make sure the drama manager can guide the player through the story for example giving hints or items denying zones resulting in an improved gaming experience Keywords Interactive Fiction Text Adventures Drama Manager 111 1v Conte do Capitulo Introdu o A E 1 LA Mt e 1 2 AS SER RER O Ra
18. mos por uma arquitectura semelhante do C DraGer sendo constitu do por 3 m dulos principais o motor de jogo o modelo do jogador e o gestor de narrativas ver Figura 16 O motor de jogo respons vel por executar o jogo e interagir com o jogador o modelo do jogador respons vel pela avalia o do progresso do jogador ao longo do seu percurso no jogo e o gestor de narrativas respons vel por tornar a hist ria mais apelativa ao jogador Jogador Avalia o do jogador Estado Gestor de do Jogo Narrativas Figura 16 Arquitectura do interpretador do FIGN 29 3 1 3 Motor de Jogo O motor de jogo respons vel por e Executar o jogo e Interagir com o jogador sempre que este realiza alguma ac o e Actualizar o estado do jogo e Actualizar o modelo do jogador sempre que este executa uma ac o e Informar o gestor de narrativas sempre que o jogador muda de estado para que o gestor de narrativas verifique se o novo estado em que o jogador se encontra corresponde a um ponto de enredo e Executar as ac es do gestor de narrativas 3 1 4 Modelo do Jogador O modelo do jogador simples verifica quantas ac es o jogador deve fazer e quantas que realmente efectuou calculando assim a percentagem do progresso realizado O progresso do jogador medido apenas nas zonas por onde ele j passou por exemplo se o jogador passa por 2 zonas deve fazer 5 ac es mas apenas realizou 2 ent o o s
19. opte por actuar vai sugerir ao jogador que visite a Igreja O Ponto 1 reconhecido se o jogador entrar no Cemit rio mas n o apanhar o rel gio que l se encontra e passar pela zona do Ponto 1 Se o gestor de narrativas achar que deve actuar d o item ao jogador Na sec o 3 1 6 poss vel ver a cria o deste ponto de enredo no editor 32 3 1 6 Gestor de Narrativas O Gestor de Narrativas vai ter o papel de guiar o jogador do melhor modo poss vel para lhe proporcionar uma agrad vel experi ncia de jogo Quando chega a altura de tomar uma decis o isto o jogador chega a uma zona onde se encontra um ponto de enredo e todas as suas condi es s o satisfeitas determinada a melhor op o a tomar Independentemente da melhor op o ser ajudar o jogador com uma ac o ou n o interferir o gestor de narrativas nunca mais vai voltar a considerar tomar qualquer medida nesse ponto de enredo Para tal disp e de tr s ac es que cumprem prop sitos diferentes e Dar uma sugest o ao jogador e Dar um objecto ao jogador e Negar lhe o acesso a uma zona quer de modo tempor rio quer de modo permanente Fornecer uma sugest o A ac o que consiste em dar uma sugest o n o tem qualquer impacto no estado do jogo mas sim na cabe a do jogador Este tipo de ac o consiste em influenciar a probabilidade do jogador escolher um caminho em vez de outro influenciando assim o percurso que este vai tomar na narrativa
20. proporcionando uma sensa o de realiza o pessoal ao jogador Tendo em conta a r pida evolu o dos jogos sistemas como o FIGN podem fazer a diferen a entre aumentar o n mero de fans na comunidade da fic o interactiva ou perde los para outros tipos de jogos Embora apenas eu tenha testado o jogo fiquei satisfeito com os resultados sempre que me desviava do caminho pretendido o gestor de narrativas intervinha para me guiar para o caminho certo Apesar dos testes terem sido realizados num jogo 57 pequeno acredito que o FIGN possa ter um impacto maior num jogo de maiores dimens es 4 2 Trabalho futuro Para trabalho futuro era muito interessante implementar certas caracter sticas como por exemplo o som efeitos sonoros e v deos Os NPCs actuais s o dotados de pouca autonomia e intelig ncia pretendemos melhorar estes aspectos para os tornar mais imprevis veis O editor j composto por uma interface amig vel mas ainda assim tem aspectos a melhorar um exemplo dar hip teses ao autor de escolher a l ngua em que toda a documenta o e texto aparecem Tamb m seria de grande interesse implementar esta ferramenta online de modo a facilitar a vida aos jogadores n o teriam de se preocupar em ter o interpretador no seu computador Com esta ferramenta online seria poss vel utilizar outras abordagens para melhorar o gestor de narrativas como por exemplo o modelo de jogador do C DraGer com racioc nio ba
21. 1 o que inicialmente comegou como hist rias de caga e contos dos antepassados rapidamente tomou a forma de mitos e lendas que constitu ram a identidade da tribo Algumas hist rias apareceram para ensinar outras para avisar umas para tentar resolver os grandes mist rios do mundo e outras apenas para simples entretenimento Ao longo do tempo independentemente da l ngua da ra a da religi o o homem passou de gera o em gera o uma riqueza cultural nas suas hist rias Enquanto algumas foram caindo no esquecimento outras t m sido recontadas s culo ap s s culo moldando os nossos pensamentos religi es filosofias e at o pr prio mundo As hist rias tiveram um grande impacto no homem levaram no a explorar lutar ter esperan a e at sonhar Elas foram inspira o para arte musica tecnologia e para mais e mais hist rias Hoje em dia com a TV a internet a r dio os jornais os livros temos uma fonte quase infinita de temas que cobrem todos os assuntos que se possam imaginar Toda esta pan plia de escolhas nossa disposi o tornou nos mais exigentes Quando come amos a ler um livro e na hist ria h algo que n o nos agrada como por exemplo o enredo um personagem uma situa o o que nos leva a acabar de o ler Afinal de contas temos muitas outras hist rias nossa espera 2 2 Fic o Interactiva Fic o Interactiva FI um termo amplo Estritamente falando Fic o Interactiva consis
22. 6 pr mios Xyzzy no concurso anual de fic o interactiva Na FI o jogador encarna um personagem e controla o atrav s de comandos em texto participando num di logo com o jogo Por baixo desta conversa e a determinar o que o computador vai narrar encontra se um interpretador que procura dar resposta a cada frase que o utilizador escreve comparando as palavras do utilizador com o conjunto de palavras que o interpretador conhece Este tipo de jogos pode tornar se num labirinto para muitos jogadores ap s experimentarem v rios comandos em texto e nenhum os levar a uma sa da bvia Esta situa o causa frustra o que n o algo que se pretenda obter num jogo Outra raz o para ficar frustrado o facto de que grande parte das ferramentas usadas para criar jogos de FI ser focada para pessoas com alguma experi ncia de programa o deixando assim muitas mentes criativas de fora Para combater estes problemas cri mos o FIGN um conjunto de ferramentas que permite solucionar estes dois problemas de uma s vez O FIGN d hip teses aos autores de criarem jogos sem serem obrigados a ter no es de programa o e utiliza um gestor de narrativas O gestor de narrativas tem o papel de guiar o jogador pela narrativa sempre que este estiver a perder o rumo na hist ria Para isso ele vai contar com ac es que pode realizar no jogo para guiar o jogador caso este precise de ajuda O autor vai definir estas ac es que podem ser d
23. Bracelet U Ladder Top Timber Room Ladder Bottom Machine Room Coal T dio sanar Mirror Room North Twisting Passage Maintenance Crystal Trident Room Tool Chest Tube Matchbook Screwdriver Guidebook Wrench Air pump Trunk of Jewels T H H H Stream R eservol View South Deep Canyon Pile of Plastic Frigid River Frigid River 3 White Cliffs Beach North Platinum Bar Room South 5 Painting al Winding Passage Gold Coffin Candles Black Book to End of Rainbow On the ama Rainbow aan Land of the Dead Crystal Skull Figura 2 Mapa parcial do jogo Zork The Great Underground Empire Part I Como poss vel ver na Figura 2 a dimens o do mapa onde o jogador se deslocava vasta e as probabilidades de um jogador se perder num mapa destas dimens es s o grandes Ao contr rio dos jogos de aventura em texto as aventuras gr ficas contam hist rias atrav s de imagens passaram de um parser de texto para uma interface do tipo point and click ou seja em vez do jogador comunicar atrav s de comandos em texto limita se a clicar no ecran com o cursor do rato Um exemplo deste estilo de jogos o Myst 14 Figura 3 que foi um dos primeiros jogos de aventuras gr ficas na primeira pessoa neste caso o jogador via o mundo atrav s dos olhos do protagonista ou Monkey Island 15
24. Estas ac es permitem manipular o jogador de um modo menos intrusivo Negar uma zona A ac o de negar uma zona quer seja de modo tempor rio quer seja de modo permanente deve ser usada com aten o porque das tr s ac es esta a que tem um impacto mais negativo no jogador caso ele se aperceba que est a ser manipulado Nos testes do C DraGer com v rios jogadores foi poss vel confirmar que este tipo de ac o foi a que teve um impacto mais negativo 23 O bloqueio do acesso a certas zonas pode ser til em jogos em que o mapa grande e labir ntico Por um lado os bloqueios passam mais despercebidos por outro pode facilitar o percurso do Jogador Fornecer um item O gestor de narrativas s pode fornecer itens que existam no Jogo e que o jogador n o tenha conseguido ainda alcan ar Esta ac o exige cuidados porque h ac es do jogador que n o foram concretizadas e que se o fossem levariam a 33 obter os itens dados pelo gestor de narrativas Este problema pode causar inconsist ncias no jogo e por consequ ncia estragar a experi ncia do jogador Tendo em conta isto cada vez que o gestor de narrativas fornece um item ao jogador este val indicar ao motor de jogo que preciso procurar qual era a ac o original onde o item era fornecido e vai alter la A altera o consiste em alterar o texto da ac o original e alterar o tipo de ac o ou seja em vez de continuar a ser uma ac o que fornece o
25. Figura 4 onde muitas das op es que se podiam executar faziam lembrar as op es dispon veis nos jogos de aventura em texto Figura 3 Screenshot do jogo Myst Figura 4 Screenshot do jogo Monkey Island 2 3 Editores para criac o de Ficc o Interactiva em texto Os jogos de fic o interactiva 2 atigiram o seu pico de popularidade de entre 1979 e 1986 Para criar um jogo bastava ter uma mente criativa saber escrever e saber usar as ferramentas que existiam para a criag o destes jogos Devido ao aumento da popularidade foram criadas v rias ferramentas cada uma com as suas pr prias caracter sticas Algumas eram focadas para autores com experi ncia em programa o outras conseguiam abstrair o autor de tais conceitos De entre as v rias ferramentas algumas das mais conhecidas 2 5 s o e Adrift 5 e Alan 6 e Hugo 7 e Inform 7 8 e Quest 9 e TADS 10 10 2 3 1 Adrift Ferramenta que permite a cria o r pida e f cil de jogos de fic o interactiva em texto permite que o autor se concentre na criag o do jogo sem ter de perder tempo a aprender a programar Os jogos s o criados atrav s da adig o de zonas objectos personagens e tarefas Na Figura 5 podemos ver um exemplo da criac o de um jogo nesta plataforma onde as zonas criadas aparecem em rect ngulos azuis ligados entre si mostrando os caminhos que as ligam x19 CATE Adr er pr ee Bb Replace ia Add tems B Groups B Vanable
26. UNIVERSIDADE DE LISBOA Faculdade de Ci ncias Departamento de Inform tica GESTOR DE NARRATIVAS PARA JOGOS DE FICCAO INTERACTIVA EM TEXTO Frederico Nuno Nogueira Miranda DISSERTACAO MESTRADO EM ENGENHARIA INFORM TICA Especializa o em Sistemas de Informa o 2012 UNIVERSIDADE DE LISBOA Faculdade de Ci ncias Departamento de Inform tica GESTOR DE NARRATIVAS PARA JOGOS DE FICCAO INTERACTIVA EM TEXTO Frederico Nuno Nogueira Miranda DISSERTACAO Trabalho orientado pelo Prof Doutor Lu s Manuel Ferreira Fernandes Moniz e co orientado pelo Prof Doutor Paulo Jorge Cunha Vaz Dias Urbano MESTRADO EM ENGENHARIA INFORM TICA Especializa o em Sistemas de Informa o 2012 Agradecimentos Chegar aqui o culminar de um longo percurso cheio de altos e baixos onde a persist ncia foi a palavra chave z Quero agradecer minha fam lia em especial minha m e que sempre me apoiou em todos os momentos de uma forma incondicional agradego minha av Maria Ant nia pela for a incentivo e boa disposi o que me tem dado ao longo desta caminhada Estou muito grato ao Prof Doutor Lu s Manuel Ferreira Fernandes Moniz e ao Prof Doutor Paulo Jorge Cunha Vaz Urbano que desempenharam os seus pap is de orientador e co orientador de um modo exemplar Sempre demonstraram disponibilidade boa disposi o e aconselharam ao longo do projecto Por ltimo mas n o menos importantes foram o
27. a Corradini Manish Mehta Santiago Onta n Evaluation of a Drama Manager Agent for an Interactive Story based Game University of Southern Denmark IFKI 6000 Kolding Denmark Georgia Institute of Technology Cognitive Computing Lab Atlanta 30332 0760 Georgia USA 27 Anne Sullivan Sherol Chen Michael Mateas From Abstraction to Reality Integrating Drama Management into a Playable Game Experience Expressive Intelligence Studio University of California Santa Cruz 61 28 NPCs aut nomos http brasslantern org writers iftheory autonomousnpcs html consultado em 12 09 2012 29 MinMax http en wikipedia org wiki Minimax consultado em 12 092012 30 Site do NetBeans http netbeans org consultado em 12 09 2012 31 Cria o de interface http netbeans org kb docs java gui functionality html consultado em 12 09 2012 32 Manipula o de imagens http netbeans org kb docs java gui image display pt BR html consultado em 12 09 2012 33 Redimensionar imagens http www mkyong com java how to resize an image in java consultado em 12 09 2012 34 File chooser http netbeans org kb docs java gui filechooser html consultado em 12 08 2012 35 Import ncia das Cutscenes http www gametrailers com full episodes 1mk3gs bonus round the future of storytelling consultado em 12 08 2012 36 Hansel e Gretel http pt wikipedia org wiki H C3 A4nsel und Gretel consultado em 12 08 2012 62
28. ader Override switches in source code 7 Print debugging information Additional compilation parameters e g source c hugo Hprecompiled library Run after compiling Clear Cancel Figura 7 Screenshot do compilador do Hugo 13 2 3 4 Inform 7 Esta ferramenta faz uso de uma sintaxe baseada na linguagem natural como se pode ver na Figura 8 que demonstra a cria o de um jogo Do lado esquerdo encontra se o c digo da hist ria neste caso para definir uma zona o autor escreve Nome da zona is a room e quando compilado associada a no o de room zona definida pelo autor No lado direito encontra se o mapa do jogo criado Uma das grandes vantagens do inform 7 de ter um manual de instru es incorporado chamado livro de receitas na tab Documentation com um vasto n mero de exemplos para auxiliar na constru o de jogos Actions Contents Kinds Phrasebook Rules Scenes The Wonderful Wizard by 4 Aaron World Index A map of the layout Y contents of each room and an A to Z of rooms and things indo Lang regina q If the map looks wrong Exporting to EPS Kansas Prairie is a room There is Uncle Henry s Farm is east of Kansas sl ies that pees sas Prairie room where play begins O O yourself person painted but the sun blistered the paint and the rains washed A it away and now the house is as Uncle Henry s Farm dull and gray as everything w ploug
29. ar com ele e n o tem inten es de o vencer Para al m de que as jogadas n o s o alternadas como no Xadrez uma jogada do jogador pode envolver v rias ac es at encontrar um ponto de enredo e passar a ser a vez do gestor de narrativas como por exemplo o jogador pode ver um quadro examinar uma gaveta guardar um bloco de notas que l se encontrava e s depois que seria a vez do gestor de narrativas Tendo isto em conta Weyhrauch prop s o algoritmo avg max m diamax enquanto o minmax 29 se enquadra em jogos onde o jogador alterna com uma intelig ncia artificial e onde esta procura a pior jogada do jogador ver Figura 19 o m diamax procura a m dia das jogadas que o jogador pode realizar ver Figura 20 porque n o poss vel determinar qual delas o jogador vai escolher M ximo M nimo M ximo Minimo Figura 19 Exemplo do algoritmo minmax 35 M ximo M dia M ximo M dia Figura 20 Exemplo do algoritmo m diamax Neste caso o algoritmo m diamax tem o seguinte comportamento Fun o m diamax N X Max N M dia N gt O n tem sucessores N o Retorna o valor para o n pai Sim Enquanto tiver sucessores X Max N Sucessor X m dia do valor dos n s sucessores Retorna X para o n pai Max N gt O n tem sucessores N o Retorna o valor para o n pai Sim Enquanto tiver sucessores X M dia N Sucessor X valor mais alto dos n s filh
30. ar sugest es dar itens ou restringe o acesso do Jogador a certas zonas do mapa Al m das ac es o autor tamb m vai poder colocar pontos de enredo na sua hist ria estes pontos servem de refer ncias para o gestor de narrativas controlar o progresso do jogador 1 2 Objectivos O principal objectivo deste trabalho combater os problemas referidos na sec o 1 1 ou seja a falta de gestores de narrativas para apoiar os jogadores maximizando a sua experi ncia de jogo e um editor de jogos que n o force o autor a saber programar Para isto decidimos criar um prot tipo que fosse capaz de colmatar estes problemas e assim nasceu o FIGN um conjunto de ferramentas de software desenhadas para o desenvolvimento de jogos de fic o interactiva em texto com gestor de narrativas incorporado O editor do FIGN precisa de ter uma interface amig vel que permita aos utilizadores criarem as suas hist rias sem necessitarem de conhecimentos de programa o O interpretador do FIGN vai ter uma interface simples e vai poder contar com um gestor de narrativas 1 3 Contribui es As contribui es deste trabalho podem resumir se nos seguintes pontos e Um editor de jogos de fic o interactiva que permite ao autor sem recorrer a uma linguagem de programa o formal definir todo o cen rio do jogo os personagens intervenientes e as interac es dispon veis e Um interpretador de jogo que permite executar um jogo definido pelo
31. avascript ver Figura 10 Esta ferramenta j tem o HTML TADS integrado o que lhe possibilita editar os jogos tradicionais constitu dos apenas por texto e os jogos mais modernos que tiram partido das funcionalidades multim dia do HTML TADS como por exemplo imagens m sica e hiperliga es MYGAME gam TADS Workbench game paused ES File Edit Build Debug View Window Help 7 BPPaAd Ae oa oa amp gt gt gt TEN Stack Ber adv t 0 x gt itement suitOfirmor al En al room lt self startroom gt itement function list room lt self startroom gt gt init local cnt tot i obj j tot length list for i 1 ent 0 i lt tot i only consider this item if it s to be listed obj list i if obj isListed qe see if there are other equivalent items later list if so don t count it this ensures that item is counted only once since only the last in the list will be counted wf if obj isEquivalent x Expression 7 E 1 pA 2 Ex Watch 1 MEET CRUSH Figura 10 Screenshot da cria o de um jogo usando o TADS 16 2 4 Interpretadores de Ficc o Interactiva Na ficg o interactiva as hist rias s o criadas atrav s de um grande n mero de programas muitos deles nem partilham a mesma linguagem Para conseguir colmatar este problema os jogos s o compilados para um formato independente da plataforma Os interpretadores
32. c I Plot Points Drama Manager Interface Load XML myGame xml Save Room Player options in this room Option 1 j L Add New Option Delete Option Save Option Room 1 Add New Room Delete Room Room Name Entrada Room Image Path imagens Entrada png Add Image Option Name Ir para Norte Room Description Option Image Path Add Image Depois dos achados arqueol gicos de Figueira de Castelo Rodrigo a deram me a oportunidade de explorar tamb m a aldeia fantasma Option Text de Colmeal Agora que cheguei estou entusiasmado para ver o estado em que a aldeia se encontra 4 r v ES 25 Go to another room x Hidden Option No Option Target Ponto_1 3 More details Create Game Requires Item s No Figura 35 Exemplo de op o que n o requer itens 50 3 2 4 Separador de Itens A cria o de itens muito simples o autor indica o nome que o item vai ter uma descri o para o jogador ler quando clicar no item e decide se o item pode ser consumido ou n o ver Figura 36 Os items s podem ser consumidos nas ac es de mudan a de zona nas outras ac es este vai permanecer no invent rio do jogador Na imagem anterior no cap tulo 3 1 7 p gina 44 poss vel observar a diferen a entre os valores de um objecto que pode ser consumido o papel que tem valor 2 e o rel gio que tem valor 1 que n o pode ser consumido 200 ll Info Room Item
33. consultado em 12 09 2012 3 Ficg o Interactiva http brasslantern org beginners introif html consultado em 12 09 2012 4 Hist ria da ficg o interactiva http www digitalhumanities org companion view docld blackwell 9781405148641 9 781405148641 xml amp chunk id ss1 5 8 consultado em 12 09 2012 5 Adrift http www adrift co cgi adrift cgi consultado em 12 09 2012 6 Alan http welcome to alan if consultado em 12 09 2012 7 Hugo http www generalcoffee com index_noflash php consultado em 12 09 2012 8 Inform 7 http inform7 com consultado em 12 09 2012 9 Quest http www textadventures co uk quest consultado em 12 09 2012 10 TADS http www tads org consultado em 12 09 2012 11 Future Boy http www generalcoffee com futureboy index html consultado em 12 09 2012 12 Zork I http en wikipedia org wiki Zork I consultado em 12 09 2012 13 Mapa de Zork I http www ironrealms com image original zork i map page two consultado em 12 09 2012 14 Myst http en wikipedia org wiki Myst consultado em 12 09 2012 15 Monkey Island http en wikipedia org wiki Monkey Island 28series 29 consultado em 12 09 2012 60 16 Facade http en wikipedia org wiki Fa C3 ATade_ 28interactive_story 29 consultado em 12 09 2012 17 Cutscene http pt wikipedia org wiki Cutscene consultado em 12 09 2012 18 Bates J 1992 Virtual Reali
34. d model possibly 20 years old It is currently showing an old western Compass Figura 14 Interpretador do Quest 21 2 4 6 Interpretador do TADS O interpretador do TADS suporta Windows Linux e Mac Suporta imagens anima es efeitos sonoros e outras caracter sticas de multim dia referidas anteriormente sobre o seu editor ver Figura 15 ES 2044 gam File Edit View Themes Go Help ZUS BB rk Q Cavern HTML TADS A multimedia TADS 2 5 15 Interpreter Copyright c 1993 2007 by Michael J Roberts 2044 SPACE TROOPERS Interactive Science Fiction by Angus R McLaren Release 1 0 Copyright c 1994 By AMSOFT SOFTWARE All Rights Reserved Developed with TADS the Text Adventure Development System Cavern You are lying down on the floor of a cavern looking back up at the hole you just fell through There does not seem to be anyway back up the hole Looking around you can see of to the west another small ill lit room Looking at the doorway you can see why The doorway has several detonated mines lying around it which suggests that somebody had something to hide but probably blew it up gt Figura 15 Interpretador do TADS 22 0 01 03 2 4 7 Compara o dos Editores Todas estas ferramentas t m servido de ponte para a criag o de v rias obras liter rias embora algumas das suas limita es tornam o seu uso bastante penoso A maior diferen a que as separa a ab
35. dos os casos que j conhece qual se assemelha mais com as caracter sticas do jogador actual assumindo que jogadores com caracter sticas semelhantes de jogo tamb m v o percorrer caminhos semelhantes e cria um modelo de interesses do jogador No final de cada jogo cada jogador classifica os pontos de enredo que percorreu actualizando assim a modela o do jogador As decis es do gestor de narrativas n o v o depender apenas da modela o do jogador mas tamb m de par metros usados numa fun o de avalia o definidos pelo designer do jogo Neste caso tamb m influenciados por Weyhrauch optaram pelo avg max para fun o de avalia o 26 27 Cap tulo 3 Desenvolvimento do FIGN Neste cap tulo vamos comecar por descrever em pormenor a arquitectura do FIGN e seguir iremos apresentar o editor do FIGN que permite que se crie um jogo sem ser necess rio ter conhecimentos de programa o Cri mos um jogo com o editor que vai servir para ilustrar os v rios componentes do FIGN que tamb m ser usado para ilustrar o editor 3 1 Representa o do Jogo e do Gestor de Narrativas 3 1 1 Representa o do Jogo Um jogo de fic o interactiva em texto n o composto por simples conjuntos de par grafos interligados mas sim um mundo virtual constitu do por zonas objectos e personagens Normalmente o jogador interage neste mundo atrav s de comandos em texto desloca o seu personagem atrav s da direc o dos pontos cardea
36. eu progresso de 40 O progresso do jogador inversamente proporcional necessidade de ser ajudado pelo gestor de narrativas por isso quando o progresso baixo como por exemplo 40 o gestor de narrativas vai ter uma probabilidade de actuar maior quando alto vai ser menos prov vel ajudar j que o jogador deve estar no bom caminho Deste modo o gestor de narrativas controla o progresso do jogador atrav s do modelo do jogador e dos pontos de enredo 3 1 5 Pontos de Enredo Os pontos de enredo s o simplesmente momentos na narrativa onde verificado o progresso do jogador e o autor pode definir o n mero de pontos de enredo que quiser Estes pontos s o associados a estados de jogo Tendo em conta que cada estado de jogo 30 composto por uma zona e pelos itens que o jogador tem consigo no invent rio nesse momento f cil de detectar o jogador quando entra num estado de jogo que tem um ponto de enredo associado No entanto a maneira como s o usados nos artigos referidos no cap tulo 2 obrigam o autor da narrativa a definir um grande n mero de pontos e a definir quais s o as sequ ncias de pontos de enredo que podem proporcionar uma experi ncia mais agrad vel ao jogador Por sua vez o gestor de narrativas procura guiar o jogador pelas melhores sequ ncias colocando o jogador a seguir um rasto de migalhas como na hist ria de Hansel e Gretel 36 Para o nosso prot tipo decidimos tomar uma abordagem ligei
37. h 4 else if A plough is fixed in place in Uncle A Henry s Farm A lonely plough AtoZ rests here waiting patiently for another day s labor down direction plough Instead of going nowhere say The east direction south direction edge gen 3 southeast direction inside direction southwest direction x Kansas Prairie room Uncle Henry s Farm room up direction north direction northeast direction west direction Figura 8 Screenshot da criag o de um jogo usando o Inform 7 14 2 3 5 Quest A ferramenta Quest permite ao autor criar jogos de ficg o interactiva em texto sem necessitar de ter no es de programa o devido sua interface simples e intu tiva Com esta ferramenta poss vel adicionar imagens m sica efeitos sonoros e at v deos do YouTube e Vimeo poss vel ver um exemplo da edi o de um jogo na Figura 9 File Edit Add Tools Help DZU 4 22 9 th ts X Qt Q g j0 lounge Setup Room Exts Scripts Attributes Objects Description prefix You are in Objects list prefix You can see BZU This is quite a plain lounge with an old beige carpet and peeling wallpaper Figura 9 Screenshot da cria o de um jogo usando o Quest 15 2 3 6 TADS O TADS uma ferramenta que permite criar jogos de ficg o interactiva atrav s da sua pr pria linguagem semelhante a C e J
38. inar 18 11 2011 15 12 2011 Elabora o do relat rio preliminar Investiga o 16 12 2011 25 01 2012 Investiga o sobre Gestores de Narrativas Elabora o do Gestor 26 01 2012 30 04 2012 Sucessivas itera es sobre o de Narrativas interpretador e o editor e v rias fases de testes Cria o do jogo 1 05 2012 16 05 2012 Elabora o de um jogo para demonstrar as funcionalidades do Gestor de Narrativas Finaliza o do Gestor 17 05 2012 29 06 2012 Pequenos ajustes no de Narrativas interpretador e no editor Elabora o de um 30 06 2012 15 07 2012 Elaborag o de um artigo artigo Elaborag o do relat rio 16 07 2012 26 09 2012 Elabora o do relat rio final final Tabela 2 Planeamento do projecto 1 5 Estrutura do documento Este documento est organizado da seguinte forma e Cap tulo 2 Trabalho Relacionado Este cap tulo descreve os trabalhos relacionados na rea em que o projecto desenvolvido se insere e Cap tulo 3 Trabalho Realizado Este cap tulo descreve o trabalho desenvolvido no mbito do conjunto de ferramentas FIGN A arquitectura componentes e ferramentas usadas para o seu desenvolvimento e Cap tulo 4 Discuss o e Trabalho Futuro Neste cap tulo s o apresentadas as conclus es e perspectivas para trabalho futuro Cap tulo 2 2 1 Perspectiva Hist rica Desde o in cio dos tempos que o homem conta hist rias
39. interpretadores tem caracter sticas muito semelhantes sendo as suas principais diferen as as plataformas onde podem ser executados e Glulxe o Suporta Windows e Git o Suporta Windows e Gargoyle o Suporta Windows Linux e Mac e Spatterlight o Suporta Mac e Zoom o Suporta Linux e Mac e Frotz o Suporta Windows e Linux 20 2 4 5 Interpretador do Quest O Quest tem 2 interpretadores um deles pode ser instalado no computador apenas suporta Windows e o outro um interpretador online que se encontra numa fase beta Com este interpretador online poss vel jogar em qualquer sistema operativo Na Figura 14 podemos ver um exemplo de um jogo a ser executado no interpretador offline embora a interface do interpretador online seja muito semelhante da Figura 14 Uma das grandes vantagens desta interface o facto de n o obrigar o jogador a decorar um conjunto de palavras para poder interagir com o interpretador File Edit View Tools Help You are in a lounge You can see a table on which there is a newspaper Bob a TV a box containing a defibrillator a telephone and an apple You can go south This is quite a plain lounge with an old beige carpet and peeling wallpaper gt look at tv The TV is an old model possibly 20 years old Itis currently switched off Places and Objects Lookat Take Switch on gt switch on tv You switch it on gt look at tv The TV is an ol
40. ion temName gt lt dmActionTextForOldAction gt lt dmActionTextForOldAction gt lt fdmAction gt lt plotPoint gt Figura 29 Exemplo da estrutura do jogo em rela o aos pontos de enredo e ac es do gestor de narrativas Os campos que aparecem nestas imagens v o ser explicados com maior detalhe na sec o 3 2 44 3 2 Editor do FIGN 3 2 1 Preocupa o na interface do editor Para a cria o do FIGN o IDE escolhido foi o Netbeans 30 31 32 33 34 ver Figura 30 este permite desenvolver m ltiplas aplica es para m ltiplas linguagens e proporciona um r pido desenvolvimento devido s suas funcionalidades das quais se podem destacar e Facilidade na cria o de Interfaces gr ficas que foi algo importante para a realiza o deste trabalho e Correc o autom tica permitindo detectar erros mais rapidamente e Auto conclus o auxiliando o programador com sugest es para completar as palavras que este escreve e Utiliza cores diferentes para separar os diferentes elementos do c digo facilitando assim a sua percep o e00 5 XmiBuilder NetBeans IDE 7 0 1 Qr Search 38 am DO y Swing Containers gt amp XmiBuilder Info Room Item Npc Plot Points Drama Manager Tabbed Pane aH Scroll Pane JL Split Pane ET J option 1 HO Acc New Onl Toot ta mm Pets UT U E 5 Layered Pane FT ade Image Y Swing Controls RoomPanel TabbedPane
41. ion magePath gt i lt optionDisplayText gt lt optionDisplayText gt 3 lt optionCode gt lt opti onCode gt 19 lt optionTarget Index gt 1 lt optionTarget Index gt 20 lt optionTarget gt Ponto_l lt optionTarget gt 21 lt isHiddenOption gt false lt isHiddenOption gt 22 lt foption gt NA nn o J LUN ODO Figura 28 Exemplo da estrutura do jogo Na Figura 28 temos um exemplo da estrutura do jogo O encoding do Xml do tipo ISO 8859 1 para poder suportar os caracteres do alfabeto latino De seguida encontra se a etiqueta lt document gt que define onde come a o jogo e o seu par lt document gt encontra se no final do ficheiro Na etiqueta lt interface gt encontra se tudo o que o autor alterou na interface neste caso n o existem altera es logo a etiqueta lt interfaceWasChanged gt tem o valor false Caso existissem altera es o seu valor seria true e existiriam mais etiquetas correspondente s zonas do interface que teriam novas imagens associadas 43 Neste exemplo tamb m poss vel ver os campos que constituem um local representado pela etiqueta lt room gt como por exemplo o nome do local a imagem que vai ter a descri o que vai ser apresentada e as op es que o jogador vai ter nesse local 586 587 588 389 590 591 592 593 594 595 596 lt i tem gt lt i temName gt papel lt i temName gt lt itemDescription gt 0 papel tem escrito Ningu m pode fugir
42. is como por exemplo norte sul este oeste e por vezes tamb m atrav s dos colaterais nordeste sudeste noroeste e sudoeste Ele pode interagir com objectos atrav s de comandos em texto semelhantes a apanhar livro adicionar objectos ao seu invent rio para mais tarde utilizar na resolu o de puzzles e interagir com outros personagens atrav s de comandos como falar com nome do personagem Cada objecto e personagem pode ter v rios n veis de interac o atrav s do comando examinar poss vel recolher mais informa o e posteriormente aumentar as possibilidades de interac o 28 Descric o de um exemplo de jogo Para este trabalho foi criado um jogo para exemplificar algumas das funcionalidades do gestor de narrativas A hist ria simples um arque logo vai visitar a aldeia fantasma de Colmeal em busca da raz o para a desertifica o da aldeia e na esperan a de encontrar algum vest gio de ru nas romanas Ao longo da hist ria o arque logo come a a estranhar algumas contradi es que vai encontrando at que descobre a verdadeira raz o da desertifica o da aldeia quando passa a noite numa das casas abandonadas Durante a noite ele descobre que na realidade a aldeia n o estava deserta toda a popula o tinha sido transformada em zombies 3 1 2 Arquitectura do Interpretador do FIGN imposs vel falar do gestor de narrativas sem falar do interpretador do FIGN para a sua cria o opt
43. itado o Cemit rio e o nico item no seu invent rio seja s o papel vai ser apresentado o texto Agora deveria ir dar uma vista de olhos ao cemit rio e00 Info Room Item Npc Plot Points Drama Manager Interface Plot Point 1 Add New Plot Point Delete Plot Point Save Plot Point Zone Ponto_6 w the player has not visited w Cemiterio Cemiterio ix Add Zone Items that player has at the time papel papel v Add Item Plot Point Penalty 0 6 Drama Manager Actions DM Action 1 j Add New DM Action Delete DM Action Save DM Action Action Name Avisa jogador Image Path Add Image Action Text to display Agora deveria ir dar uma vista de olhos ao cemit rio Type of DM Action Hint v Figura 38 Exemplo de cria o de pontos de enredo e respectivas ac es do gestor de narrativas 53 3 2 7 Separador de Gestor de Narrativas 2 No separador Drama Manager ver Figura 39 poss vel escolher a profundidade da rvore de pesquisa que o gestor de narrativas vai usar para simular os poss veis futuros do jogador Na escolha deste valor preciso no entanto ter no o de que quanto maior for a profundidade de procura mais tempo vai levar a calcular o melhor caminho para o jogador Neste separador tamb m se encontram algumas informa es para explicar o funcionamento dos pontos de enredo e das ac es do gestor de narrativas 000
44. item ao jogador passa a ser uma ac o meramente informativa que apenas vai mostrar o novo texto Na figura 18 podemos ver um exemplo da cria o de um ponto de enredo e da ac o que o gestor de narrativas pode ter nesse ponto utilizando o editor do FIGN Se esta ac o for usada pelo Gestor de Narrativas vai mostrar ao jogador o texto Um c o apareceu do nada a correr e deixou cair qualquer coisa a meus p s Baixei me para apanhar e noto que um rel gio antigo Guardei o na mochila vai colocar o item rel gio no invent rio do jogador e vai alterar o texto da ac o original para Afinal era s um peda o de vidro embora a cova parece ter a terra remexida estranho 800 l Info Room Item Npc J Plot Points Drama Manager Interface Plot Point 2 E Add New Plot Point Delete Plot Point Save Plot Point Zone Ponto 8 the player has visited bx Cemiterio Cemiterio y Add Zone Items that player has at the time papel v Add item Plot Point Penalty 2 0 Drama Manager Actions DM Action 1 ly Add New DM Action Delete DM Action Save DM Action Action Name Avisa jogador Image Path Add Image Give item to player details Action Text to display Um c o apareceu do nada a correr e deixou cair qualquer coisa tem name relogio v a meus p s Baixei me para apanhar e noto que um relogio antigo Guardei o na mochila Image path for old
45. iver consigo nesse estado soma se mais 1 Todos os estados valem 1 inicialmente antes de se verificar se t m itens excluindo a raiz da rvore e os seus sucessores directos EJ e EJ por exemplo o estado inicial EJ vale 0 mas o seu sucessor EJ1 vale 1 mais o valor do estado anterior que neste caso O mais 1 por cada item que o jogador tiver consigo Neste caso se O jogador n o tiver items consigo em nenhum dos estados EJ EJ1 EJ11 e EJ111 ent o o valor deste n vai ser 0 1 1 1 3 Se por acaso o jogador tivesse 1 item no estado EJ111 o valor do n seria 0 1 1 1 1 4 No caso de encontrar um ponto de enredo como na Figura 22 vai somar 1 ponto extra ou seja no caso do caminho EJ EJ3 PE o valor do n vai ser 0 1 2 3 O ideal seria deixar o Gestor de Narrativas analisar todos os estados de jogo desde o ponto em que o jogador se encontra at ao final do jogo nesse caso seria poss vel determinar com maior exactid o que caminhos seriam os melhores para garantir uma boa experi ncia de jogo Mas infelizmente isso impratic vel quanto mais profunda for a pesquisa mais tempo vai consumir Quando estas duas fases terminam ficamos com uma rvore semelhante da Figura 24 pronta para ser usada pelo m diamax Acc o do GN e do GN N o fazer nada ar uma ra ae sugest o PE Ponto de Enredo Penalizac o 1 tee e Penaliza o X EJ Estado de Jogo GN Gestor de Narrativas Figura 24 r
46. l png Add Image Room Description A casa n o parece estar abandonada at est em bom estado apesar a da sujidade Create Game Option Name Pernoitar Option Image Path Add Image Option Text Esta casa parece ser um bom sitio para pernoitar mas primeiro tenho 4 de encontrar o cemit rio para datar a polpula o e ver a igreja y LA au nm Go to another room x Hidden Option No Entrada 7 Option Target More details Requires Item s Yes Item s Name s papel relogio papel Add Item Text to show after the use of the item s J est a escurecer vou aproveitar para dormir e amanha levanto me cedo para investigar se existe alguma cripta escondida na igreja p r 48 Dentro das v rias op es que o jogador pode executar temos e Mudar de zona e Adicionar um item ao invent rio e Conversas encadeadas e Conversa com Npc e Examinar algo Mudar de zona Se o autor escolher a op o mudar de zona ent o no campo Option Target v o aparecer todas as zonas j criadas para onde o jogador pode ir Adicionar um item ao invent rio Caso escolha adicionar um item ao invent rio no campo Option Target v o aparecer todos os items j criados que podem ser adicionados Conversas encadeadas A op o conversas encadeadas corresponde a ac es que t m como resultado uma nova ac o para o jogador executar No campo Option Target v o aparecer todas as op es j
47. miza a experi ncia de jogo As medidas do gestor de narrativas podem n o s influenciar o comportamento do jogador como tamb m podem influenciar o mundo do jogo como por exemplo bloquear um caminho for ando o jogador a optar por outro ou alterar o local onde o jogador apanha um determinado objecto Em certas alturas pode at acontecer que a melhor ac o que o gestor de narrativas possa tomar seja abster se de qualquer medida n o interferindo no jogo A ideia de um gestor de narrativas foi primeiramente proposta por Bates 18 em 1992 e desenvolvida por Weyhrauch 19 na sua disserta o em 1997 Weyhrauch desenvolveu uma fun o de avalia o para a hist ria do jogo de fic o interactiva Tea 24 for Three e desenvolveu um algoritmo de procura em rvore que aplicava a fun o de avalia o Para um gestor de narrativas a fun o de avalia o n o pode ser apenas um algoritmo de procura advers ria pois o jogador n o sabe que est a jogar com o gestor de narrativas e n o tem inten es de o vencer Tendo isto em conta Weyhrauch prop s o algoritmo avg max que em tudo semelhante ao minmax com excep o de que n o interessa prever a pior jogada ali s todas as jogadas do jogador v o ter o mesmo peso logo calculada a m dia em vez do valor m nimo Os seus testes foram efectuados com utilizadores simulados que executavam ac es aleatoriamente O seu trabalho validou que poss vel criar uma fun o onde o autor
48. nge Exit Icon Change Exit Left Image Change Exit Right Image A Figura 40 Exemplo de personaliza o da interface do interpretador 55 56 Cap tulo 4 Discuss o e Trabalho Futuro 4 1 Conclus es Nesta dissertac o apresent mos o prot tipo FIGN constitu do pelo par editor de jogos de ficg o interactiva e interpretador com gestor de narrativas incorporado O editor composto por uma interface amig vel compat vel com os sistemas operativos mais usados Windows Linux Mac tem condi es para abrir o caminho a novos autores no mundo da fic o interactiva No editor o autor pode contar com uma s rie de caracter sticas especialmente criadas para o apoiar como filechoosers redimensionamento autom tico das imagens que pretender usar no seu jogo e sugest es sobre o prop sito dos v rios campos do editor No interpretador dado um conjunto de pontos de enredo um conjunto de ac es do gestor de narrativas e uma fun o de avalia o da qualidade da hist ria o gestor de narrativas vai guiar o jogador pelo enredo de modo a melhorar a sua experi ncia de jogo Com o FIGN os jogadores rec m chegados aos jogos de fic o interactiva j n o v o sentir a frustra o de se perderem de tentarem v rios comandos e nenhum os levar a uma sa da bvia ou de n o conseguirem lembrar se de todos os comandos que podem utilizar para interagir com o jogo O FIGN incentiva os a chegar ao fim do jogo
49. nto de enredo encontrado s vai ter 4N de profundidade se tivesse sido encontrado no n vel 2 da sub rvore ent o a sua profundidade s seria 3N Como foi possivel observar na cria o da rvore de pesquisa para a aplica o da fun o de avalia o m diamax os n s que sucedem directamente o n raiz v o corresponder aos estados em que o jogo se encontra ap s a ac o do gestor de narrativas quer seja a ac o de actuar ou a de se abster No caso da ac o de actuar corresponder a dar uma sugest o o estado resultante dele actuar exactamente igual ao de se abster ou seja o facto de ele dar uma sugest o n o altera em nada o estado do jogo apenas a maneira como o jogador v as tarefas que tinha em mente para fazer O mesmo n o se aplica s ac es de negar uma zona ou adicionar um item No caso de dar um item o estado resultante da ac o vai ser um estado com esse item logo a parte da rvore de pesquisa que corresponde a essa ac o vai ser diferente Na nega o de uma zona tamb m j que durante a procura essa zona vai estar bloqueada 40 Num exemplo concreto na hist ria do nosso jogo no ponto de enredo que d uma sugest o ao jogador caso jogador caso tenha apanhado o papel que est dentro do livro na Igreja e ainda n o tenha visitado o Cemit rio poss vel ver a edig o deste ponto de enredo na sec o 3 3 Figura 38 p g 55 Quando o gestor de narrativas reconhece este ponto e cria a rvore
50. nto de enredo tem um conjunto de regras estas regras podem ser por exemplo zonas que o jogador tem que visitar zonas por onde ele ainda n o passou itens que ele tem que ter obrigatoriamente consigo Quando estas regras s o reconhecidas o gestor de narrativas verificar se deve actuar ou n o O primeiro ponto de enredo com que o jogador se depara o Ponto 4 que lhe vai negar a passagem para a zona que est esquerda do ponto de enredo Este ponto foi colocado com o nico e exclusivo prop sito de demonstrar o gestor de narrativas a negar uma zona como j mencionei anteriormente este tipo de ac es deve ser evitado O jogador continua a percorrer a vila e passa por 2 pontos de enredo O Ponto 2 reconhecido se o jogador apanhar um papel que est na Igreja ainda n o tiver visitado o Cemit rio e estiver na zona onde est o Ponto 2 caso alguma destas regras n o se verifique o ponto de enredo ignorado Se todas estas regras se verificarem e o gestor de narrativas decidir que deve actuar vai dar a sugest o ao jogador de ir verificar o cemit rio Qual a raz o deste ponto de enredo estar colocado nesta zona em particular Simples a zona onde o jogador come a a fugir do rumo ideal para ter uma boa experi ncia neste jogo O Ponto 3 semelhante se o jogador j esteve no cemit rio tem no seu invent rio apenas um rel gio e chegou zona do Ponto 3 o gestor de narrativas vai determinar se deve actuar ou n o e caso
51. oe Mas The Hollywood Murders Beta Test Version An Interactive Mystery Written by Michael Zerbo Created using Alan 3 0 Additional Credits Initial inspiration to the Alan language Goran Forslund Continuing encuragement and bug finding Steve Griffiths Aue e Visit the Alan Home Pages at http www alanif se Your name is Jim Novak and you are a prij geles You have a small rented office loc eighborhood an old jalopy and a few doll f a caseload recently or actually any time that you can remember You ve anaged to scratch out a living in this line of work but just barely Maybe your luck More Figura 12 Interpretador do Alan WinArun 18 2 4 3 Interpretador do Hugo O interpretador do Hugo suporta Windows Linux Mac Podemos observar um exemplo de um jogo feito com o Hugo o Future Boy que foi nomeado para 9 Pr mios Xizzy melhor jogo melhor escrita melhor hist ria melhor cen rio melhores puzzles melhores NPCs melhor puzzle individual melhor NPC individual melhor uso do meio na Figura 13 Z Future Boy IE Ele Story Options Help Outside prison Sus Desktop gt SS vma Figura 13 Interpretador do Hugo 19 2 4 4 Interpretador do Inform 7 O Inform 7 n o tem nenhum interpretador em particular para executar os seus jogos pode ser usado qualquer um destes interpretadores Glulxe Git Zoom Spatterlight Frotz Gargoyle Este conjunto de
52. os Retorna X para o n pai 36 Mas ao contr rio de Weyhrauch restringimos limite de profundidade da rvore de pesquisa onde ele vai actuar Deste modo o tempo gasto pelo gestor de narrativas n o percept vel ao jogador caso contr rio o jogo ficaria parado enquanto o gestor de narrativas estivesse procura da melhor ac o para tomar Antes da aplica o do algoritmo m diamax o gestor de narrativas come a por criar uma rvore de pesquisa com profundidade limitada pelo valor definido pelo autor multiplicado por 5 no separador Drama Manager do editor e depois aplica o m diamax sobre essa rvore Ac o do GN Dar uma sugest o PE Ponto de Enredo EJ Estado de Jogo GN Gestor de Narrativas Ac o do GN N o fazer nada Sub rvore de pesquisa Sub rvore de pesquisa Figura 21 Cria o da rvore de pesquisa A cria o da rvore de pesquisa come a com a cria o do n raiz correspondente ao ponto de enredo que foi reconhecido Os filhos do n raiz v o ser os estados resultantes da ac o do Gestor de Narrativas que no exemplo da Figura 21 correspondem aos estados EJ e EJ Ap s este passo o resto da rvore criada em duas fazes Na primeira fase aplicada uma fun o sobre o n EJ e sobre o n EJ que vai procurar que liga es esses estados de jogo t m com outros estados continuando este processo N vezes onde N o valor definido pelo auto
53. pc Plot Points Drama Manager Interface Load XML myGame xml Save Room _Player options in this room OOo Oo ana Choose your image Room 13 Add New Room Delete Room gt MN w J l j Look In E Anubis aj ej ajen Room Name Casa Noite 4 amp Applications 3 Jogos Public Room Image Path imagens Casa noite png Add Image amp Desktop amp Library amp Sites Room Description amp Documents amp Movies E Downloads ES Music O dia foi longo e com o anoitecer o frio intensifica se ainda bem Dropbox E NetBeansProjects que esta casa tem uma lareira eclipse Pictures File Name Files of Type Images png jpg bx Open Cancel Figura 31 Exemplo do File chooser e Redimensionamento de imagens sempre que o utilizador adiciona uma imagem ao jogo criada uma c pia da imagem j redimensionada para ser apresentada correctamente quando o jogo for executado 46 Sugest es quando o utilizador coloca o cursor sobre o nome de um campo a preencher recebe uma indicac o do prop sito desse campo como podemos ver na Figura 32 pedia da Eu bet The text that will be shown after the player chooses this option Talvez este pau amua tema alguna perser para congo Figura 32 Sugest es de ajuda 47 Para a construg o do jogo ser mais intuitiva a interface do editor est dividida em v rios separadores onde em cada um poss vel
54. plorar tudo ao seu pr prio ritmo que o permitisse sentir que tem impacto na hist ria ao contr rio da maioria dos jogos que tende a criar narrativas levemente ramificadas onde s o alternados per odos onde o jogador pode interagir e tomar decis es com per odos de cutscenes 17 35 As cutscenes por vezes referidas com outros termos como cinematics ou in game movies s o sequ ncias sobre as quais o jogador n o tem controlo sendo usadas para avan ar no enredo Como j foi referido em muitos casos uma simples hist ria pode tornar se num labirinto sem sa da bvia para o jogador e para combater este problema necess ria a presen a de um gestor de narrativas 18 19 20 21 22 23 24 25 26 27 No jogo o gestor de narrativas controla a actividade do jogador atrav s de pontos de enredo Os pontos de enredo s o simplesmente momentos importantes na narrativa onde verificado o progresso do jogador Quando as condi es de um ponto de enredo se re nem o gestor de narrativas reconhece o e recorre a uma fun o de avalia o personalizada pelo autor para determinar a medida que deve tomar As condi es para um ponto de enredo ser reconhecido podem ser por exemplo o jogador estar num certo lugar e ter consigo um objecto espec fico Para tomar estas decis es o gestor de narrativas projecta os poss veis caminhos que o jogador pode fazer no jogo e recorre fun o de avalia o para descobrir qual dos caminhos maxi
55. poss vel visualizar a ac o do gestor de narrativas face a este ponto de enredo 41 AU continuar para NOFte tenno UO meu dO esqueruo uma pequeno casa com aspecto simpatico e minha direita tenho a igreja Ao fundo da estrada est um poco que deveria ser a fonte de gua da aldeia Ao virar para Norte encontro mais duas casas uma das quais tem porta aberta Agora deveria ir dar uma vista de olhos ao cemiterio Figura 26 Ac o do Gestor de Narrativas a vermelho Como se pode ver na Figura 26 a interface do interpretador muito simples constitu da por uma zona onde s o apresentadas imagens ao jogador uma caixa de texto onde pode ser lida a hist ria e o resultado das ac es do jogador uma combobox onde poss vel consultar o invent rio as op es de que o jogador disp e e um bot o para sair o exit Esta interface foi inspirada no gestor de narrativas C DraGer que mostrava todas as op es que o jogador podia fazer na altura bastava escrever o n mero da op o para a executar Com intuito de dar um passo em frente perante as novas tecnologias de cran tactil surgiu a ideia de colocar as op es do jogador de modo a poderem ser clicadas em vez de escrever o seu n mero Perante esta interface o jogador n o obrigado a memorizar um conjunto de palavras para comunicar com o jogo J n o necess rio tentar v rios comandos 42 escritos e ficar frustrado por nenhum ajudar a atingi
56. r no separador Drama Manager do editor Na Figura 22 encontra se um exemplo para N 3 onde apenas existem 3 n veis de profundidade A fun o pegou no estado EJ e procurou que liga es este estado tinha e fez o mesmo para os estados sucessores 37 EJ Estado de Jogo PE Ponto de Enredo Nivel 3 Figura 22 Primeira fase da cria o das sub rvores Quando a fun o chega profundidade definida pelo autor neste exemplo N 3 s o criados n s que cont m os v rios caminhos poss veis isto vai criar um n com o caminho EJ EJ1 EJ11 EJ111 outro n com o caminho EJ EJ1 EJ11 EJ112 para todos os caminhos Ap s esta etapa come a a fase 2 que consiste em aplicar a fase 1 mais 4 vezes sempre utilizando o estado final presente nestes n s para continuar a procurar mais N estados criando assim uma sub rvore com a profundidade 5N Seguindo o exemplo ficamos com uma sub rvore semelhante da Figura 23 EJ Estado de Jogo PE Ponto de Enredo e Ms o MI Figura 23 Segunda fase da cria o das sub rvores 38 Durante a criac o da sub rvore a cada um destes n s associado um valor esse valor calculado tendo em conta o n mero de estados presentes no n e o n mero de items que o jogador tem nos v rios estados Por exemplo o valor do n correspondente ao caminho EJ EJ1 EJ11 EJ111 a soma do valor destes estados onde cada estado vale 1 e por cada item que o jogador t
57. r os objectivos Deste modo muito mais simples navegar pela hist ria Uma interface destas facilmente adaptada para telem veis e tablets permitindo o jogador usufruir destes jogos no conforto do seu lar nos transportes p blicos ou em qualquer lado 3 1 7 Representa o da Estrutura do Jogo Para representar a estrutura do jogo foi escolhido o formato Xml al m de ser independente do sistema operativo muito til para manter a informa o organizada com a ajuda das etiquetas Deste modo os locais os objectos os personagens os pontos de enredo as ac es do gestor de narrativas s o representados por etiquetas O nosso sistema de fic o interactiva com gestor de narrativas incorporado FIGN vai ter o papel de interpretar o Xml lt xml version 1 8 encoding 1S0 8859 1 gt lt document gt lt inter face gt lt inter faceWasChanged gt false lt inter faceWasChanged gt lt inter face gt lt room gt lt name gt Entrada lt name gt lt imagePath gt imagens Entrada png lt imagePath gt lt description gt Depois dos achados arqueol gicos de Figueira de Castelo Rodrigo deram me a oportunidade de explorar tamb m a aldeia fantasma de Colmeal Agora que cheguei estou entusiasmado para ver o estado em que a aldeia se encontra lt description gt lt option gt lt optionlD gt room 1 opt 1 lt optionlD gt 5 lt optionName gt Ir para Norte lt optionName gt 16 lt option magePath gt lt opt
58. ram um sistema de aprendizagem por refor o para um gestor de narrativas baseado na optimiza o declarativa Neste projecto eles d o ao autor a possibilidade de definir o que constitui uma boa narrativa ou seja a est tica da narrativa usando um conjunto de pontos de enredo e uma fun o de avalia o Os pontos de enredo s o avaliados pelo autor que lhes atribui uma pontua o num rica deixando o gestor de narrativas calcular quais s o os melhores arcos da narrativa que o jogador deve percorrer Para tomar estas decis es o gestor de narrativas tem que optimizar o uso das suas ac es consoante os pontos de enredo e a fun o de avalia o Ap s utilizarem o seu sistema no jogo Tea for Three e numa parte 23 do jogo Anchorhead chegaram conclus o que obtinham melhores resultados em jogos onde o mundo virtual era maior Anchorhead Em 2009 Manu Sharma et al 23 24 criaram um gestor de narrativas baseado em casos chamado C DraGer A arquitectura do C DraGer consiste em 3 m dulos motor de jogo modela o do jogador e gestor de narrativas O motor de jogo respons vel por executar o jogo e interagir com o jogador a modela o do jogador respons vel por analisar as suas ac es e criar um modelo de interesses deste e o gestor de narrativas influencia o progresso da narrativa no jogo tornando a mais apelativa ao Jogador Na parte da modela o do jogador o C DraGer usa racioc nio baseado em casos verificando em to
59. ramente diferente Quisemos automatizar estes passos para retirar trabalho ao autor Para come ar n o deixamos o autor escolher sequ ncias de pontos de enredo pois acreditamos que quando algu m cria uma hist ria n o linear com v rios finais n o tem inten es de criar partes do jogo que n o queira que o jogador explore Deste modo o autor apenas vai criar pontos de enredo para momentos do jogo onde o jogador possa fugir ao rumo da narrativa tornando a cria o de pontos de enredo muito menos penosa Na Figura 17 podemos ver os pontos de enredo que existem no jogo criado para este projecto Tipo de ac o do Gestor de Narrativas Dar item Dar sugest o Dar sugest o Negar zons 0 Zonas do jogo Figura 17 Mapa do jogo criado para demonstrar o uso do FIGN 31 Resumindo a hist ria o jogador um arque logo comega na zona In cio e tem que percorrer a aldeia procura de pistas para a sua desertificac o Ao percorrer a aldeia o jogador encontra pistas na Igreja e no Cemit rio e ap s encontrar as pistas pode pernoitar numa casa em frente Igreja onde atacado ao meio da noite por zombies e o jogo acaba No percurso ideal o jogador completava o jogo e o gestor de narrativas nem precisava de actuar independentemente do jogador passar ou n o passar pelos pontos de enredo Mas como o jogador nem sempre segue o caminho ideal por vezes perde se ent o necess rio ser guiado Cada po
60. s D Tex Overrides Pins B Provertes B Near Alan s Den D Aans Den E Beside the glacier B By a croshed space ship D Tre village BD Middle of village market B Town Hall PP Vilage Church BD Marcet al D Cante sall a ora B Police Ha B zo B Vegetable Shop D Post Office P ca Name IM push village market button 14 The middle of the village market Figura 5 Screenshot da criag o de um jogo usando o Adrift 11 2 3 2 Alan Esta ferramenta tem a sua pr pria linguagem a linguagem Alan atrav s dela o autor pode construir os mais variados jogos de fic o interactiva em texto que desejar Como se pode ver na Figura 6 temos um exemplo da criag o de um jogo de aventura em texto onde a sintaxe da linguagem encontra se a vermelho e06 Ca E EE Alan Development Ts Navigator 53 Alan Development saviour alan AlaniDE 1 Or Grs saviour alan E End Verb y Saviour gt 5 settings Ea Pi saviour a3c saviour alan v X syntax gt MX type_on gt string 6 terminal response M nowhere MW outside Mha v MW door gt Y closed gt Y locked gt Y readable f i Verb insert End Verb insert End Add Syntax find find Co Where o Isa thing Add To Every thing Verb find Check o Not In hero Else You already have it Does Only You have to find things yourself End Verb find End Add Else Don t know how you plan on finding
61. s amigos que fiz ao longo deste percurso Alexandre Gabriel Andr Bastos Bruno Seixas Carlos Teixeira Filipe Gil Geraldo Nascimento Gon alo Cruchinho Henrique Morais Jo o Costa Jo o Lobo Jo o Lopes Joaquim Reis Louis Lopes Rui Flores Rui Gameiro Tiago Raimundo e tamb m quero agraceder a todos os meus colegas do LabMAg que me fizeram sentir em casa Muito Obrigado Para um mundo de videojogos melhor Resumo Este relat rio tem como objectivo descrever o meu trabalho realizado durante a tese em Gestor de Narrativas para Jogos de Fic o Interactiva em Texto Ao contr rio dos outros jogos que se baseiam mais na jogabilidade e nos gr ficos como por exemplo jogos de desporto na fic o interactiva em texto o principal foco na narrativa e na resolu o de puzzles A interface nestes jogos simples baseada apenas em texto embora tamb m possa conter imagens anima es e v deos Nestes jogos o jogador encarna um personagem e interage com o meio que o rodeia atrav s de comandos em texto Este tipo de comunica o com o jogo gera v rios problemas como por exemplo obrigar o jogador a saber um leque de palavras para conseguir interagir na hist ria ou o Jogador perder se no jogo devido dimens o deste tentar v rios comandos e nenhum deles levar a uma sa da bvia Apesar dos jogadores se depararem com problemas nesta rea eles n o est o sozinhos os autores tamb m encontram alguns quando querem
62. seado em casos Seria poss vel reunir a informa o dos jogadores que utilizassem o interpretador online para melhorar o modelo de jogador Cada vez mais os idosos t m tend ncia para aprender a utilizar computadores isso ajuda os a combater a solid o e os jogos servem para manter o c rebro activo Ao longo de um ano fui professor de inform tica volunt rio na Academia S nior na Junta de Freguesia de Carnide A oportunidade de os ensinar e perceber as suas dificuldades levou me a compreender que este tipo de jogos seria muito estimulante para eles j que n o implica destreza f sica e jogar estes jogos como ler um livro mas de uma forma interactiva Tendo em conta os problemas que referi estes jogos seriam impens veis mas com o FIGN eles conseguiriam jogar sem problemas j que o gestor de narrativas estaria presente para os apoiar Seria interessante testar a adequa o desta ferramenta popula o s nior Outro aspecto a abordar pode passar pela cria o de uma vers o do interpretador para telem veis tablets para permitir que os jogadores possam disfrutar desta ferramenta no conforto do seu lar nos transportes p blicos ou em qualquer lado NOTA Esta disserta o foi escrita ao abrigo do antigo acordo ortogr fico 58 59 Cap tulo 5 Bibliograf a 1 Josiah Lebowitz Chris Klug Interactive Storytelling for Video Games 2 Fic o Interactiva http en wikipedia org wiki Interactive fiction
63. strac o da programa o apenas o Adrift e o Quest conseguem proporcionar uma interface que permite ao autor criar uma hist ria sem ter conhecimentos na rea de programa o e o Inform 7 consegue suavizar bastante essas no es A tabela que se segue resume as principais caracter sticas dos editores Musica Na Suporta Suporta Suporta Suporta Efeitos Na Suporta Suporta Sonoros Suporta Videos Na Suporta Suporta Nao Suporta Suporta Linux Suporta Suporta Suporta Suporta Nao Suporta Suporta Mac Na Suporta Suporta Suporta Nao Suporta Suporta Suporta Gestor de Nao N o N o N o N o N o Narrativas Suporta Suporta Suporta Suporta Suporta Suporta Interface Suporta N o N o Suporta Suporta N o amig vel Suporta Suporta Suporta Tabela 1 Principais diferen as entre os editores o o o O Os interpretadores s o todos muito semelhantes alguns t m caracter sticas nicas como o interpretador do Adrift que mostra o mapa do jogo ao jogador ou o 23 interpretador do Quest que possibilita uma interacg o n o s escrita mas tamb m atrav s do uso do rato Apesar destas diferen as nenhum deles suporta gestores de narrativas 2 5 Gestores de Narrativas Um dos maiores obst culos nos jogos que giram volta da narrativa a forma de moldar a experi ncia do jogador estrutura da narrativa sem lhe tirar a sensa o de livre arb trio no jogo O jogo ideal seria aquele onde o jogador pudesse ex
64. te em influenciar o resultado de uma hist ria como os livros do tipo Chose Your Own Adventure com hist rias ramificadas Em geral os jogos de aventura s o programas que nos contam uma hist ria deixam nos encarnar um personagem e vamos vivendo a hist ria atrav s das nossas ac es Em muitos jogos de FI temos que resolver puzzles para poder prosseguir na narrativa como por exemplo Como que destranco a porta Em alguns jogos tamb m necess ria a interac o com NPCs non player characters para avan ar na hist ria Ao contr rio de muitos jogos que se baseiam mais na destreza f sica do jogador e dependem muito dos reflexos como o Quake em FI o principal foco na narrativa e na resolu o de puzzles apelando destreza mental Em FI consegue se ter dois tipos de jogos gr ficos e em texto As aventuras em texto apareceram primeiro joga las como ler um livro mas onde necess rio usar comandos em texto para fazer o protagonista interagir com meio ambiente A interface em geral apenas texto mas tamb m pode conter imagens anima es e v deos como a interac o com o jogo em texto ainda se mant m na categoria de aventuras em texto Um dos primeiros jogos deste g nero foi Zork The Great Underground Empire Part I 12 ver Figura 1 Neste jogo o principal objectivo encontrar os 20 tesouros de Zork para os encontrar preciso resolver v rios puzzles e passar por labirintos 13
65. that Check I don t understand what you want to insert the o into ER Problems amp Tasks 4 An 0 errors O warnings 9 infos Description 2311 No syntax defined for this verb automatically used conne 2311 No syntax defined for this verb automatically used eat ol 2311 No syntax defined for this verb automatically used insert EEE e I Figura 6 Screenshot da cria o de um jogo usando o Alan 12 Resource saviour al saviour al saviour al In Fold Savi Savi a Savi v de 2 3 3 Hugo Esta ferramenta possibilita a cria o de jogos de fic o interactiva atrav s de algum conhecimento de programa o para usufruir da sua linguagem de alto n vel Esta ferramenta tamb m permite o uso de imagens musica efeitos sonoros e v deo Al m de jogos tamb m poss vel criar apresenta es tutoriais prot tipos e outras aplica es Um exemplo de um jogo criado com esta ferramenta o Future Boy 11 Na Figura 7 podemos observar um screenshot desta ferramenta B S Hugo Compiler v3 1 03 os S 2 File Options Help No file compiled Hugo Compiler Filename to compile o Browse Abort on first error Display object tree Build HDX debuggable executable Display compilation statistics Expanded error format Text to LST for spellchecking Full object summaries Show memory usage for objectfile Generate HLB precompiled he
66. trabalhar as v rias componentes do jogo Um jogo composto por 3 componentes principais zonas itens e persongens 3 2 2 Separador de informac o O primeiro separador apenas cont m algumas sugest es para o autor saber como deve criar as zonas da sua hist ria criar itens Npcs para o ambientar ao editor 3 2 3 Separador da criac o de zonas Um jogo pode ser constitu do por um n mero aleat rio de zonas onde em cada zona o autor define que ac es o jogador pode executar Como se pode ver na Figura 33 no lado esquerdo define se o nome da zona escolhe se a imagem que vai aparecer quando o jogador chegar a esse local e a descri o que lhe vai ser apresentada No lado direito o autor pode definir que op es que o jogador vai ter sua disposi o nessa zona Nas op es o autor define o nome da op o pode alterar a imagem que est a ser exibida ao jogador ou pode deixar o campo em branco para manter a imagem da zona onde se encontra e pode escrever o texto que vai aparecer quando o jogador escolher essa op o Figura 33 Exemplo da cria o de uma zona e suas op es 800 a Info Room Item Npc Plot Points Drama Manager Interface Load XML Player options in this room Room 12 myGame xml Save Room Option 1 y Add New Option Delete Option Save Option Add NewRoom Delete Room Room Name Casa entrada Room Image Path imagens Casa_
67. trada M Npc Dialogue with Player Npc Dialogue 1 x Add New Dialogue Delete Dialogue Save Dialogue Npc talk to player Z De nada se n o precisas de mais nada vou andando Volto A amanha para te vir buscar ok v Player Answer Answer 1 Add New Answer Delete Answer Save Answer Option Name Despedir Hidden Option No E More Details Option Text Ok At amanha Requires Item s No MA av IT Image Path Add Image Inspect something Figura 37 Exemplo de cria o de NPC 52 3 2 6 Separador de Pontos de Enredo A cria o de pontos de enredo permite o autor escolher em que zona que o ponto de enredo se vai encontrar as zonas que o jogador j visitou ou ainda n o visitou os itens que o jogador tem que ter na altura e a penalidade da ac o do gestor de narrativas nesse ponto de enredo Como poss vel ver na Figura 38 os pontos de enredo s o constitu dos pela zona onde s o detectados Ponto 6 pelos itens que o jogador tem que ter na altura papel pelas zonas onde o jogador j passou ou pelas zonas por onde ainda n o passou neste caso o Cemit rio e pela penalidade aplicada ao gestor de narrativas por actuar 0 6 Em cada ponto de enredo o autor define que ac es o gestor de narrativas vai ter neste caso a ac o escolhida foi dar uma sugest o Caso todas as condi es do ponto de enredo sejam satisfeitas ou seja o jogador chegue ao Ponto 6 ainda n o tenha vis
68. ty Art and Entertainment Presence The Journal of Teleoperators and Virtual Environments Vol 2 No 1 133 138 19 Weyhrauch P 1997 Guiding Interactive Drama Ph D Dissertation School of Computer Science Carnegie Mellon University Pittsburgh PA Technical Report CMU CS 97 109 20 Ari Lamstein Michael Mateas Search Based Drama Management The Georgia Institute of Technology College of Computing Technology Square Research Building 85 5th Street NW Atlanta GA 30332 0760 21 Mark J Nelson Michael Mateas Search Based Drama Management in the Interactive Fiction Anchorhead College of Computing Georgia Institute of Technology Atlanta Georgia USA 22 Mark J Nelson David L Roberts Charles L Isbell Jr Michael Mateas Reinforcement Learning for Declarative Optimization Based Drama Management College of Computing Georgia Institute of Technology Atlanta Georgia USA 23 Manu Sharma Santiago Onta n Manish Mehta Ashwin Ram Drama Management and Player Modeling for Interactive Fiction Games In Computational Intelligence Journal Volume 26 Issue 2 pp 183 211 24 Manu Sharma Santiago Onta n Manish Mehta Ashwin Ram Drama Management Evaluation for Interactive Fiction Games Cognitive Computing Lab CCL College of Computing Georgia Institute of Technology Atlanta Georgia USA 25 Chinmay Barve Devika Karnik Kai Wang Search Based Drama Manager Georgia Institute of Technology 26 Andre
69. vore de pesquisa pronta para aplica o do m diamax 39 Quando se aplica o m diamax ele vai percorrer os n s da rvore vai avaliar at chegar o momento onde o n EJ e EJ t m o valor correspondente ao melhor caminho que o jogador pode tomar e est prestes a mandar esse caminho para o n raiz Antes desta importante decis o os valores s o multiplicados por uma penalidade o n EJ que corresponde ao resultado da ac o N o fazer nada multiplicado por 1 enquanto o n EJ que corresponde ac o Dar uma sugest o multiplicado por X como se pode ver na Figura 24 Este X definido pelo autor durante a criag o do ponto de enredo no separador Plot Points do editor do FIGN Esta penalidade existe porque importante que o gestor de narrativas participe e ajude O jogador mas ainda mais importante que este n o se torne demasiado manipulador e comece a restringir a liberdade do jogador Durante a criac o das sub rvores pode ocorrer encontrar pontos de enredo como est na figura 22 nesse caso em vez da fun o continuar a procurar os estados que est o ligados ao ponto de enredo aplicada a fun o que cria a rvore de pesquisa mas com uma diferen a em vez de ser aplicada com uma profundidade 5N aplicada com base na profundidade onde foi encontrado o ponto de enredo ou seja se foi encontrado no n vel 1 da sub rvore como est representado na Figura 23 a rvore de pesquisa do po
Download Pdf Manuals
Related Search
Related Contents
NUCLEUS PLUS - Phillip Technologies, LLC RAC2000 series - ads-tec AEG COMPETENCE 7658 B User's Manual 取扱説明書 - Panasonic 取扱説明書 - エフ・アール・シー Akai AD50X Contec PPC-HDD(MS)A Computer Drive User Manual Aluratek AKBAIR01FR Manuel PP 2.5 Copyright © All rights reserved.
Failed to retrieve file