Author Topic: Evented Pixel Art  (Read 3959 times)





Before you ask, this is not img2brick
But it follows the same procedure as img2brick.

I saw some cool pixel art on DragonoidSlayer's server (seen on the left) and wanted to make my own, but then I realized I suck at making pixel art. So I just decided to cheat.

I got a picture, used this site to convert each pixel into a color value, changed the values into colorid, then used vce and relays to load the picture pixel by pixel.

This took about 14 hours total to do. It is close to 100,000 bricks.

These are the pixel events:
Code: [Select]
X 0ms onRelay Self VCE_modVariable Brick a Set <var:cl:a>
X 0ms onRelay Self VCE_modVariable Brick a Words <var:cl:b>
X 0ms onRelay Self VCE_modVariable Brick colorid Set <var:br:a>
X 0ms onRelay Self VCE_modVariable Client d Subtract 1
X 0ms onRelay Self VCE_ifValue <var:cl:d> == 0 5 10
X 0ms onVariableTrue Client VCE_modVariable b Add <var:cl:size>
X 0ms onVariableTrue Client VCE_modVariable c Multiply -1
X 0ms onVariableTrue Client VCE_modVariable d Set <var:cl:size>
X 0ms onVariableTrue Self fireRelayNorth
X 0ms onVariableFalse Self VCE_modVariable Client b Add <var:cl:c>
X 0ms onVariableFalse Self VCE_ifValue <var:cl:c> == 1 11 12
X 0ms onVariableTrue Self fireRelayWest
X 0ms onVariableFalse Self fireRelayEast

and then about 15,000 events that look like this:
Code: [Select]
X 33ms onActivate Self fireRelay
X 0ms onActivate Client VCE_modVariable a Set
X 0ms onRelay Self fireRelayUp
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>8 18 18 18 18 18 18 46
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a> 37 37 54 54 55 55 55
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>56 56 56 56 56 56 56 5
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>6 56 56 56 56 57 57 57
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a> 57 57 57 57 57 56 56
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>56 56 56 56 56 56 56 5
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>6 56 56 56 56 56 56 56
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a> 57 57 57 57 57 57 57
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>60 60 60 60 60 60 59 5
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>9 59 59 59 59 59 59 59
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a> 59 59 59 59 59 26 26
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>25 27 28 28 27 61 61 6
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>1 27 61 61 61 60 61 61
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a> 61 61 61 61 61 61 61
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>27 27 27 56 27 27 27 2
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>7 27 27 62 60 62 56 56
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a> 25 25 25 25 55 56 56
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>57 57 57 57 57 57 57 5
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>7 57 57 41 41 57 60 59
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a> 60 40 40 40 40 60 59
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>59 59 59 59 59 40 49 4
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>8 40 60 57 57 57 57 56
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a> 56 56 56 55 55 54 54
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>54 37 37 37 37 36 18 1
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>8 18 18 18 18 36 37 37
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a> 37 37 37 37 54 54 54
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>54 55 55 55 55 56 55 5
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>5 56 55 55 54 54 37 37
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a> 37 46 18 18 18 18 18
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>18 18 18 18 18 18 18 1
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>8 18 46 46 46 46 37 37
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a> 54 56 27 27 60 60 60
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>60 61 59 52 52 59 59 5
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>9 59 60 60 27 27 27 60
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a> 55 46 18 18 18 18 18
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>18 18 18 18 18 18 46 3
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>7 37 54 54 55 55 55 55
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a> 56 56 56 56 56 56 56
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>56 56 56 56 57 57 57 5
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>7 57 57 57 57 57 56 56
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a> 56 56 56 56 56 56 56
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>56 56 56 56 56 56 56 5
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>7 57 57 57 57 60 60 60
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a> 60 60 60 60 59 59 59
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>59 59 59 59 59 59 59 5
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>9 59 59 59 59 26 26 26
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a> 27 28 61 27 61 61 27
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>27 61 61 61 61 61 61 6
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>1 61 61 61 61 61 27 27
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a> 56 56 27 62 27 27 27
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>62 62 57 56 25 25 55 5
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>6 57 60 60 60 58 62 57
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a> 57 58 60 60 57 57 57
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>57 57 60 59 60 40 40 4
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>0 40 60 59 59 52 52 59
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a> 59 59 51 40 49 48 40
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>60 57 57 57 57 57 56 5
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>6 56 56 55 55 54 54 54
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a> 54 37 37 37 36 18 18
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>18 18 18 36 36 37 37 3
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>7 37 37 54 54 54 55 55
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a> 55 55 55 55 56 56 56
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>56 56 56 55 55 54 37 3
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>7 46 18 18 18 18 18 18
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a> 18 18 18 18 18 18 18
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>46 46 46 46 37 37 37 5
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>4 27 27 27 60 60 60 61
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a> 59 52 52 52 59 59 59
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>60 60 27 27 27 60 55 4
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>6 18 18 18 18 18 18 18
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a> 18 18 18 18 18 18 46
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>37 37 54 54 55 55 55 5
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>5 56 56 56 56 56 56 56
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a> 56 56 56 57 57 57 57
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>57 57 57 57 57 57 56 5
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>6 56 56 56 56 56 56 56
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a> 56 56 56 56 56 57 57
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>57 57 57 57 57 60 60 6
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>0 60 60 60 59 59 59 59
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a> 59 59 59 59 59 59 59
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>59 59 59 59 36 36 26 2
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>7 28 61 61 62 61 61 61
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a> 61 61 61 61 61 60 61
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>61 61 61 62 27 27 56 2
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>7 62 62 27 27 27 27 56
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a> 56 25 56 57 60 61 52
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>61 60 62 60 60 61 60 6
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>0 60 60 60 60 60 60 59
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a> 60 60 60 59 59 59 59
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>52 52 52 52 52 52 52 5
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>9 59 40 49 47 50 60 57
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a> 57 57 57 57 57 56 56
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>56 56 55 55 25 54 54 3
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>7 37 37 37 36 18 18 18
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a> 18 18 46 37 37 37 37
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>37 37 54 25 55 55 55 5
X 0ms onRelay Self VCE_modVariable Client a Set <var:cl:a>5 55 55 55 56 56 56 56

Interesting little tidbit I found: Theres no limit to the size of a VCE variable. <var:cl:a> was about 315,000 characters long.


"That's not real pixel art! You are a cheater!"

Thank you random heckler for your insightful commentary. Just because I didn't feel like spraypainting a 100,000 pixel pixture, doesn't mean it's not cool.

holy moses pancakes



i was hoping for moving pixel art but this is cool too



Now animate it.

Now this would be amazing... Someone go do this now!

would be neat if you could look at the data of the picture with your client and have it wrench a brick over and over changing the value it's adding to the variable, and automatically click it
that way it would set it up completely by itself

I am confused on how to use [urlhttp://www.digole.com/tools/PicturetoC_Hex_converter.php]this site[/url] to turn it into blockland bricks. Can somebody please explain into further detail?

I am confused on how to use this site to turn it into blockland bricks. Can somebody please explain into further detail?
same here

I am confused on how to use [urlhttp://www.digole.com/tools/PicturetoC_Hex_converter.php]this site[/url] to turn it into blockland bricks. Can somebody please explain into further detail?
it doesn't turn it into bricks. it gives you the color of every pixel

Can somebody please explain into further detail?
I used DEC format and 262K color to get a bunch of numbers
10,6,5,10,6,5,11,6,6,11,6,6,11,6,6,11,6,6,11,6,5,10,6,5,10,6,5,10,6,5,10,6,5,10,6,6,10
Every 3 numbers is one pixel with RGB color value.

Then I just wrote a script that finds the closest color to the pixel in the colorset and return a colorid.

hey, you can see my mewtwo!