Overview

SimLife was an Object-Oriented Programming (OOP) project during my studies at KU Leuven.

The project models a dynamic ecosystem where simulated agents (“creatures”) interact with their environment and with each other. Instead of following hardcoded rules, the creatures evaluate their surroundings by feeding inputs into small, custom-built neural networks.

Architecture Highlights

The project was graded mostly on its structural design, not just on the outcome:

  • Clean OOP structure: Strict class hierarchies, inheritance and polymorphism represent the different ecological entities (e.g. predators, prey, habitat).
  • Neural network logic: The decision-making pipeline is written from scratch in Java, using basic neural networks to turn sensory inputs (e.g. proximity) into creature actions.