Coder Social home page Coder Social logo

ridwan-standing-by / particlelife Goto Github PK

View Code? Open in Web Editor NEW
6.0 1.0 2.0 3.01 MB

A particle simulation Android app, designed to illustrate life-like behaviour emerging from particles obeying a set of simple rules.

Kotlin 100.00%
simulation particle-system android

particlelife's Introduction

Particle Life

Particle Life demo

A particle simulation Android app, designed to illustrate life-like behaviour emerging from particles obeying a set of simple rules. Also, an Android Live Wallpaper. Check out the app on Google Play!

Each particle exerts a force on other nearby particles, depending on their species (represented by the different colours). This can either be a repulsion or an attraction, and is not necessarily symmetric. For example, red can be attracted to green, but green could be repulsed by red, which would result in red "chasing" green.

To avoid particles speeding up forever, a global friction is applied that slows particles down. Additionally, all particles repel each other if they get too close for comfort, like a kind of degeneracy pressure.

Play around with different settings to discover which parameters result in the most "life-like" creatures.

If you feel like you want to give your critters a nudge in the right direction, enable Hand of God to herd (by swiping) or beckon (by pressing) particles to your whim.

particlelife's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

particlelife's Issues

Minify app

Minify release build of the app to reduced download & install size further

Live Wallpaper

Add option to add a live wallpaper based on some settings.

Drop down menu for species force dialogs

The species force dialogs are quite hard to understand as-is. It would be good to allow the selected species to be chosen from a drop down menu to make it more explicit which species' point of view is being modified.

Graph/diagram for About section

The About section is currently a wall of text. A labelled graph or diagram of an example force vs. distance would help easily describe the core concept of the app.

Add crash reporting

Add Bugsnag crash reporting with breadcrumbs on key UI events like button presses.

Extract only needed icons from material icons

The androidx.compose.material:material-icons-extended takes up ~8MB (around 80% of the APK download size). We need only a couple of icons from it, so we can greatly reduces the app bundle size.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.