Meeting 14/9/2017

2017 Settembre, 15 Venerdì 17:26

This meeting listed the set P (props) and Q (qualitas) that will almost probably be available in the first version of the game.


In the previous meeting, we formilized the function \sigma, aka the function allowing to determine whether or not an edge inside the qualitas graph is meaningful inside a game or not. Such function is cross product between 2 P sets (where P is the set of all the props) and 2 Q sets (where Q is the set of all the qualitas).

In this meetings, we list what are P and Q. This list contains all the props and qualitas that we will add in the first version of the game.


  1. Light (something that generates the light of the room);
  2. Chest (something that contains something else, like trasures, keys or enemies);
  3. Enemy (both normal and bosses);
  4. Door (soemthing that is laid between a room and a tunnel going out of it);
  5. Fountain;
  6. Button (something on the wall that is pressed and, after that, immediately returns to the start position [delta signal]);
  7. StuffThrower (something that fires out stuff: for example flamethrower, laserthrower  and so on);
  8. Laser;
  9. Generic power up (+1 attack, +4 defense and so on);
  10. Lever (something on the wall that, if pressed, will remain in the chosen position [step signal]);
  11. Statue;
  12. Trap (something on the floor that you may endup be trapped into);
  13. Spines;
  14. Rotating blades;
  15. NPC;
  16. Bush;
  17. Picture;
  18. PC;
  19. Swimming pool;
  20. Tree;
  21. Column;
  22. Ruins;
  23. Mirror;
  24. Pressable platform: like a Button but on the floor;
  25. Proximity sensor: something that generates an area where something may happen;
  26. Barrier: a Star Trek-like barrier that goes throughout all the room and prevents you to surpass it;
  27. Treasure (like an heap of gold);


Qualitas starting with "On" are "user interaction qualitas": this means they are activated when the user perform an action. Otherwise they are "Action qualitas": this means when they are activated, they do something. 

  1. OnKill: It is acticated when the attached prop HP goes to 0;
  2. OnClick1: It is activated when the player use the "click 1" action on the attached prop;
  3. OnClick2: It is activated when the player use the "click 2" action on the attached prop;
  4. OnWalkon: It is activated when the player walks on the attached prop;
  5. OnLook: It is activated when the player look at the attached prop;
  6. OnCollide: It is activated when the player collide with the attached prop;
  7. OnTick: It is activated every X seconds;
  8. DoSpawn: Put the attached prop in the room;
  9. DoDestroy: Put the attached prop out from the room;
  10. DoOpen: Set "isOpen" of the attached prop to true;
  11. DoClose: Set "isOpen" of the attached prop to false;
  12. DoActivate: Set "isActive" of the attached prop to true;
  13. DoDeactivate: Set "isActive" of the attached prop to false;
  14. DoExplode: The attached prop is marked as "exploding";
  15. DoLevitate: The attached prop will levitate from the ground by X meter;
  16. DoClone: The game will create a clone of the attached prop;
  17. DoKill: The attached prop will die (for the animation);


There are 27 props and 16 qualitas: this means that \sigma function in the worst case is 27*27*16*16 = 186624 elements big: it's clearly insane to put the numbers hardcoded. We may fight back the hardness of the problem by defining 2 sets of "classes" of props and "qualitas" and assume that it's always meaningful to link 2 prop within the same class or 2 qualitas within the same class. For example a Prop class might be "Aesthetics" or "Activator".

In this way if we assume that the number of PropClasses and QualitasClasses are less than the cardinality of P and Q the \sigma function operating on PropClasses and QualitasClasses instead of P and Q should be smaller.


Michele Dusi && Giorgio Ali: You need to come out with a model (UML class diagram like) of a room. Think about the model in order to ensure:

  • rooms will be a node in a graph. The graph will represent the whole maze;
  • For the moment rooms are rectangular shaped. However you need to ensure that rooms might have different shapes as well (maybe a hierarchy might be useful?)
  • You can organize your internal meetings as you like;

Federico Landi && Lorenzo Nodari: You need to think about a list of classes of both props and qualitas. Like as the previous team, you can organize your internal meetings as you like;

Massimo Bono: I need to create the git repository and put the code I've already create into it;

The deadline of these tasks is Thursday 21 2017.

If you have any questions about your task, please come to my desk in the openspace (DII department).

Finally, as per usual, if you have any complaints or suggestions, please email me!