IT Carlow Project Showcase: Games Development Year 4


Academic Year: 2019/2020



Student Name : Aaron O'Dea

Student Number : C00217820

Project Title : Using a Genetic Algorithm to Create Adaptive AI NPC's using generation cycles.

Description

During my final year of college I was required to produce a six month research project. For the
Project i wanted to research genetic algorithms . I also wanted to explore deeper into not just
using genetic algorithms to complete a task but to push a group of object towards a overall goal ,


I started by creating a place for these “slime’s” to roam free once this was accomplished i decided
to actual allow them to wander with a small vector angle function. Once the slime’s were
wondering around I created a genome sequence which defines four DNA strings.


Now that I had my genome I needed the slime to have a life so I added a timer which ages each
individual slime. when the slime reaches a certain age they have a have to die depending on stats.
the slime’s now die and live now they need to reproduce. when a reproduction cycle occurs a slime
has a chance to reproduce of a slime. This offspring depending on the setup will have a new
genome determined by the parents genomes.


I created a graph below the slime pen which allows the user to track each statistic. On the side of
the slime pen is all of the information for the run as well as additional information such as total
population male female spilt etc.


I also have events which affected a specific statistic. This event targets the NPC’s which are high
in the event statistic. These events are triggers at set intervals.


you can also set end points for the run which will close the application and output all the data that
has been logged to a file along with the settings for that run


for all of the Data and research on this project you can find all the information you want through
this link: Click here


Github Link: Click here


Portfolio Link: Click here
Email : aaronodeawork@gmail.com

Below is a demo video of the program