Creating Time (literally!) I have a knack for forgetting what I’ve managed to accomplish on the game during the week. To try to overcome this so I have updates I can post on it, I’ve started writing down each accomplishment on a sticky note. Read more...
Implementing a Thread-Safe Queue One of the most useful data structures when it comes to multi-threading is the queue. However, queues in c# aren’t thread-safe by default. Thankfully it’s easy enough to implement your own as we will do today. Read more...
Playing Around at the Bit Level This weeks adventure has been exploring object serialization. Initially I was using the serializable attribute to convert my objects into byte arrays but for some objects such as the voxel chunks this is far from ideal. Read more...
Building Up the Network Logic While this week may not have much to show for it has built a solid foundation for networking. I spent some time refactoring the pre-existing network logic to try to clean things up. Read more...
Sometimes we want code that can run outside of Unity and that can make things tricky when it comes to writing text to console. Unity has it’s own set of methods for writing to it’s command console via the Debug class with the most commonly used one being Debug. Read more...
Stepping back into Networking These past few months I’ve been on a tangent that wasn’t exactly planned. Diving head first into networking code, and attempting to refactor the voxel engine to support it really burnt me out. Read more...
Creating new gameobjects during runtime can be a costly operation. Multiple this action by 10 or more times in a single frame and you’ll notice a slight hiccup in FPS. One option to counter this is by taking advantage of object pooling. Read more...
TL;DR Full algorithm is at the bottom. Classes for Block, Chunk, and MeshData are defined below the intro. This article goes over how to implement a greedy meshing algorithm for generating optimized meshes for vertex-colored voxels in Unity. Read more...