Encapsulation is a programming technique that helps developers keeping code readable and maintainable. However, encapsulation in modern object-oriented languages often causes significant runtime overhead. Developers must choose between clean encapsulated code or fast code. In the application domain of computer games, speed of execution is of utmost importance, which means that the choice between clean and fast usually is decided in favor of the latter. In this paper we discuss how encapsulation is embedded in the Casanova 2 game development language, and show how Casanova 2 allows developers to write encapsulated game code, which thanks to extensive optimization achieves at the same time high levels of performance. Furthermore, we show that the abstractions provided by Casanova so far cover no more than the tip of the iceberg: we document a further extension in the traditionally challenging domain of networking and show how the language can provide significant improvement in productivity.

High performance encapsulation and networking in Casanova 2

DI GIACOMO, FRANCESCO;ABBADI, MOHAMED;CORTESI, Agostino;
2017-01-01

Abstract

Encapsulation is a programming technique that helps developers keeping code readable and maintainable. However, encapsulation in modern object-oriented languages often causes significant runtime overhead. Developers must choose between clean encapsulated code or fast code. In the application domain of computer games, speed of execution is of utmost importance, which means that the choice between clean and fast usually is decided in favor of the latter. In this paper we discuss how encapsulation is embedded in the Casanova 2 game development language, and show how Casanova 2 allows developers to write encapsulated game code, which thanks to extensive optimization achieves at the same time high levels of performance. Furthermore, we show that the abstractions provided by Casanova so far cover no more than the tip of the iceberg: we document a further extension in the traditionally challenging domain of networking and show how the language can provide significant improvement in productivity.
File in questo prodotto:
File Dimensione Formato  
High performance encapsulation and networking in Casanova 2.pdf

accesso aperto

Tipologia: Documento in Pre-print
Licenza: Accesso libero (no vincoli)
Dimensione 916.94 kB
Formato Adobe PDF
916.94 kB Adobe PDF Visualizza/Apri
1-s2.0-S1875952117300162-main.pdf

non disponibili

Descrizione: versione dell'editore
Tipologia: Versione dell'editore
Licenza: Accesso chiuso-personale
Dimensione 1.95 MB
Formato Adobe PDF
1.95 MB Adobe PDF   Visualizza/Apri

I documenti in ARCA sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10278/3684789
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 2
  • ???jsp.display-item.citation.isi??? 2
social impact