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.