Please use this identifier to cite or link to this item:
http://hdl.handle.net/11375/27663
Title: | GypPO: A DSL and Code Generator for Platformer Games |
Authors: | Gill, Pavanjot |
Department: | Computing and Software |
Keywords: | DSL;platformer games;code generation |
Publication Date: | Dec-2018 |
Abstract: | Forming genres for video games is a means of grouping their similarities. This grouping allows for certain expectations regarding the elements or mechanics that would be found in any game of a certain genre. Specifically for 2D platformers, prior to even playing the game, players would expect that the levels will contain platforms and likely a jump ability. The goal of the GypPO (a unique acronym generated for Generative Platformers) project is to determine if there is enough in common amongst the 2D platformer family to create a domain-specific language (DSL) to define a complete platform game and a generator to create them. By observing 2D platformers throughout the years, from the pioneers of the genre to modern games, it becomes clear which components have stuck and become the norm for development today. It is these types of commonalities that are used to design the GypPO language. The developed GypPO language is derived from the analysis to ensure all commonalities found in platformers are covered. A user of the GypPO system first needs to provide the specifications for the enemies, upgrades, and weapons that would be found in their platformer, written in the designed DSL. To design the platformer levels, the user specifies the win condition of a level as well as the placement of game objects. This data includes platform placement and the positioning of the elements predefined by users. The generator stores this specification data into data structures representing the GypPO DSL. With another set of data structures representing the JavaScript language, the GypPO system translates the data from the GypPO DSL to JavaScript. The output of this system is a generated browser-based 2D platform video game. This report is organized so as to first provide the necessary background information on video games and their genres as well as brief explanations on DSLs and code generation. The analysis of the platformer genre follows, which lays the foundation of the language and generator. By discovering the commonalities of platformers and grouping them together, the terms and structure of the GypPO language are directly formed. The remainder of the report provides a look at the designed GypPO DSL and generator. |
URI: | http://hdl.handle.net/11375/27663 |
Appears in Collections: | Masters of Engineering Technical Reports |
Files in This Item:
File | Description | Size | Format | |
---|---|---|---|---|
Gill_Pavanjot_2018December_MEng.pdf | 421.45 kB | Adobe PDF | View/Open |
Items in MacSphere are protected by copyright, with all rights reserved, unless otherwise indicated.