Intelligent Technologies for Interactive Entertainment. 8th International Conference, INTETAIN 2016, Utrecht, The Netherlands, June 28–30, 2016, Revised Selected Papers

Research Article

Building Game Scripting DSL’s with the Metacasanova Metacompiler

Download119 downloads
  • @INPROCEEDINGS{10.1007/978-3-319-49616-0_22,
        author={Francesco Giacomo and Mohamed Abbadi and Agostino Cortesi and Pieter Spronck and Giuseppe Maggiore},
        title={Building Game Scripting DSL’s with the Metacasanova Metacompiler},
        proceedings={Intelligent Technologies for Interactive Entertainment. 8th International Conference, INTETAIN 2016, Utrecht, The Netherlands, June 28--30, 2016, Revised Selected Papers},
        proceedings_a={INTETAIN},
        year={2017},
        month={1},
        keywords={},
        doi={10.1007/978-3-319-49616-0_22}
    }
    
  • Francesco Giacomo
    Mohamed Abbadi
    Agostino Cortesi
    Pieter Spronck
    Giuseppe Maggiore
    Year: 2017
    Building Game Scripting DSL’s with the Metacasanova Metacompiler
    INTETAIN
    Springer
    DOI: 10.1007/978-3-319-49616-0_22
Francesco Giacomo1,*, Mohamed Abbadi1,*, Agostino Cortesi1,*, Pieter Spronck2,*, Giuseppe Maggiore3,*
  • 1: Universita’ Ca’ Foscari
  • 2: Tiburg University
  • 3: Hogeschool Rotterdam
*Contact email: francesco.digiacomo@unive.it, mohamed.abbadi@unive.it, cortesi@unive.it, p.spronck@uvt.nl, maggg@hr.nl

Abstract

Many video games rely on a Domain Specific Language (DSL) to implement particular features such as artificial intelligence or time and synchronization primitives. Building a compiler for a DSL is a time-consuming task, and adding new features to a DSL is hard due to the low flexibility of the implementation choice. In this paper, we introduce an alternative to hand-made implementations of compilers for DSLs for game development: the Metacasanova metacompiler. We show the advantages of this metacomplier in terms of simplicity of designing and coding requirements, and in terms of performance of the resulting code, whose efficiency is comparable with hand-made implementations in commercial general purpose languages.