Creating a dialogue editor for the Unity game engine
Mänty, Matti (2019)
Mänty, Matti
2019
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2019061717091
https://urn.fi/URN:NBN:fi:amk-2019061717091
Tiivistelmä
Opinnäytetyön tavoitteena oli ohjelmoida prototyyppiversio dialogieditorista Unity-pelimoottorille. Lisäksi opinnäytetyössä tutkittiin dialogin historiaa digitaalisissa peleissä sekä olemassa olevia ratkaisuja ja työkaluja dialogin tuottamiseen digitaalisiin peleihin. Opinnäytetyö toteutettiin toimeksiantona Plush Pop Soft -yritykselle, joka kehittää pääasiassa mobiilipelejä. Asiakkaalla oli jo käytössä maksullinen työkalu dialogin tuottamiseen, mutta yrityksellä oli tarve kevyemmälle ja laajennettavalle editorille.
Tutkimusosiossa tutustuttiin pelien historiaan eri kirjallisuuslähteiden kautta, joilla luotiin perusymmärrys dialogien tärkeyteen ja ilmaisutapaan peleissä. Tämän jälkeen tehtiin vertailua menestyneiden kaupallisten pelien dialogieditorien ja Unity-pelimoottorille saatavien dialogilisäosien välillä. Kaikissa editoreissa oli sekä hyviä että huonoja puolia, mutta tietyille peleille suunnatut editorit olivat aina tarkoitusperiään varten parhaiten toteutettuja. Unityn puolella testatuissa editoreissa tuli niiden mukana aina ylimääräisiä ja ei-haluttuja toiminnallisuuksia, jotka haittaavat pelinkehitystä.
Alkuperäisenä tavoitteena oli kehittää Unity-pelimoottorille pelkistetty tekstipohjainen dialogieditori, joka muistuttaisi ulkoasultaan mahdollisimman paljon Neverwinter Nights 2 videopelin dialogieditoria. Kehitysvaiheessa kuitenkin törmättiin ennalta odottamattomiin ongelmiin Unity-pelimoottorin rajoituksissa sekä työkalujen ohjelmoinnin monimutkaisuudessa. Jotta työn tuloksena olisi toimiva dialogieditori, päädyttiin editorin pohjana käyttämään valmista avoimen lähdekoodin graafista vuokaaviotoiminnallisuutta. Lopputuloksena oli kevyt dialogieditori, jolla pystyy luomaan haarautuvia keskusteluja sekä asettamaan ehtoja eri haarojen välillä liikkumiseen, sekä keskusteluista aiheutuvia toimintoja. Vaikka lopputulos ei vastannut täysin alussa asetettuja tavoitteita, saattaa opinnäytetyöstä toimeksiantajan lisäksi hyötyä esiin nousseista ongelmakohdista vastaavanlaisen työkalun kehityksestä kiinnostuneet. The goal of this thesis was to develop a prototype dialogue editor for the Unity game engine. Additionally, this thesis touches on the history of dialogue in digital games and compares currently available dialogue editor tools and solutions for digital games. A game development company Plush Pop Soft, which mainly focuses on mobile game development, commissioned this thesis. The commissioner already has a paid existing tool for creating dialogue for their games, but they had a need for a more lightweight editor that should be easily extendable.
To establish an understanding of and an agreement on the importance of dialogue and its presentation in digital games throughout history, the subject was researched using relevant research data and books. To gain practical knowledge, commercially successful games’ dialogue editors and Unity game engine’s dialogue assets were compared with ease of use in mind. All the tested dialogue editors had their advantages and disadvantages, but the commercial games’ editors stood out perhaps due to the editor being customized specifically for its target game. The dialogue assets and editors for Unity had often too many features; extra functionalities and menus might come in the way and ultimately slow down the development or performance.
Originally, the dialogue editor end product was to be a plain text-based editor that should resemble Neverwinter Nights 2 game’s dialogue editor visually and in regard to the basic functionalities. During the development, this plan had to be altered because of unforeseen problems with the game engine’s limitations and editor programming’s complexity. To prioritize a usable end result, an open source graphical node-based interface was used as a starting point for the editor. In the end, the final lightweight dialogue editor tool can be used to create branching dialogue structures with different optional conditions and actions for each dialogue line. While the resulting editor tool did not completely match the original design and the goals, the finished product has all the features originally needed. Those who are interested in developing similar tools might find this thesis helpful to gain some insight into the possible limitations and problems in editor development.
Tutkimusosiossa tutustuttiin pelien historiaan eri kirjallisuuslähteiden kautta, joilla luotiin perusymmärrys dialogien tärkeyteen ja ilmaisutapaan peleissä. Tämän jälkeen tehtiin vertailua menestyneiden kaupallisten pelien dialogieditorien ja Unity-pelimoottorille saatavien dialogilisäosien välillä. Kaikissa editoreissa oli sekä hyviä että huonoja puolia, mutta tietyille peleille suunnatut editorit olivat aina tarkoitusperiään varten parhaiten toteutettuja. Unityn puolella testatuissa editoreissa tuli niiden mukana aina ylimääräisiä ja ei-haluttuja toiminnallisuuksia, jotka haittaavat pelinkehitystä.
Alkuperäisenä tavoitteena oli kehittää Unity-pelimoottorille pelkistetty tekstipohjainen dialogieditori, joka muistuttaisi ulkoasultaan mahdollisimman paljon Neverwinter Nights 2 videopelin dialogieditoria. Kehitysvaiheessa kuitenkin törmättiin ennalta odottamattomiin ongelmiin Unity-pelimoottorin rajoituksissa sekä työkalujen ohjelmoinnin monimutkaisuudessa. Jotta työn tuloksena olisi toimiva dialogieditori, päädyttiin editorin pohjana käyttämään valmista avoimen lähdekoodin graafista vuokaaviotoiminnallisuutta. Lopputuloksena oli kevyt dialogieditori, jolla pystyy luomaan haarautuvia keskusteluja sekä asettamaan ehtoja eri haarojen välillä liikkumiseen, sekä keskusteluista aiheutuvia toimintoja. Vaikka lopputulos ei vastannut täysin alussa asetettuja tavoitteita, saattaa opinnäytetyöstä toimeksiantajan lisäksi hyötyä esiin nousseista ongelmakohdista vastaavanlaisen työkalun kehityksestä kiinnostuneet.
To establish an understanding of and an agreement on the importance of dialogue and its presentation in digital games throughout history, the subject was researched using relevant research data and books. To gain practical knowledge, commercially successful games’ dialogue editors and Unity game engine’s dialogue assets were compared with ease of use in mind. All the tested dialogue editors had their advantages and disadvantages, but the commercial games’ editors stood out perhaps due to the editor being customized specifically for its target game. The dialogue assets and editors for Unity had often too many features; extra functionalities and menus might come in the way and ultimately slow down the development or performance.
Originally, the dialogue editor end product was to be a plain text-based editor that should resemble Neverwinter Nights 2 game’s dialogue editor visually and in regard to the basic functionalities. During the development, this plan had to be altered because of unforeseen problems with the game engine’s limitations and editor programming’s complexity. To prioritize a usable end result, an open source graphical node-based interface was used as a starting point for the editor. In the end, the final lightweight dialogue editor tool can be used to create branching dialogue structures with different optional conditions and actions for each dialogue line. While the resulting editor tool did not completely match the original design and the goals, the finished product has all the features originally needed. Those who are interested in developing similar tools might find this thesis helpful to gain some insight into the possible limitations and problems in editor development.