Skip navigation
  • Home
  • Browse
    • Communities
      & Collections
    • Browse Items by:
    • Publication Date
    • Author
    • Title
    • Subject
    • Department
  • Sign on to:
    • My MacSphere
    • Receive email
      updates
    • Edit Profile


McMaster University Home Page
  1. MacSphere
  2. Departments and Schools
  3. Faculty of Engineering
  4. Department of Computing and Software
  5. Masters of Engineering Technical Reports
Please use this identifier to cite or link to this item: http://hdl.handle.net/11375/27663
Full metadata record
DC FieldValueLanguage
dc.contributor.authorGill, Pavanjot-
dc.date.accessioned2022-06-23T16:35:44Z-
dc.date.available2022-06-23T16:35:44Z-
dc.date.issued2018-12-
dc.identifier.urihttp://hdl.handle.net/11375/27663-
dc.description.abstractForming 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.en_US
dc.language.isoenen_US
dc.subjectDSLen_US
dc.subjectplatformer gamesen_US
dc.subjectcode generationen_US
dc.titleGypPO: A DSL and Code Generator for Platformer Gamesen_US
dc.typeTechnical Reporten_US
dc.contributor.departmentComputing and Softwareen_US
Appears in Collections:Masters of Engineering Technical Reports

Files in This Item:
File Description SizeFormat 
Gill_Pavanjot_2018December_MEng.pdf
Open Access
421.45 kBAdobe PDFView/Open
Show simple item record Statistics


Items in MacSphere are protected by copyright, with all rights reserved, unless otherwise indicated.

Sherman Centre for Digital Scholarship     McMaster University Libraries
©2022 McMaster University, 1280 Main Street West, Hamilton, Ontario L8S 4L8 | 905-525-9140 | Contact Us | Terms of Use & Privacy Policy | Feedback

Report Accessibility Issue