refresh for a different colour mountain
-
refresh for a different colour mountain
-
spill is coming
-
huegene unlocked (8x speedup)
-
okay its a bit faster now (not sped up)
-
This post did not contain any content.
-
try it here
https://pastagang.codeberg.page/spill/ -
try it here
https://pastagang.codeberg.page/spill/i feel like i should actually explain what things im building with these little demos, kinda inspired by @boggo sharing thoughts on fluff development
-
i feel like i should actually explain what things im building with these little demos, kinda inspired by @boggo sharing thoughts on fluff development
the spill renderer is basically a shader but done in JavaScript land which is kind of very stupid but is also a joy to write because you don't have to deal with shaders. and you can get it going really fast if you [just] stick with manipulating a list of pixels. and it's not the bottleneck really
here's a hello world fake shader that initialises every pixel to a random value
-
the spill renderer is basically a shader but done in JavaScript land which is kind of very stupid but is also a joy to write because you don't have to deal with shaders. and you can get it going really fast if you [just] stick with manipulating a list of pixels. and it's not the bottleneck really
here's a hello world fake shader that initialises every pixel to a random value
spill cells, like cellpond cells, are not stored in one large array or object, but in lots of little spatial hash objects(?) called sections. we divide the world up into a grid of fixed sections (an arbitrarily chosen number of them based on what i expect people to do with the tool: 128x128)
-
spill cells, like cellpond cells, are not stored in one large array or object, but in lots of little spatial hash objects(?) called sections. we divide the world up into a grid of fixed sections (an arbitrarily chosen number of them based on what i expect people to do with the tool: 128x128)
this makes it much quicker to lookup what cell is at a specific position, which is the main performance bottleneck. but it does move that slowness onto the creation and deletion of cells. in cellpond this was very slow because i used Sets to contain cells in sections because i was scared of making mistakes. in spill, i use arrays, which are much quicker, but also there's more chance i make a mistake
-
this makes it much quicker to lookup what cell is at a specific position, which is the main performance bottleneck. but it does move that slowness onto the creation and deletion of cells. in cellpond this was very slow because i used Sets to contain cells in sections because i was scared of making mistakes. in spill, i use arrays, which are much quicker, but also there's more chance i make a mistake
@TodePond not deriding your solution at all and what I'm about to suggest might not be worth it for your use-case
A problem with dividing sections like this is that if activity is concentrated in a section it ends up being the same as a huge list. You may want to consider a quadtree so this isn't an issue. You'd also have to find the correct bucket size if you *really* care, but just using a number like 32 is often good enough.