Zotbox – Block Textures

So finally I am working on my own set of block textures and like programmer art there is also such a thing as programmer art style! Yes I am attempting to develop my own art style or aesthetic. Here is an example of the side of the grass block.

This approach looks really nice in VR. The sweet spot for textures to have a nice retro pixel art look is about 32 pixels per meter. Then it varies up and down. For larger objects the pixels become larger so it doesn’t start looking high resolution and smaller objects the pixels are smaller to allow for some detail. For example the palm trunks and rocks have a smaller texture while the butterflies have a larger texture.

For the blocks I try to maintain the 16 pixel texture (32 pixel per meter) look while taking advantage of twice the resolution. In Blockbench I block out the color using a 16×16 texture then scale it up and add additional detail while keeping some of the 16×16 structure. Here are a couple of screenshots showing them.

The dirt, grass, stone, and sand blocks are the new ones. I am still following a color palette similar to vanilla Minecraft though because that is classic!

Share This:

Zotbox – Details

I have been working a great deal on performance issues lately around adding detail models into Zotbox. I wanted to explain the changes and progress since it may help other developers working with similar designs. My goal for Zotbox and Lost Loot is to achieve a fairly dense environment which means lots of trees, bushes, grass etc. This is extremely difficult in mobile VR. I am excited to have made some solid progress recently! Here… Continue reading

Zotbox – Sunset Walk

Here is a nice sunset walk with some test plants using the alpha clipping option in the detail models! I had to reduce the trees some so Quest 2 can handle it better. I will eventually have more lush areas vs dry areas with different grass blocks and plants. The palm trees will be clustered in these lush areas so there won’t be as many but it will look more natural.

I am quickly realizing the SRP batching even when it is working well isn’t going to cut it for lots of smaller terrain details. In these scenes it is usually dropping draw calls from many hundreds to under fifty. But it has overhead and I am running into performance walls here with Quest 2 which is my baseline.

It is definitely time to work on block models which could handle things like smaller grass and flower details better. These would be meshed into the chunks directly and the only overhead is additional vertices/triangles to render. I also need to start making my own block textures and building an atlas based on what is defined for the regions.

I feel the lighting can work the same way with the block models by introducing some amount of occlusion in the blocks they occupy. You will notice that here when I throw down the torch at the end. The plants block the light some just like the rocks.

Share This:

Zotbox – Water Effects

Here are some basic water effects that I ported over from the original Lost Loot. Surface splashes and bubbles appear when the player or items move. There are also particles drifting in the water which are a little hard to see but look nice in VR.

There are very few aspects of Zotbox that use transparency because it is so costly on the Quest headsets with water and water effects being the main one. Most particle effects like the torch flame will use some kind of solid opaque geometry that fits with the art style.

I am eventually going to do another pass and rework the surface splashes based on velocity and depth. This will make the movement of anything in the water more realistic.

Share This:

Zotbox – Torch

An adventure game cannot exist without torches! While working on the inventory and container system, I created a few test items—including a torch—which led to a deep dive into dynamic lighting.

When the torch is held, it uses a real-time light source. But once released, it switches seamlessly to fast block-based global illumination. If you look closely in the video, you’ll see the lighting transition as I drop the torch into a pit or throw it through a window. The block lighting updates quickly enough that it feels almost real-time. There are no shadow calculations going on!

This setup allows for objects like torches to cast dynamic light when held while the player is moving and still integrate smoothly into the more visually accurate block based global illumination system when placed, dropped, or thrown—enabling a large number of interactive light sources in the world.

Share This:

Zotbox – Movement

After trying out a few different interaction frameworks I settled back on Hurricane VR which I used before and really like – physics based interaction is so important for presence, agency, and immersion. Here are the basic options for smooth/dash movement and smooth/snap turning. This follows the same controls as HLA which I really like and consider a standard. There is sprinting, jumping, crouching, and an initial setup for left vs right hand. I am currently working on the basic inventory/container system and item/weapon handling.

Share This:

Zotbox – Lighting

It’s been a while since I’ve made a longer post, so I wanted to share all the progress I’ve made on the lighting system in Zotbox and explain some of the technical details behind it. While I’ve shared bits and pieces before, I didn’t go into much depth about how it all works. This is just the first iteration of my work in this area, and I have plenty of additional features and improvements planned… Continue reading

Zotbox – Day/Night

Here are some images showing the first pass on the day/night cycle. I have been using a mobile friendly sky dome system which has worked well. I had to build my own gradient generation tool and update the texture to have the horizon color higher and get the fog color matching as time progresses.

With the sky and fog color in sync for the horizon the chunks and detail models fade in/out with movement. The horizon color then transitions in a gradient to the sky color at the top. This is simple and works well for the art style.

I spent some time experimenting with procedural sky box shaders but they are just too expensive. Even the simplest design is like a full screen effect – expensive shader times lots of pixels.

Next I am going to work on the sunset being a different color – more orange. I also want to get the cloud system working which will be tinted with the horizon color.

And for the tech artists out there here is the custom sky dome gradient texture!

Share This:

Zotbox – Underwater

A few images of the underwater lighting as I work on the day/night cycle for Zotbox. These are during the day at three depth levels. The first is the shallow areas with a clearer more turquois color.

The second is the deeper areas with a bluer darker color. The ocean test biome I have going makes large seagrass at these lower areas which are about as tall as a person. There is also a shot showing the headlamp light at this depth.

The last is from the deepest areas where the color is a dark blue and the light level keeps going down until it is black. These areas have little or no seagrass and require a headlamp to see.

Share This:

Zotbox – Global Illumination

I am excited to show off a preview of the block based global illumination in Zotbox. This is similar to the vanilla Minecraft skylight plus block light GI approach. However if you look closely you can see how the detail objects like the rocks and trees are also lit correctly.

For example the rock is lit on one side with the light and casts some occlusion on the back side. This is a combination of the GI and the detail objects ‘occupying’ blocks. The block lighting is then applied to the detail models as vertex colors. It makes a really nice basic lighting effect.

The scene is just one I made quickly on the Quest 2 while playing around and testing with some very rudimentary building tools. It’s just like Minecraft – running around adding and removing blocks. Loads of fun in VR!

Share This: