How to Program Voxel Worlds Like Minecraft with C# in Unity
Release date:2020, August 12
Author:Penny de Byl
Skill level:Beginner
Language:English
Exercise files:Yes
Did you know that there is not one single cube used in Minecraft? Have you ever looked at Minecraft and wondered, “How did they build it?” – a great thing to ponder, it is. If you haven’t and think that programming a whole bunch of cubes is child’s play, then think again. On the surface Minecraft looks as though it would be a simple world to recreate in Unity. Start placing cubes around a scene and see how far you get before the frame-rate grinds to a mind-numbing halt. So wonder and fret no longer, as this course reveals the secrets of programming and rendering procedurally-generated voxel worlds, like Minecraft, with C# in Unity.
In this course, Penny teaches all the invaluable skills you will require to build a blocky world from scratch using her internationally acclaimed teaching style and knowledge from over 25 years working with games and graphics. But hold on tight as you’ll be taken on a journey across the computer graphics realm as it is taught to post-graduate university students. Through detailed descriptions and hands-on workshops examining all you need to know about 3d data structures, building meshes from scratch, using noise algorithms to generate terrain features and caves, and texturing blocks you will be programming your own world in no time.
Learn how to program and work with:
voxels
custom built polygons and meshes
vertices and normals
UV mapping
texture atlases
Perlin noise
infinite terrain generation
loading and saving data
Contents and Overview
After getting a little experience in why it’s such a bad idea to build a Minecraft type world using cubes, you’ll start following along with Penny, exercise after exercise, toward the end of building your very own and unique blocky terrain.
You’ll begin by dissecting a cube and examining its fundamental parts from vertices, to normals, to texture mapping. Armed with this knowledge, you will then begin writing code that redefines the cube and makes it far more efficient to draw as a terrain component. You’ll then bring these pseudo-cubes together to form chunks, to optimise rendering performance. Once you’ve worked on creating a solid world of chunks you will then learn about smooth noise and a little fractal geometry will be introduced to assist you in carving out realistic landscape features including caves.
With terra-firma to stand on, you’ll next add a player character and start exploring the new world. To prevent you falling off, you will also start working on the logic to build the world around you in real-time, out to infinite boundaries.
When you are done with exploring, it will be time to start digging and building. It’s in this part that you will learn how to add and remove blocks at the click of a button to further mould the terrain to your liking.
Finally, you’ll cover the dynamics of adding flowing water, falling sand and start working on the logic for creating your very own biomes.