benpollarduk / BP.Plankton

A C# program targeting .NET 4.6.1 that simulates plankton in a pond, with the emphasis put on fun over realism.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

BP.Plankton

A C# program targeting .NET 4.6.1 that simulates plankton in a pond, with the emphasis on fun over realism.

GitHub release License

Introduction

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!

image

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.

image

Features lots of controls to adjust:

  • Plankton
  • Bubbles
  • Water
  • Current
  • Mass
  • Environment
  • UI

image

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.

image

Notes

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

Prerequisites

Getting Started

  • Clone the repo.
  • Build all projects.
  • Run the BP.Plankton project.

For Open Questions

Visit https://github.com/benpollarduk/plankton/issues

About

A C# program targeting .NET 4.6.1 that simulates plankton in a pond, with the emphasis put on fun over realism.

License:MIT License


Languages

Language:C# 100.0%