How to Program Voxel Worlds Like Minecraft with C# in Unity (Udemy.com)

A comprehensive guide to blocky mesh building for procedurally-generated worlds like those found in Minecraft.

Created by: Penny de Byl

Produced in 2021

icon
What you will learn

  • Build a cube-based geometric world like that generated in Minecraft.
  • Navigate and manipulate discrete values in 3d space.
  • Build and skin meshes from scratch using C#.
  • Save and Retrieve Serialised Data.
  • Build and manage a voxel data structure.

icon
Quality Score

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 92 / 100

icon
Course Description

d you know that there is not one single cube usedin 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 surfaceMinecraft 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-numbinghalt. 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 andknowledge 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, andtexturing blocks you will be programming your own world in no time.
Learn how to program and work with:
voxelscustom builtpolygons and meshesvertices and normalsUV mappingtexture atlasesPerlin noiseinfinite terrain generationloading and saving dataContents and OverviewAfter 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 dissectinga 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 nextadd 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.
What students are saying about this course:
Hi! I wanted to thank you and compliment you for the Minecraft Unity course. I've been a (web) programmer for 20 years. After so long creating somewhat boring work I'm excited to make games. My interest is in creating procedurally generated, complex worlds. Learning about Minecraft, therefore, seemed like a good idea.
Love the amount of detail Penny goes into! Not too little, not too much, she manages to hit the sweet spot that gets you a deep understanding of what's going on, coupled with the ability to jump in with confidence and start doing things yourself. VERY pleased with my course purchase, and look forward to more by her!
Clear, concise, introduction and extension of concepts required to efficiently generate Minecraft style worlds, including Perlin noise and fractal Brownian motion.
Who this course is for:
Anyone interested in how to put together a blocky voxel world like Minecraft.
Anyone interested in building and skinning geometry in a virtual world through code.
Anyone who loves Minecraft and is interested in the complexities that go on behind the scenes.
Anyone interested in expanding their Unity technical skills with respect to manipulating geometry with code.
Anyone interested in optimising the rendering process for large scale data and multiple textures.

icon
Instructor Details

Penny de Byl

Hi, I'm Dr Penny de Byl. I'm a full stack developer of most things computer sciencyand academic with a true passion for teaching. I've been teaching others about games development, programming, computer graphics, animation and web design for over 25 years in universities inAustralia and Europe at the full professor level.I've also consulted for Unity, SAE, the Australian Institute of Entertainment and Wikitude. My best selling textbooks including Holistic Game Development with Unity are used in over 100 institutions world-wide. My graduates work at companies like Apple, Ubisoft, LinkedIn and Deloitte Digital.
I have an honours degree in computer graphics and a Ph.D. in artificial intelligence for games characters. Over the course of my career I'vewon numerous awards for teaching excellence at the state, national and international levels including the Australian Learning and Teaching Council's Excellence in Teaching Award and theUnity Mobile GameCurriculum Competition. My approach to teaching computer science and related fields is project-based giving you hands-on workshops youcan immediately get yourteeth into.
I want youto leave my virtual classroomfully armed with a toolkit of skills for life-long learning. I'm excited to now be focussing my efforts full-time on Udemy to bring my years of knowledge and experience to those eager to learn about technology.

icon
More courses by Penny de Byl

A Beginner's Guide To Machine Learning with Unity

$11.99

The Beginner's Guide to Animation in Unity (v5 to v2021+)

$11.99

Shader Development from Scratch for Unity with Cg

$11.99

The Beginner's Guide to Artificial Intelligence in Unity.

$11.99

Unity Networking From Scratch for (Unity 5 to Unity 2018.2)

$11.99

Mathematics for Computer Games Development using Unity

$11.99

icon
More unity courses

Make a Tetris-style Puzzler in Unity

$11.99

Make an Assassins GO Board Game in Unity

$11.99

Level Management in Unity

$11.99

Unity 2D Game Developer Course Farming RPG

$11.99

Mastering Unity 3D Game Development from scratch using C#

$11.99

Learn To Create A Racing Game With Unity & C#

$11.99

icon
Reviews

4.6

288 total reviews

5 star 4 star 3 star 2 star 1 star
% Complete
% Complete
% Complete
% Complete
% Complete

By Benjamin L OBrien on 12/13/2020

A pretty solid example of begginigns of a Minecraft world.
It did not have the water decrease in height using slope and height adjustment as it spread from the main block after impacting blocks while spreading out.
Biomes is based on a height system and not a perlin noise application.
They never addressed functional blocks like the forge, red stone etc.... Does not address Zombies or mob spawns.
It could be said that this not expected in the tutorial, but but the title is how to Program Voxel Worlds.
A world is about more than terrain as is evidenced in its definition.
As I said, a solid example of creating the terrain for a Voxel World.

By Mariam Murshid on 12/6/2020

It's been so amazing so far and I love how she is explaining everything so well!

By Knight_solaire on 12/6/2020

By section 6, you've managed to explain in 20 mins things it took me a month of trial and error to learn on my own. This is a wonderful foundation and is going to save lots of people lots of time! This is great!

By John Adams on 12/6/2020

This course is amazing! Penny has go to be, hands down, one of the best instructors on game development, Unity, and C#! In the span of three hours, I have learned so much that it rivals my graduate program!

By Nitin on 12/6/2020

I started learning Unity and C# six months ago (going pretty hard out at it). I had to repeat the course material 2-3 times over to fully grasp the concepts. And boy was it worth it! Very good learning experience overall and a powerful tool to take with for future projects! Thanks Penny, hope to see more Unity related courses from you, I'm pretty hooked!

By Timothy L. Ray on 11/27/2020

It remains to be seen if I can handle it, but the structure of this course is solid for developing an understanding of 3-D Voxel worlds.

By Volkan Akpnar on 11/20/2020

She's changing the code off camera over and over.
Also the course is kinda old.
xD

By Leaundrae Mckinney on 11/4/2020

Outstanding course as usual. Thanks Penny!

By Gregor Zolynski on 10/4/2020

This is a compact and well-explained course on the topic of Voxel World creation in Unity. Great explanations of the math involved, with nice animations. Easy to follow, well-structured teaching material.
The instructor knows her stuff.
Highest recommendation for anybody interested in the topic!
Unfortunately I have to deduct some points because of the quality of the presented code: it works, but it is quite bad. I am aware this is a prototype and not supposed to be a course on Clean Code, but we should be teaching students to write at least consistent code, it's not that hard.
Sorry for ranting. In overall I loved the course :)

By Charles August Sturm on 10/2/2020

It is a good match for me

By Raymond Burkholder on 9/24/2020

It is a pretty challenging class but i feel that i am learning a lot more from it.

By Julien Lereffait on 9/22/2020

It really deliver on what was promised.
The only problem being the code is messy as hell, and can be optimized a lot.
If you're advanced in C# and Unity in general, you'll manage just fine, but for beginners, it's just bad practice and bad example of what professional code should look like.