Inspiration

I was inspired by Danial Shiffman, the YouTube creator that goes by The Coding Train. I adapted to the concept he showed and expanded on a few of my own ideas of what mitosis would look like in the real world.

What it does

  • Clicking will divide the cells into two daughter cells
    • This will delete the parent cell
    • The two daughter cells will be pushed away from each other (and away from the walls if in contact)
  • The cells are constantly growing but stop at a radius of 100
    • At this point, they will start flashing, indicating that they have turned cancerous
    • You must click them to stop them
  • There will be a limit of 100 cells
    • Mitosis will stop as the environment cannot handle it anymore (you will see this warning in the console of your browser)

How I built it

I used the p5.js library to code for the movement and other intrinsics of the "cells" in my project. The entire project was done by JavaScript.

Challenges I ran into

The biggest challenge I found was keeping the cells away from each other and the walls. I didn't want to teleport them away from each other after separation so I had to use velocity as a variable to push them away from each other. Keeping away from the walls is another challenge. All my cells have a little "wobble" to them to give them a life-like feel.

What's next for Mitosis

I would really like for users to delete cells using a right-click of the mouse button. I would also like to add "Immune cells" that help deal with these cells. These immune cells would have a target-tracking AI built into them. With more and more tries, they will get better and better at attacking the cancerous cells.

Built With

Share this project:

Updates