Project Description
The Casanova language is a programming language designed around games.

The main features of the language are:
  • declarative updating and drawing
  • units of measure: no mix ups of physical quantities
  • integrated coroutines for simpler state machines, AIs, and timers
  • integrated SQL-like queries
  • integrated pathfinding/flood-filling query operators
  • high quality integration with Unity
  • high quality backend and compiler error messages thanks to the underlying open source F# compiler

The language is still under heavy development. Features which will are still in their early stages are:
  • automated multiplayer: go from single to multiplayer with a dozen lines of code
  • heavy optimization of SQL queries
  • optimization of dependencies in computations

Casanova is based on F# and Unity. This means that games built with Casanova run on all Unity supported platform such as Android or iOS.

As of now we are working on beginner samples. In particular, check out the Bouncing balls sample and the RTS sample.

Casanova is a research project based on Giuseppe Maggiore's PhD thesis. There are various Papers written about it by many researchers such as Mohamed Abbadi, Francesco Di Giacomo, Enrico Steffinlongo, Michele Bugliesi, Pieter Spronck, Renzo Orsini, Agostino Cortesi, and Aske Plaat. In particular, Mohamed's PhD work is centered on Casanova.

Last edited Mar 18 at 8:49 AM by giuseppemag, version 25