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.