Skip to content

Unity colony simulation using Neural Nets and Genetic Algorithms

Notifications You must be signed in to change notification settings

JohnnyDeeee/colony-simulation

Repository files navigation

colony-simulation

Colony simulation using Neural Nets and Genetic Algorithms

Created with Unity (for linux)

TODO

non-starred = important
* = Important, but do non-starred first
** = Not really important for now, but needs to be done eventually
*** = Nice to have, not planned to make

  • World generation
    • Tiles
      • Convert tile classes to MonoBehaviour scripts and use Unity as it should be used
      • Move spawning of Tiles to the Tile class
      • Tile base class
        • List of AI(s) that are on that tile
      • Tile ground
        • Prefab
        • Class
      • Tile wall
        • Prefab
        • Class
      • Tile food (*)
        • Prefab
        • Class
        • Food color represents how much food the tile has
        • Grow food over time (**)
      • Generate food in patches
  • Camera
    • Move camera with right mouse button
    • Zoom in/out with scrolling
    • Follow an AI by clicking on it
      • Unfollow by clicking on it again
      • Zoom towards cliked AI
  • AI
    • Spawning (basic)
    • Give Age property
      • Update age every second
    • Move some stuff from AI to AIAnt that dont belong in AI
    • Save best AI weights
      • Load AI weights
    • Decay dead bodies over time (**)
      • Maybe ai can decide to go carnivore and eat the dead bodies? (**)
    • Behaviour
      • Basic
        • Movement (constant velocity forward)
        • Eating (**)
        • Reproducing
          • Genetic Algorithm
            • Get the genomes of 2 of the best ants and merge/mutate those into genomes for the new generation
            • The new generation gets added next to the existing generation
            • Use ai's age as fitness
          • Actually let 2 ants produce a baby (not just create a whole new population)
        • Sight
          • Eye(s) register RGB
          • Choose hits randomly? Now we just pick the first X ones (where X = this.eyeAmount)
          • Make raycast for each eye ?
      • Advanced (Neural nets) (*)
        • Movement (*)
          • Inputs should be what AI sees (multiple senses that register RGB?)
          • 1 Output, used to rotate the AI
          • Ants don't really seem to improve ...
  • UI
    • World info
      • Split generation info into its own class
      • Basic info
      • BUG "Highest ant age" is not highest at all times.. (now shows highest from last population)
    • Add fitness values into a continues diagram?
    • Selected AI info
      • AI info
      • Vision (show the color it is seeing?)
      • AIAnt info
      • Show ai in seperate camera (so dont follow ai with main camera when selected) (**)
    • Speed buttons

About

Unity colony simulation using Neural Nets and Genetic Algorithms

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages