What I did today

Worked on my game’s tools some more.

Still so much to be done!

Tacky YouTube video. I’ll get better!

mQdd8QkOLTc

Almost everything seems more exciting with upbeat music!
Looks pretty good so far.

I’m reading this: Aggregate G-Buffer Anti-Aliasing

OT6IxLWZOJ4

More work on the tooling for Legends of Fore:

https://dl.dropboxusercontent.com/u/1668516/shots/fore/shot15.png

Got the point where I can start padding out monsters and items. On to re-writing the scripting stuff next.
Cheers,

Kev

Thought: stackable as an integer instead of a boolean.

Thanks! And yeah haha that was my goal xP

Got inspired by this (warning, lots of large images and gifs) and felt like doing something visual again:

I might post the code if anyone if interested and I can make it somewhat readable.

Ooo that’s pretty sweet looking

The gfycat website never loads for me, but the stack exchange contest looks very interesting. I couldn’t even imagine how to do this, so seeing some readable code for it would most likely be very enlightening. If you want to share, I’d surely read it.

So how exactly does it work , do you map each pixel and then see which colour it’s closest to?

Re-hosted to imgur’s gifv: http://imgur.com/SVi6o6k (warning: massive and poor quality)

The code will have to wait until later today, but the process is like this:

Get 2 images, equal dimensions for convenience
1st is the pixel source, 2nd is the target
Create 3rd blank image to draw to
Create an array of indices of the target in the order they will be found from the source
(I did range(0...img.size).sort(euclidean distance from image center) to get the expanding circle,
previously I tried the range shuffled, which looks cool but yields terrible video quality due to the noise)

For each frame:
loop:
get next index from indices
get the pixel color of that index in the target image
find a pixel in the source with a color as close as possible to that
set that pixel’s location in the source image to black, create a new particle in the same spot with the found color
set particle target point to current index
add particle to “entities” list
end loop, repeat n times, where n determines the rate of pixel-uprooting (I used 190 to get the video short enough for gfycat, but that many searches per frame kills real-time perf)

render:
draw source and blank image next to each other
for each particle in “entities”:
increment life
if (life == MAX_LIFE): remove from entities, set target point on 3rd image to this particle’s color
else: cubic interpolate from particle origin to target point with life/MAX_LIFE as alpha, draw
(optional) write current frame to disk via ExecutorService+ImageIO to later mux via ffmpeg

do { frame loop } while(!entities.isEmpty())

I Was somewhat close then. How about group sampling to increase the speed , instead of taking 1 pixel at a time take 9 around a wrapped centre that fit , lowers the quality but would increase the performance.

Since it’s just a 3-D nearest neighbor search (dimensions r,g,b), I was thinking a kd-tree, although removal after each search is problematic.
Right now it’s just a fuzzy linear search for the proof of concept, which almost anything will beat.

If done right you could move it into a shader and maybe even use it as ingame animation . It would look absolutely brilliant.

You could probably use a lookup for the R and G channels (that’s only 65K entries) and then search for a closest in the B channel. The generation of the lookup table will be pretty fast and the lookup will take a worst-case scenario of 255 comparisons.

Not groking that yet, would it handle removals well?

Either way, an R-tree (or variant) looks to be near optimal and I want an impl for my utilities anyway, so I’ll probably try that.

I created a system for simulating DNA and decided to generate trees. Basically, that jagged line is a graph of the dna sequence with every hill and valley corresponding to an “A”, “T”, “C”, or “G”. Every few generations, a mutation will pop up that can drastically or barely change the look of the tree. This is not, however, limited to just trees. With some work, one could easily make a semi-accurate representations of pedigrees for a family.

Right now the trees aren’t all that pretty but the program gets the job done so I am happy.

Reminds me of L-systems and Turing Turtles.

Figure out a fitness function for “interesting-ness” and throw it in a genetic algorithm stat!

Today i bought a new keyboard

Started building a (virtual) art gallery.