Evolving Virtual Creatures... PART II!

Description

Last year at UTMIST, the Virtual Creatures Project successfully managed to evolve and train an impressively diverse range of walking and swimming creatures, all just using a simple evolutionary algorithm from 1994. This year, we will take this project to the next level by introducing intelligent teamwork and collaboration between these evolved creatures, using NEAT and modern multi-agent reinforcement learning techniques.

Developers best suited for this project should have a strong interest in evolutionary algorithms and reinforcement learning, have experience with Unity and C#, and be committed to 3-6 hours per week. Email anoop.reh@gmail.com or efetoronto@gmail.com (or DM “Anoop R.” or “Efe T.” in the UTMIST Discord) if you’re interested!

Proposal

The Team

Anoop Rehman
Director
Efe Tascioglu
Director
Joaquin Arcilla
Developer
Jiajing (Jessica) Chen
Developer
Andrew Gordienko
Developer
Tatsuya (Scott) Hirano
Developer
Seoyoung (Chris) Kwon
Developer
Hannah Lila
Developer
Grace Liu
Developer
Carol Meng
Developer
Irwin Ngo
Developer
Liam Sheils
Developer
Aakash Vaithyanathan
Developer

Developer Requirements

Our team is divided into the following three subteams, each of which have their own respective requirements:

The Evolution Subteam is mainly responsible for evolving creatures using ml-agents and NEAT. We are looking for 4 developers that ideally have prior experience with or a strong understanding of:

  • Modern multi-agent reinforcement learning algorithms
  • Evolutionary algorithms, and especially the NEAT algorithm
  • Implementing and performing operations on complex graph structures
  • Working on large codebases in C#

The Environment Subteam is mainly responsible for developing the soccer environment in Unity and interfacing it with the creatures. We are looking for 2 developers that ideally have prior experience with or a strong understanding of:

  • Developing 3D physics-based games with Unity and C#
  • Implementing and performing operations on complex graph structures

The Visualization Subteam is mainly responsible for developing informative visualizations of both the training process as well as the physical representations of the creatures themselves. We are looking for 2 developers that ideally have prior experience with or a strong understanding of:

  • Insightful data analysis and visualization
  • 3D graphics development in Unity (working with shaders, lighting, VFX, etc)
  • UI design and implementation in Unity
  • Creating simple 2D and 3D assets (models and textures)