We may earn an affiliate commission when you visit our partners.
Course image
Tabsil Makes Games

You .

Yeah, you.

You want to be a Better Developer right ?

You want to give more Creativity to your players, allow them to Shape & Carve Worlds ?

You want to be a bit Faster at creating worlds ?

Then this course is for You.

Astroneer, No Man’s Sky & Minecraft use Procedural Mesh Generation to create worlds.

Mobile games such as Sand Balls, Alto’s Adventure & Castle Raid are hit games, and also use the Marching Squares Algorithm to shape their levels & give more creativity to the player.

Read more

You .

Yeah, you.

You want to be a Better Developer right ?

You want to give more Creativity to your players, allow them to Shape & Carve Worlds ?

You want to be a bit Faster at creating worlds ?

Then this course is for You.

Astroneer, No Man’s Sky & Minecraft use Procedural Mesh Generation to create worlds.

Mobile games such as Sand Balls, Alto’s Adventure & Castle Raid are hit games, and also use the Marching Squares Algorithm to shape their levels & give more creativity to the player.

The potential behind these algorithms is Huge & is a big Time saver for developers like you.

This is why I decided to craft this course, so that you too, can learn how to create your own version of the Marching Squares Algorithm.

Together, we will do it Step-By-Step.

  • We will first learn how to Create a Procedural Mesh in Unity. You will understand the concepts of Vertices, Triangles and how to master them.

  • After making a simple Square, we will add a bit more points to our Mesh and make a One Square Version of the Marching Squares Algorithm. This will allow you to fully master the concept.

  • After Mastering the Square, we will create a simple Scalar Field (which is a fancy term for saying a field of values (I also explain in simple terms don’t worry, I hear you)).

  • We will be able to Display the Field of Values using Unity’s Gizmos system ( You might use that in almost any of your game to Debug stuff )

  • And finally, we will Merge our two systems [ The Scalar Field - The Marching Squares ] to be able to create a Fun 2D Digging System.

Time is precious, that’s why I decided to cover the aspects of this course in Under 3 Hours. You will be able to implement the system (and maybe make a quick 2D game if you’re hyped . ) in less than a day.

If you ever need help, leave a comment and I’ll help asap ;).

Wanna start creating Procedural Worlds ? Click the Purple Button to your right .

Enroll now

What's inside

Learning objectives

  • Learn how to create objects from code
  • Learn how to use the marching squares algorithm
  • Learn how to manage & manipulate scalar fields
  • Learn how to use gizmos to display data
  • Learn how to decouple your code effectively
  • Learn how to create structures to enhance your code

Syllabus

Introduction
Explanation
Displaying the First Vertices
Our First Square !
Read more

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Explores procedural mesh generation, a technique used in popular games like Astroneer and Minecraft, offering a practical approach to world creation
Teaches the Marching Squares Algorithm, which is used in mobile games such as Sand Balls and Alto’s Adventure, to shape levels and give more creativity to the player
Covers the use of Unity's Gizmos system, which can be used in almost any game to debug stuff, making it a valuable tool for game development
Requires the use of Unity, so learners should ensure they have access to the software and that their machines meet the minimum specifications
Develops skills in creating procedural meshes, managing scalar fields, and decoupling code, which are valuable for creating dynamic and interactive game environments

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Unity 2d digging game technique

According to learners, this course provides a clear and concise introduction to implementing the Marching Squares Algorithm in Unity to create a 2D digging system. Students found the explanations easy to follow and appreciated the step-by-step approach, making complex topics like procedural mesh generation and scalar fields accessible. Many highlight the course's practical, hands-on nature, allowing them to quickly build a working prototype. The course is generally seen as highly valuable for beginners or those new to these specific techniques, though some more experienced users might find it basic. The instructor is often praised for being responsive to questions.
Basic implementation, not advanced techniques.
"While good for basics, it doesn't cover advanced topics like optimization or 3D."
"Just a starting point, will need to explore further for more complex features."
"A bit basic if you already have experience with procedural content generation."
"Provides the core logic, but expanding on it requires additional learning."
Instructor is helpful when questions arise.
"The instructor is very active in the Q&A section and provides helpful answers."
"Got a quick response when I was stuck on a particular step."
"Appreciate the support provided by the course creator."
"Knowing help is available made tackling tricky bits easier."
Covers mesh generation, scalar fields, and more.
"Covers not just Marching Squares but also procedural mesh and scalar fields effectively."
"Understanding vertices and triangles was made simple."
"The section on using gizmos for debugging was unexpectedly useful."
"Liked how the course explained the relationship between scalar fields and the mesh."
Accessible introduction for those new to the topic.
"Perfect course for anyone looking to start with procedural mesh in Unity."
"As a beginner, I found this very easy to grasp compared to other resources."
"Highly recommended for those new to Marching Squares or procedural generation."
"Assumes little prior knowledge of the specific techniques covered."
Focuses on building a functional digging system.
"The best part is building the actual digging system. It's very practical."
"I enjoyed following along and seeing the system come together piece by piece."
"Great practical application of procedural generation in a game context."
"Being able to create a working prototype by the end was very rewarding."
Provides a solid foundation in the algorithm.
"Excellent course on Marching Squares algorithm implementation in Unity."
"Really helped me understand the core principles of the algorithm and how to apply it."
"A great introduction to using Marching Squares for procedural 2D generation."
"Now I feel confident in applying this technique to my own game projects."
Breaks down complex concepts into manageable steps.
"The course takes you step-by-step through the implementation of marching squares."
"Instructor explains concepts clearly, making it easy to follow along even for complex parts."
"Loved the clear explanations and easy to follow approach to this algorithm."
"Walks you through everything you need to know to get started with the technique."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Make your Dream Unity Digging Game Today with this Technique with these activities:
Review Unity Mesh Basics
Review the fundamentals of creating and manipulating meshes in Unity to prepare for the procedural mesh generation techniques used in the course.
Browse courses on Mesh Generation
Show steps
  • Create a simple cube using Unity's built-in mesh tools.
  • Modify the cube's vertices and triangles through scripting.
  • Experiment with different mesh rendering options.
Review: Unity 2021 Cookbook
Reference this book to gain a better understanding of Unity's features and scripting techniques.
Show steps
  • Browse the table of contents to identify relevant recipes.
  • Read the recipes related to mesh manipulation and texturing.
  • Implement some of the recipes in a test project.
Practice Scalar Field Manipulation
Practice manipulating scalar fields to solidify your understanding of how they can be used to represent and modify game environments.
Show steps
  • Create a simple 2D scalar field using a grid of values.
  • Implement functions to modify the scalar field values based on user input.
  • Visualize the scalar field using Unity's Gizmos system.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Create a Simple Digging Game Prototype
Build a basic digging game prototype using the techniques learned in the course to reinforce your understanding of procedural mesh generation and scalar fields.
Show steps
  • Implement the marching squares algorithm to generate a 2D terrain mesh.
  • Allow the player to dig into the terrain by modifying the scalar field.
  • Add basic gameplay elements such as player movement and collision detection.
Review: Game Programming Patterns
Study common design patterns to improve the structure and maintainability of your digging game code.
Show steps
  • Read the chapters on creational and behavioral patterns.
  • Identify opportunities to apply these patterns in your digging game prototype.
  • Refactor your code to implement the chosen patterns.
Explore Advanced Marching Squares Techniques
Seek out tutorials and articles on advanced marching squares techniques to expand your knowledge and improve the visual quality of your digging game.
Show steps
  • Search for tutorials on smoothing the terrain generated by marching squares.
  • Implement techniques such as cubic interpolation or metaballs.
  • Experiment with different color palettes and textures to enhance the visual appeal.
Contribute to a Procedural Generation Project
Contribute to an open-source project related to procedural generation to gain experience working with a larger codebase and collaborating with other developers.
Show steps
  • Find an open-source project on GitHub that uses procedural generation techniques.
  • Identify a bug or feature that you can contribute to.
  • Submit a pull request with your changes.

Career center

Learners who complete Make your Dream Unity Digging Game Today with this Technique will develop knowledge and skills that may be useful to these careers:
Procedural Content Generator
A Procedural Content Generator designs and implements algorithms to automatically create game content, such as levels, textures, and characters. The goal is to reduce manual labor and increase the variety and replayability of games. This course is directly applicable to this field, as it teaches the Marching Squares algorithm and procedural mesh generation techniques. Anyone interested in automating the world-building process for games would find this course extremely valuable, as it provides hands-on experience with essential tools and concepts.
Unity Developer
A Unity Developer specializes in creating interactive 2D and 3D experiences using the Unity game engine. The position involves scripting, animation, and level design to bring virtual worlds to life. This course helps you learn about procedural mesh generation and the Marching Squares algorithm, which are directly applicable to creating dynamic and interactive game environments within Unity. Gaining proficiency in these techniques allows a Unity Developer to build more complex and engaging games, making this course a strong asset.
Indie Game Developer
An Indie Game Developer works independently or in a small team to create and publish their own video games. They often handle multiple aspects of development, from programming and art to design and marketing. This course may be useful for Indie Game Developers looking to create unique and engaging games with limited resources. The course teaches essential skills in procedural mesh generation and the Marching Squares algorithm, allowing developers to create dynamic and visually appealing environments efficiently.
Game Developer
A Game Developer designs and builds video games for various platforms. The role combines creativity with technical skills to bring engaging and immersive experiences to players. This course may be useful for aspiring game developers, especially those interested in procedural generation and world-building techniques. The course focuses on creating procedural meshes in Unity, mastering vertices and triangles, and implementing the Marching Squares algorithm, all of which are highly relevant to generating dynamic game environments.
Technical Artist
A Technical Artist bridges the gap between artists and programmers, creating tools and workflows that enhance the art creation pipeline. This can involve writing scripts to automate tasks, optimizing assets for performance, and developing visual effects. This course may be helpful for Technical Artists looking to expand their skills in procedural generation. The course teaches how to manipulate scalar fields and use Unity's Gizmos system for debugging, both of which can be valuable skills for creating efficient and visually appealing game environments.
Level Designer
A Level Designer crafts the environments and layouts where gameplay takes place. This involves creating engaging spaces, placing objects, and scripting events to guide the player experience. This course may be useful for Level Designers interested in using procedural generation to create dynamic and varied levels. By learning how to create procedural meshes, Level Designers can develop tools to quickly prototype and iterate on level designs, making this course a valuable asset.
Algorithm Developer
An Algorithm Developer researches, designs, and implements algorithms to solve complex problems in various fields, such as computer science, engineering, and finance. The role requires a strong foundation in mathematics and programming. This course teaches the Marching Squares algorithm, providing hands-on experience with a powerful technique for procedural generation. Understanding how to implement and optimize algorithms is crucial for success as an Algorithm Developer, making this course a valuable resource.
Virtual Reality Developer
A Virtual Reality Developer creates immersive experiences for virtual reality platforms. They use game engines like Unity to build interactive environments, implement tracking systems, and design user interfaces. This course may be helpful for Virtual Reality Developers, especially when creating dynamic and interactive VR environments. The course focuses on creating procedural meshes in Unity, mastering vertices and triangles, and implementing the Marching Squares algorithm, all of which are highly relevant to generating engaging VR spaces.
Augmented Reality Developer
An Augmented Reality Developer creates applications that overlay digital content onto the real world using devices like smartphones and tablets. This involves using AR frameworks to track objects, render graphics, and create interactive experiences. This course may be useful for Augmented Reality Developers looking to create dynamic and responsive AR applications. The course teaches how to manage and manipulate scalar fields, which can be used to create interactive elements that respond to user input in the real world.
Simulation Developer
A Simulation Developer creates software that models real-world systems and processes. These simulations are used for training, research, and entertainment. This course may be helpful for Simulation Developers, particularly when creating dynamic and interactive environments. The course teaches how to create procedural meshes in Unity, master vertices and triangles, and implement the Marching Squares algorithm, which are applicable to generating realistic and engaging simulations.
AI Programmer
An AI Programmer develops artificial intelligence systems for games, simulations, and other applications. This involves creating algorithms that allow characters or agents to make decisions, learn from experience, and interact with their environment. While this course doesn't directly focus on AI, the procedural generation techniques it teaches can be used to create dynamic environments for AI agents to explore. The course teaches how to manage and manipulate scalar fields, offering a foundation for creating complex AI systems. A strong background in math is recommended, as it is in the AI field.
Software Engineer
A Software Engineer designs, develops, and tests software applications. This role requires strong programming skills and a deep understanding of software development principles. This course may be useful for Software Engineers interested in expanding their knowledge of algorithms and data structures. The course focuses on creating procedural meshes and implementing the Marching Squares algorithm, which can provide valuable insights into efficient code design and problem-solving techniques.
Science Communicator
A Science Communicator shares scientific knowledge with the public through various media, such as writing, presentations, and interactive exhibits. Creating engaging and accessible content is crucial for this role. The course lessons on procedural mesh generation and the Marching Squares algorithm are very applicable to explaining mathematical concepts to a lay audience. By learning to create interactive visualizations with these methods, a Science Communicator can make complex ideas more understandable and interesting.
Mathematics Teacher
A Mathematics Teacher educates students in mathematical concepts and problem-solving skills. While seemingly unrelated, the underlying principles of geometry and algorithms taught in this course relate to mathematical concepts. This course may be useful for Mathematics Teachers to learn new ways to visualize mathematical concepts. The course may provide a unique and engaging way to demonstrate these principles to students, sparking their interest in mathematics.
Data Scientist
A Data Scientist analyzes large datasets to extract insights and trends, using statistical methods and machine learning techniques. While this role may seem unrelated to game development, the principles of data manipulation and visualization can be applied to various fields. This course may be helpful for Data Scientists interested in learning new ways to visualize and interact with data. The course teaches how to use Unity's Gizmos system to display data, which could be adapted for creating interactive data visualizations.

Reading list

We've selected two books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Make your Dream Unity Digging Game Today with this Technique.
This cookbook provides practical solutions to common Unity development challenges. It's a useful reference for understanding various Unity features and scripting techniques. While not directly focused on procedural generation, it offers valuable insights into mesh manipulation, texturing, and other relevant topics. It is best used as a reference to look up specific topics.
Explores common design patterns used in game development. While not specific to Unity or procedural generation, it provides valuable insights into code organization, decoupling, and maintainability. The course mentions decoupling code effectively, and this book will help with that. It is best used as additional reading to improve code quality.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser