A downloadable game

About

AI and Optimization in Infinite Worlds (Procedural Content Generation).

Generation and building of block-based virtual worlds with dynamic elements (Minecraft type), considerations on performance optimization of the rendering process and introduction to ML-Agents.

This game was created during the last semester of my bachelor's degree. The project took approximately 2 months to be developed and involved:

  • Creation of virtual worlds based on blocks;
  • Optimization of the rendering process;
  • Data structures in computer graphics: voxel arrays, polygons, meshes, vertices, normals, UV maps, texture atlases; 
  • Use of Perlin noise, cellular automata and fractal geometry (e.g., for creating caves, rivers, roads);
  • Generation of terrains containing dynamic elements: water, trees, biomes; 
  • Building virtual worlds interactively (adding and removing blocks);
  •  Introduction of autonomous agents (NPCs) with movement defined by systems of waypoints; 
  • The algorithm A* and the creation of navmeshes in unity;
  • Behaviours defined by state machines and behaviour trees; 
  • Simulation of group behaviours (e.g., vehicles on the road, schools of fish, flocks of birds, pedestrians in towns, fleeing crowds). 

As an extra, we decided to implement sound and ways to play with it. Therefore, when the player whistles, the fluffy friend will launch a bunch of confetti. When the player claps, it will change the player's skin randomly.  

The music that's playing in the background makes the fluffy friend dance and change its rigidbody to the rhythm. 

In addition, we installed "poseHook v2" which is an app that continuously detects the body parts of a single person in the frames seen by a device's camera. It transmits the detected positions to a host in form of OSC messages. Four gestures that exerted movements in the character were implemented:

  • Raise right hand - The character jumps;
  • Raise left hand - The character moves forward;
  • Lift right elbow - The character walks to the right;
  • Lift left elbow - Character walks left.

Controls

Credits

Programmer - Beatriz Sá [https://barrythecoolbee.itch.io/]

Programmer - Beatriz Santos

Leave a comment

Log in with itch.io to leave a comment.