Intro Hi every one ! This is my first post on dev.to so a new experience for me! I'm actually working on a Minecraft clone for my engine dev portfolio, and I've decided to share with you the steps of my journey 😁 This post is intended for people who have a basic understanding of 3D rendering. If that's not the case, I highly recommend you take a look at this website , which is an absolute reference! For your information, I am working on Fedora Linux 44, with a RTX 3060Ti, 32GB of DDR4 3600MHz and a Ryzen 7 5700X. Well, let's dive into ! 1. Storing blocks Before we begin, I would first like to explain how my blocks are stored in memory. Each block has several properties, such as its name (in a string), its UVs (top, down and side for example), if it is transparent, affected by gravity, etc. If we store these informations in each block of the map, you will just destroy your RAM (~256 bytes with the previous informations, multiply by the number of blocks in the map...). The solution is simple.…