There will be one more update today; it will include a clear-all function (reset), pausing, and possibly saving/loading of designs. :)
If I can come up with a decently fast eraser option, I may include this too.
EDIT: Contains....
* Mask viewing (for collision info)
* Clear-all/reset
* Pause / Play buttons
To be added...
* Palette changing
* Saving / Loading
* Eraser, if an efficient method is found
more
And if you liked it, check out Powder Game, one of my main inspirations.Instructions:
Touch in the small boxes of color to choose a color. Touch on the numbers to choose a dot size/quantity, with 0 being smallest and 7 being largest Touch in the big box to place dots! The bottom 8 colors are 'filters' and the top 8 are 'liquids'. Collisions are based off of binary, which is pretty cool :) see "Notes" to learn more, or just look at the code and try to figure it out from there. Also, just know that there is no 'eraser' implemented yet. I am trying to come up with the best way to do this currently.Notes:
This was partially inspired by powder game, but with a color-mixing theme, and it uses bitmasks and binary heavily. The collisions between dots are determined by two arrays; the buffer (last frame) and current (new frame) to make sure no old dots or new dots become fused incorrectly (mostly works! :D).physics
The bitmask looks like this: FRGB F=Filter. This determines whether or not physics affect the dot. If set, then it floats and will not move. If reset, dot falls according to the normal liquidy physics. R=Red. If this bit is set, the resulting dot will have a red tint. G=Green. If this bit is set, resulting dot will be green. B=Blue. If this bit is set, resulting dot will be blue. Collisions are determined by bitmasking the dot's binary with whatever it is trying to go into, using AND logic. If any of the bits match, then the dot cannot move to the new space. Otherwise, the dots will intersect, and using OR logic combine their colors in the process. For example, a red dot falls onto a blue dot. They fuse into a magenta type color! The dots are still individuals, however, and can also flow apart. This brings me to a rather important detail currently with dot selection. You can select fused colors, with masks such as 0110, and they will not be able to separate. This means that the dot will remain that color, while still being able to fuse with any remaining colors.- Eraser
- More dots + types of dots