LoginLogin

DotMagics

Root / Submissions / [.]

MinxrodCreated:
Download:4K241XVD
Version:1.0Size:5.96 KB
[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!
moreAnd 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).
physicsThe 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

OMG It's like Powder Toy SB! (Powder Game 1 and 2 are better than Toy IMO)

Link to Powder Game: http://dan-ball.jp/en/javagame/dust/ Link to Powder Game 2: http://dan-ball.jp/en/javagame/dust2/ Also maybe play some of the other games on Dan-Ball, they're all pretty dang cool (I recommend Stick Ranger): http://dan-ball.jp/en/javagame/

Nice powder game! Really interesting to see how good this can become!

Replying to:ElzoBro
Link to Powder Game: http://dan-ball.jp/en/javagame/dust/ Link to Powder Game 2: http://dan-ball.jp/en/javagame/dust2/ Also maybe play some of the other games on Dan-Ball, they're all pretty dang cool (I recommend Stick Ranger): http://dan-ball.jp/en/javagame/
It's a cool game, especially on your phone

Guess who won?

it lags after i put a lot of sand on. (n3ds)

Replying to:A2D_apps
it lags after i put a lot of sand on. (n3ds)
Yep, I am aware of lag :( I have a few ideas that will reduce lag in a couple of spots, but I don't know if it will work. The liquids are the only thing that needs physics updates, but my code is structured so that all filters also get a *small* bit of lag. This needs to be fixed, but I am thinking of the best way to go about it. My actual physics can't be changed much, but there is one thing I've been needing to try to help with lag. EDIT: Did some tests, took about 20 frames to update all 9999 possible dots with all liquid. This is, say, 3 frames per second? I think I can fix this a lot.

Replying to:A2D_apps
it lags after i put a lot of sand on. (n3ds)
the frame rate decreases dramatically aftter about a thousand for me

Replying to:A2D_apps
it lags after i put a lot of sand on. (n3ds)
Pretty much. However, while it is definitely more NOTICEABLE after 1000, it actually doesn't change by that much. The number of calculations is proportional to the number of dots for the most part, so a 'dramatic' change is due to dot choice or an illusion. EDIT: Also, I cannot seem to figure out a reasonable way to optimize this, anyone have great ideas for optimizations? What I've tried didn't make a difference and/or broke the physics.

On the o3DS, it does lag quite a bit with lesser dots

Replying to:Alphadog_Games
On the o3DS, it does lag quite a bit with lesser dots
Is it with around 300-400 that it starts to lag like a n3ds at 1000?

Replying to:Alphadog_Games
On the o3DS, it does lag quite a bit with lesser dots
i can test that. i can clock down the cpu to match the o3ds speed

finally

Replying to:Alphadog_Games
On the o3DS, it does lag quite a bit with lesser dots
If you want to test it, tell us the results :)

GLOAD is bad why?

It's slow

Faster than a GPSET-FOR though, isn't it?

Replying to:Alphadog_Games
On the o3DS, it does lag quite a bit with lesser dots
HANS wont load sb. it usually loads all of the other apps though. but as for the n3ds i start to lag at about 1000

Oh, nevermind, I mixed up GLOAD and GSAVE. yeah GLOAD is pretty fast.

Replying to:ElzoBro
Link to Powder Game: http://dan-ball.jp/en/javagame/dust/ Link to Powder Game 2: http://dan-ball.jp/en/javagame/dust2/ Also maybe play some of the other games on Dan-Ball, they're all pretty dang cool (I recommend Stick Ranger): http://dan-ball.jp/en/javagame/
Powder Game is nice, except the "community" is total cancer 99% of the saves are just vote scams (on the English site, at least). I play The Powder Toy now. Even though the physics aren't as good, it has more features and actual moderators.