A C# program targeting .NET 4.6.1 that simulates plankton in a pond, with the emphasis on fun over realism.
Plankton was mainly developed as a way to help me understand WPF rendering, particularly the Visual and Geometry classes. Physics are not intended to be realistic or accurate, instead the emphasis is on having fun!
Plankton interact with the mouse (represented as a bubble) and the boundaries of the window. The mouse can spawn child bubbles which the plankton will also interact with. Sea beds can be drawn using a built in editor, and textures can be generated for the sea beds.
Features lots of controls to adjust:
- Plankton
- Bubbles
- Water
- Current
- Mass
- Environment
- UI
Ctrl+N randomises settings to create some unique combinations of physics and plankton settings. This can create some really interesting combinations and is worth playing about with.
This is a fairly old project now, it was started in 2013 as a bit of fun and grew from there. It has received some minor quality of life updates but requires full separation of the model from the UI before it is progressed further. The code isn't optimised, and there are a handful of ways that the performance could be improved. A couple of things that really kill performance are:
- Generating too many plankton at once
- Using brushes with transparency
- Generating complex sea bed paths
- Too many bubbles
- Clone the repo.
- Build all projects.
- Run the BP.Plankton project.