Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Development Tools No-Code Development
Business
Entrepreneurship Communications Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certification Network & Security Hardware Operating Systems Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design Design Thinking 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition Yoga Mental Health Dieting Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Teacher Training Test Prep Other Teaching & Academics
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Cisco CCNA CompTIA Security+ Amazon AWS Microsoft AZ-900
Graphic Design Photoshop Adobe Illustrator Drawing Digital Painting InDesign Character Design Canva Figure Drawing
Life Coach Training Neuro-Linguistic Programming Personal Development Personal Transformation Mindfulness Life Purpose Meditation CBT Emotional Intelligence
Web Development JavaScript React CSS Angular PHP Node.Js WordPress Vue JS
Google Flutter Android Development iOS Development React Native Swift Dart Programming Language Mobile Development Kotlin SwiftUI
Digital Marketing Google Ads (Adwords) Social Media Marketing Google Ads (AdWords) Certification Marketing Strategy Internet Marketing YouTube Marketing Email Marketing Retargeting
Microsoft Power BI SQL Tableau Business Analysis Data Modeling Business Intelligence MySQL Data Analysis Blockchain
Business Fundamentals Entrepreneurship Fundamentals Business Strategy Business Plan Startup Freelancing Online Business Blogging Home Business
Unity Game Development Fundamentals Unreal Engine C# 3D Game Development C++ 2D Game Development Unreal Engine Blueprints Blender
30-Day Money-Back Guarantee
Development Game Development C#

How to Program Voxel Worlds Like Minecraft with C# in Unity

A comprehensive guide to blocky mesh building for procedurally-generated worlds like those found in Minecraft.
Rating: 4.6 out of 54.6 (1,408 ratings)
7,326 students
Created by Penny de Byl, Penny @Holistic3D.com
Last updated 12/2020
English
English [Auto]
30-Day Money-Back Guarantee

What you'll 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.
Curated for the Udemy for Business collection

Course content

8 sections • 49 lectures • 6h 25m total length

  • Preview02:45
  • Preview01:26
  • FAQs
    00:25
  • Preview03:19
  • 3D Arrays and Data Management
    02:40
  • Why You Can't Build Minecraft with Cubes
    Preview14:18
  • Challenge Exercise
    00:06

  • Preview05:53
  • Building a Quad
    08:43
  • Building a Cube
    11:46
  • UVs and Texture Atlases
    03:31
  • Texturing Quads & Cubes
    10:37
  • Chunks Part 1
    09:34
  • Chunks Part 2
    09:27
  • Chunks Part 3
    07:11
  • Chunk Columns
    16:49
  • Locating Inter-Chunk Neighbours
    08:19
  • World Building
    02:36

  • Preview05:58
  • Graphing Perlin
    13:03
  • Brownian Motion
    07:24
  • Chunking Noise
    10:37
  • Noisy Block Types
    07:06
  • Preview12:34
  • Test Your Knowledge
    10 questions
  • Challenge Exercise
    00:12

  • Loading Chunks Around the Player
    12:09
  • Loading Status
    14:55
  • Loading & Destroying Chunks As Player Moves Part 1
    11:40
  • Loading & Destroying Chunks As Player Moves Part 2
    16:59
  • Loading & Destroying Chunks As Player Moves Part 3
    11:21
  • Loading & Destroying Chunks As Player Moves Part 4
    05:29
  • Saving and Loading Chunks
    12:46

  • Removing Blocks
    18:22
  • Removing Stubborn Blocks
    16:03
  • Preview06:12
  • Building
    04:32
  • Working Across Chunks
    05:51
  • Saving Progress
    03:54
  • Challenge Exercise
    00:16
  • Unity Packages for Different Unity Versions
    00:05

  • Water
    14:01
  • Moving Water
    12:11
  • Sand
    06:12
  • Updating Dynamics
    05:36
  • Trees
    09:41
  • Biomes
    05:21

  • Moving Texture On Water
    00:46
  • Customising Complex Block Textures
    03:10

  • Where to Now?
    11:16

Requirements

  • You should be familiar with C# and the Unity Game Development Engine.
  • It would be useful if you have played Minecraft, but it's not necessary.

Description

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.

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.

Featured review

< Zym >
< Zym >
123 courses
13 reviews
Rating: 5.0 out of 54 months ago
i just loved ALL of it... i never really "played" much of minecraft per se... i always generate worlds and "navigate"/explore; i always loved the terrain/world/generational part of it WAY more than the "gamey" parts. thank you so much for coming up with this course "(love letter to the kernel of minecraft)" - which really is the rawest form of apotheotical bliss .!.!.!. ;)

Instructors

Penny de Byl
International Award Winning Professor & Best Selling Author
Penny de Byl
  • 4.6 Instructor Rating
  • 16,680 Reviews
  • 106,722 Students
  • 22 Courses

Hi, I'm Dr Penny de Byl.  I'm a full stack developer of most things computer sciency and 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 in Australia 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've won 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 the Unity Mobile Game Curriculum Competition. My approach to teaching computer science and related fields is project-based giving you hands-on workshops you can immediately get your teeth into.

I want you to leave my virtual classroom fully 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.


Penny @Holistic3D.com
Academic, Author & Game Development Enthusiast
Penny @Holistic3D.com
  • 4.6 Instructor Rating
  • 16,680 Reviews
  • 106,722 Students
  • 22 Courses

Hi, I'm Dr Penny de Byl.  I'm a full stack developer of most things computer sciency and 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 in Australia and Europe at the full professor level. I've also consulted for Unity and SAE. 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've won 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 the Unity Mobile Game Curriculum Competition. My approach to teaching computer science and related fields is project-based giving you hands-on workshops you can immediately get your teeth into.

I want you to leave my virtual classroom fully 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.

  • Udemy for Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Impressum Kontakt
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Featured courses
Udemy
© 2021 Udemy, Inc.