Skip to content

Analyzing the increase in fitness from varying parameters.

Notifications You must be signed in to change notification settings

trevmo/ga_research

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

68 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Genetic Algorithm Research

Controlling the Rate of Evolution for Evolutionary Video Games

Contributors

Summary

Background

Starting in the fall of 2017, I worked with Dr. Soule to research genetic algorithms. At the time, I was taking his Evolutionary Computation class and looking for more experience in this subfield of Machine Learning.

Over the course of the next one and a half semesters, we worked on analyzing how to improve the playability of video games through evolutionary computation.

Project Overview

The premise of this research involves games where the player is facing opponents (creatures, bots, etc.) that they must defeat through some form of attack. The player may have a variety of weapons at their disposal that have different levels or types of damage. The goal of the research is to improve the flow of a game so as to keep it interesting for the player, avoiding the extremes of being too easy and boring or too hard and impossible to win.

Given a population of individuals with a single gene, representing health, how does the fitness evolve while undergoing different types of damage. In other words, if applying:

  • a constant damage OR
  • a damage from a uniform distribution OR
  • a damage from a Gaussian distribution

is there a higher rate of evolution in fitness for a particular damage type? (Fitness is measured as the number of hits it takes to decrease an individual's health <=0.)

Additionally, how does incorporating a second gene, representing armor, affect the evolution of fitness? (Armor is treated the same as the health gene, except that it is subtracted from the damage value before damage is applied to health. Additionally, armor's value never decreases after absorbing damage.)

[2018/05/02] We are currently working on a conference paper discussing our findings. This page will be updated if/when that paper is complete and accepted.

Contents

hp_analysis

hp_analysis/ contains the code used for collecting data in the research project. It follows a standard genetic algorithm structure with classes for the population and individuals. The algorithm is heavily parameterized and structured in a way to make it easy to test a number of different values for each parameter in one session. See the directory's README for more info.

r_scripts

r_scripts/ contains a variety of scripts used for analyzing the collected data. These scripts handle tasks like averaging and plotting the data. They are primarily targeted for this project with varying levels of generalization. See the directory's README for more info.

About

Analyzing the increase in fitness from varying parameters.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published