Andrea Serreli

Game Programmer | andreaserreli1984 [at] gmail.com

GAUSS

(Graphic Adventure Unified Scripting System)

GAUSS is a complete authoring tool for point and click adventure games I developed as my final thesis for my MSc in Computer Science.
"That's quite a mouthful. What does it actually do?", you may wonder. Well, it allows you to create games and export them in HTML pages!

Early version with quadtrees
Final version

The pathfinding section, where walkable areas can be defined. Early version with Quadtrees and bitmap mask (left) and final version (right)

The most interesting parts for me to implement were:

  • the creation of my own Domain-Specific Language  for the scripting section
  • the creation of its interpreter
  • the implementation of path finding, both with Quadtrees  spatial partitioning and convex polygons
  • code generation for the creation of the final exported game

Being a uni project, I had to accept two big constraints in order to get it OK'd as a final thesis:

  • it had to run on modern browsers
  • its scientific purpose was to validate EvReact, a JS framework for Reactive Programming  developed by my assistant supervisor for his PhD

The Test section, where the user can try the game before generating a stand-alone HTML game.

The context-free grammar of my Domain-Specific Language.

I learned JavaScript while creating GAUSS. I had never written a single line of JS before.

GAUSS was later chosen as a didactic tool for kids from high school by CodeWeek and the University of Pisa, as well as by the Center of Advanced Studies, Research and Development in Sardinia .
It also got press coverage from the #1 Italian website for adventure games, Adventure's Planet.

GAUSS can be downloaded here.
You can play a small demo game created with GAUSS here.