Entity Management Systems

Entity Management Systems

During my fourth and final year of university, I was able to gain exposure with entity management systems in games. It would later turn out this would be a very useful skill with the rising prevelance of DOTS within Unity. Using this style of programming, I found I was able to handle much larger numbers of AI due to the style of data oriented programming that comes hand in hand with entity management systems. The final result is demonstrated below, in a collosal battle between two rivalling teams of tanks.

  • Communication between individual entities through polymorphism
  • Ray marching to predict line of sight
  • Nominating individual entities as leaders to provide the effect of moving in formation
  • Detecting collisions between entities
  • Destruction of entities
  • Creating new entities at run time from templates
  • Pulling information about individual entities to display in the UI