Author Topic: VULLEN Revival (Yes, I'm at it again)  (Read 2630 times)

Do you have an ETA till we can play it or even try it?

Do you have an ETA till we can play it or even try it?
No.

I'm changing a lot of stuff right now. I've removed that fancy shadowing effect because it took FPS down to 16 when loading a new chunk (which was 90% of the time)

Redoing the colour system to work more like BL's paintset system. Players will be able to make colorsets and stuff. The limit for colors in a single colorset will be 4194304. I really need to lower it just for optimization's sake but I honestly think that leaving it as it is won't slow the game down. Want to know why? Simple - I get Unity to generate a texture atlas of a high but not rediculous size: 2048x2048. I chose 2048 because it is a number. Anyway.

The image is remembered and saved as a .png in the memory. It is treated as a bitmap - the colors are saved in a compressed image format. Getting a colour is as simple as asking for the pixel it occupies, thus overstepping big storage systems and arrays.
Done in the unity version.
I found the limit. An array is needed to fill up the texture image, and a 2DTexture array of size 4194304 isn't that good of an idea. I'll limit it to 250 for now.
Wait what
If you do something like blocklands paint system then you need one 16x16 texture holding all the colors and correct uvs on the terrain, no arrays

Wait what
If you do something like blocklands paint system then you need one 16x16 texture holding all the colors and correct uvs on the terrain, no arrays

The texture is filled from seperate textures constructed from a text file. These are held in an array of 1x1 textures. So far I haven't found a Unity function to fill a texture atlas without use of an array but I may be able to do it with setPixel later on.

The texture is filled from seperate textures constructed from a text file. These are held in an array of 1x1 textures. So far I haven't found a Unity function to fill a texture atlas without use of an array but I may be able to do it with setPixel later on.
yeh setpixels is what you wanna do

What kind of performance impact have you seen after switching to Unity? Do you think it was a good decision in hindsight?

What kind of performance impact have you seen after switching to Unity? Do you think it was a good decision in hindsight?
performance is bad atm, because it wasn't yet optimized

performance is bad atm, because it wasn't yet optimized
Main problem is the noise function. It's 3D, perlin, and takes far too long to work. There's a big issue with this because it means that you can just go and walk off the side of the world if you want to - you have to wait for chunks to generate. Framerate is very good, though.