[This is my contest entry!]
Have you ever player powder game? No? Yes? Doesn't matter, because this is better!
lol not really
This is a game where you can place color dots with liquid-style physics, and watch them combine (or not) to make beautiful art or strange mixing contraptions! With over
TEN different dot types, the possibilites are definitely not endless, but there are definitely a lot of them! Somewhere along the lines of 200*100*16*1000 at least! Enough fun to last for probably a 3DS's lifetime and then some! Wow!
Ok, my description is ridiculous but it's a dot game with good physics and 'decent' speed! You can have somewhere between 1000 and 2000 dots with not too much lag, amazingly! GLOAD for the win!
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.
Also, planned possible features include:
- Eraser
- More dots + types of dots
changelog
Changelog
Update 0.9b:
Now you can change the dot size! Plus GUI update i.e. version number, FPD values and a slider bar thingy for sizes. Touch controls FTW ^-^
Update 1.0:
New features focused on usability!
* No more resetting the game to clear, just touch the button!
* Play and pause buttons for easy editing and playback
* What color was selected? Well, now you can see easily, along with dot info in binary! Yay!
* Various bug fixes