Casanova 2, a domain specific language for general game development

DSpace/Manakin Repository

Show simple item record

dc.contributor.advisor Cortesi, Agostino it_IT
dc.contributor.author Abbadi, Mohamed <1988> it_IT
dc.date.accessioned 2016-12-12 it_IT
dc.date.accessioned 2017-05-22T06:02:39Z
dc.date.available 2017-05-22T06:02:39Z
dc.date.issued 2017-03-10 it_IT
dc.identifier.uri http://hdl.handle.net/10579/10296
dc.description.abstract In today's society, the pervasiveness and sales of video games is at an all-time high. Video games are used in a variety of application scenarios, from pure entertainment to supporting research, raising social awareness, and training. Video games are no longer developed only by professional programmers, but also by experts in other domains. This has made the problems surrounding the process of game development increasingly evident. One such problem is the lack of a clear methodology for defining video games, supported by user-friendly tools. Indeed, the available tools for making video games are either too specific or too general. When too specific, the abstractions provided by the tool are so poor that only few game genres are expressible. When too general the abstractions provided by the tool are so generic that even expressing simple domain concepts requires a lot of effort. These problems lead to the process of developing video games being a costly one, in terms of time, money, and necessary knowledge. Such costs negatively affect the development process, and may even lead to the impossibility to develop certain games. When a solution is offered that reduces the cost of game development, this will benefit in particular the developers for whom game development is not their main job. This thesis starts by analyzing the process of making a video game, and examines the available tools for making them. It then proposes a solution to the high costs of making games. This solution comes in the shape of a programming language that is exclusively focused on the domain of video games. This language, which we call Casanova 2 (inspired by its predecessor language Casanova, with which it shares goals and philosophy), is designed to offer abstractions built around the typical aspects of video games. Casanova 2 is not bound to any video game genre. Due to the specificity of the domain of game development, and the strong requirements it brings with it, the compiler behind the Casanova 2 language is able to apply code analysis. Together with a series of optimization layers, it is able to turn complex domain code into a highly-performant executable. Casanova 2 comes with a series of advantages such as embedded networking, and high-performance encapsulation support, which positively affects the production of games. The thesis evaluates Casanova 2 by comparing it with representative languages, that are often used for video games, on expressiveness, compactness, speed, ease-of-development, and maintainability. It demonstrates that Casanova 2 is either equivalent to or outranks all competitors in these respects. This warrants the conclusion that Casanova 2 achieves its goal of offering a game development language that can be successfully used by a wide variety of developers to build video games. it_IT
dc.language.iso en it_IT
dc.publisher Università Ca' Foscari Venezia it_IT
dc.rights © Mohamed Abbadi, 2017 it_IT
dc.title Casanova 2, a domain specific language for general game development it_IT
dc.title.alternative it_IT
dc.type Doctoral Thesis it_IT
dc.degree.name Informatica it_IT
dc.degree.level Dottorato di ricerca it_IT
dc.degree.grantor Dipartimento di Scienze Ambientali, Informatica e Statistica it_IT
dc.description.academicyear 2015/2016, sessione 29° ciclo it_IT
dc.description.cycle 29 it_IT
dc.degree.coordinator Focardi, Riccardo it_IT
dc.location.shelfmark D001657 it_IT
dc.rights.accessrights openAccess it_IT
dc.thesis.matricno 823145 it_IT
dc.format.pagenumber XV, 174, [1] p. : ill. it_IT
dc.subject.miur INF/01 INFORMATICA it_IT
dc.description.note Cotutela con Tilburg University it_IT
dc.degree.discipline it_IT
dc.contributor.co-advisor it_IT
dc.provenance.upload Mohamed Abbadi (823145@stud.unive.it), 2016-12-12 it_IT
dc.provenance.plagiarycheck Agostino Cortesi (cortesi@unive.it), 2017-01-19 it_IT


Files in this item

This item appears in the following Collection(s)

Show simple item record