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

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/
Yeah, community is very bad right now, even worse since uploads on mobile were introduced I have not tried Powder Toy yet.

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

SWAP THE,MAP'BUFFER
Hahaha nice!

Replying to:Perska
SWAP THE,MAP'BUFFER
Hahaha nice!
Haha, random code secrets are fun!

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/
How long has it been, 12 years or so and they still haven't removed that stupid dot limit.

I remember playing this game for the awesome reactions between colors: I'd fill a circle with gunpowder, make a fuse and burn it so it exploded just like a bomb. Your version of the game is boring, but the engine is pretty cool.

Replying to:Sam
I remember playing this game for the awesome reactions between colors: I'd fill a circle with gunpowder, make a fuse and burn it so it exploded just like a bomb. Your version of the game is boring, but the engine is pretty cool.
Yep. To go with the color theme, this has mixing instead :P

I've tested the o3DS with 9999 dots, and it takes over 60 frames to update the screen

Holy crap, it's Powder Game!

Replying to:ElzoBro
OMG It's like Powder Toy SB! (Powder Game 1 and 2 are better than Toy IMO)
Powder Toy is better when it comes to features and ACTUAL MODERATION, but Powder Game 1 and 2 DEFINITELY win as far as physics go. ;-)

Replying to:ElzoBro
OMG It's like Powder Toy SB! (Powder Game 1 and 2 are better than Toy IMO)
I agree!

This looks great. I remember on Petit Computer I made a "Pyro Sand" style game, but PTC was so slow that it only worked at very low resolutions (Map size to screen size). I can't wait to make some sweet graphics with this :)

I crashed the program. "Subscript out of range in 0:234" I've done it twice, now. I'm not sure exactly what I'm doing but this might be a way to cause it: 1) Fill the screen with 9999 dots. 2) Put the dots in falling state if they weren't already. 3) Wait a few seconds, then clear all the dots. 4) Try to create a dot in the bottom-left corner of the canvas. [EDIT]: I don't imagine anyone actually seeing pleasure in watching 9999 dots fall with so much lag, but you might want to consider fixing the bug anyway.

Replying to:Midnight
I crashed the program. "Subscript out of range in 0:234" I've done it twice, now. I'm not sure exactly what I'm doing but this might be a way to cause it: 1) Fill the screen with 9999 dots. 2) Put the dots in falling state if they weren't already. 3) Wait a few seconds, then clear all the dots. 4) Try to create a dot in the bottom-left corner of the canvas. [EDIT]: I don't imagine anyone actually seeing pleasure in watching 9999 dots fall with so much lag, but you might want to consider fixing the bug anyway.
Huh, I have no idea why that would happen. I have not worked on this for a while, I'll look at it tomorrow if I don't forget in the morning. Agh, bugs :P

Replying to:Midnight
I crashed the program. "Subscript out of range in 0:234" I've done it twice, now. I'm not sure exactly what I'm doing but this might be a way to cause it: 1) Fill the screen with 9999 dots. 2) Put the dots in falling state if they weren't already. 3) Wait a few seconds, then clear all the dots. 4) Try to create a dot in the bottom-left corner of the canvas. [EDIT]: I don't imagine anyone actually seeing pleasure in watching 9999 dots fall with so much lag, but you might want to consider fixing the bug anyway.
Good luck. It seems in most cases bug-free (who actually sees pleasure in that many dots???). I guess I didn't compliment you, so I want to. Nice work on this. I wonder how it'd look on a n3ds (I don't have one).

Replying to:Midnight
I crashed the program. "Subscript out of range in 0:234" I've done it twice, now. I'm not sure exactly what I'm doing but this might be a way to cause it: 1) Fill the screen with 9999 dots. 2) Put the dots in falling state if they weren't already. 3) Wait a few seconds, then clear all the dots. 4) Try to create a dot in the bottom-left corner of the canvas. [EDIT]: I don't imagine anyone actually seeing pleasure in watching 9999 dots fall with so much lag, but you might want to consider fixing the bug anyway.
(who actually sees pleasure in that many dots???)...
...............

Powder game? On 3ds? YETH GIMME PLS

Everytime you draw near the bottom left corner the program crashes.