Artificial Intelligence

AI Battle - 2nd place overall - A battle for food and survival against other programmed AI
(Green in picture)
I made a cockroach-like approach.  Agents develop and share a lightmap in which they try to avoid and move towards the most darkness.  Walls, enemies, and dirt produce the most light and previous paths produce small amount of light.  If food is found, it will generate darkness to a nearest unit.

Puppies in Spaaace! - A 3-stage boss battle
I used GOFAI to program multiple enemies.
  • Ceiling Cat - Pops out and shoots hairballs at the player
  • Zoombies - behave like roombas
  • Cats on Zoombies - Rides around on zoobies, but also fires hairballs at the player
  • Blackhole 9000 - Vacuum that flails its arms about and tries to punch the player on a ledge
  • Blackhole 9000 stage 2 - Tries to ram into the player while the player tries to get it to run into zoombies
  • Milkdud - Teleports around shooting flaming hairballs at the player

Automatic Game Balancing using NEAT (Neuro Evolution of Augmented Topologies)
Input: Health and Attack damages of every different unit 
Output:  Balanced attack timing cooldowns based on desired Lock/Unlock chart
Agents are trained on their ability to balance each unit within an acceptable range.  They receive 1 point of fitness for every successful unit and an extra point for each successful category (max of 32).  The simulation is stopped when an agent is found that balanced the game.  

Mr Sinister - Sinistar remake
I used GOFAI to have worker drones go and collect crystals and construct Mr. Sinister, the main boss.  Fighter drones will float around the player's screen and shoot at him.

Galactic Arms Race - Evolving Content in Games
Uses CPPNs(Compositional pattern-producing networks) to generate patterns for weapons in the game.  Fitness is increased per shot per weapon and decreased when another weapon is shot.  The gene pool is pulled from all the weapons in the current server.
I also used GOFAI for player drone interactions.

Braaains! - Download - Shift-WASD- Mouse
Employs Neuro Evolution to train artificial neural networks to adapt in real time to player interactions
Input: sensors for player and bullets 
Output: Rotation, velocity, dodge left/right, or lunge forward

Robot Vision - Image Recognition
Sobel - find the magnitude and direction of light displacement - input any image
Canny - find the peaks and valleys of the image - input sobel
Burns - find the N number longest lines within an angle threshold - input Canny