{"id":22733805,"url":"https://github.com/angelogalav/littlecraftgl","last_synced_at":"2025-07-02T23:34:27.216Z","repository":{"id":57907346,"uuid":"439023999","full_name":"AngeloGalav/littlecraftGL","owner":"AngeloGalav","description":"A barebones voxel engine made in OpenGL for Linux and Windows.","archived":false,"fork":false,"pushed_at":"2025-02-19T00:46:42.000Z","size":2544,"stargazers_count":3,"open_issues_count":2,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-21T02:16:52.409Z","etag":null,"topics":["3d","cmake","cpp","engine","glfw","graphics","minecraft","opengl","voxel"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AngeloGalav.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-12-16T14:44:38.000Z","updated_at":"2024-11-07T02:37:54.000Z","dependencies_parsed_at":"2023-01-17T22:45:35.047Z","dependency_job_id":"b347e713-7ba8-416c-828c-49be11cbae70","html_url":"https://github.com/AngeloGalav/littlecraftGL","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/AngeloGalav/littlecraftGL","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AngeloGalav%2FlittlecraftGL","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AngeloGalav%2FlittlecraftGL/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AngeloGalav%2FlittlecraftGL/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AngeloGalav%2FlittlecraftGL/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AngeloGalav","download_url":"https://codeload.github.com/AngeloGalav/littlecraftGL/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AngeloGalav%2FlittlecraftGL/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263233941,"owners_count":23434890,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["3d","cmake","cpp","engine","glfw","graphics","minecraft","opengl","voxel"],"created_at":"2024-12-10T20:16:16.386Z","updated_at":"2025-07-02T23:34:27.188Z","avatar_url":"https://github.com/AngeloGalav.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# littlecraftGL\n\nVoxel engine made in OpenGL and C++, using GLFW and GLAD.\nIt has recently become my pet project.\nRuns on both Linux and Windows (64-bit only).\n\n## Screenshots\n\n![](res/old_screenshot.png)\n![](res/screenshot.png)\n\n## How to play\n\n- Use `W,A,S,D` to fly inside the world.\n- Use your mouse to rotate the camera, and your scrollwheel to zoom.\n- You can press `x` for a wireframe view of the currently generated world.\n- Press `q` to remove blocks, and `e` to place a wooden plank.\n\n## How to compile\n\n### Linux\n\nTo compile and run in Linux, simply use the following commands:\n\n```\nmkdir build\ncd build\ncmake .. \u0026\u0026 make\n```\n\nand that's pretty much it.\n\n### Windows\n\nOn Windows, using CMake, the compilation setup is a bit more tedius. Provided that you're using `MinGW` as your compiler, follow these steps:\n\n1. Install the libraries `glfw3` and `glm` manually, by downloading them from their official page (remember to download the proper archive for your CPU architecture!).\n2. Unzip them and place them into your User folder (i.e. `C:\\[your_user_name]\\`). Rename to `glfw` and `glm` respectively.\n\n3. After that, go to your extracted `glfw` folder and copy the contents of `lib-mingw-w64` inside your `MinGW/lib` folder (you'll need to find the path of the `MinGW` compiler yourself).\n\n4. Open a Windows terminal and use the commands:\n\n```\nmkdir build\ncd build\ncmake .. -G \"MinGW Makefiles\"; make -j8\n```\n\n## Dependencies\n\nThis project uses the following libraries:\n\n- GLFW\n- glad\n- glm - the openGL math library\n- [FastNoiseLite](https://github.com/Auburn/FastNoiseLite) - A single header lib to generate the Perlin noise map\n\nBoth GLFW and glm can be easily downloaded with `pacman` or `apt-get` on Linux. On Windows, you'll have to install them manually (see 'How to compile').\n\nThe project also uses two additional libraries: `json.hpp` and `gltext.h`, which are both included in the project.\n\n## Known Issues\n\n- It is missing some key features, that will be added sooner or later.\n- The code is very rough, and could use some refactoring. This is due to some GLUT quirks and the fact that some workarounds have been applied to solve some problems encountered during development. Also, I was extremely strict on time.\n- Blocks removal is not persistent, so if you delete a cube and roam around the map, you won't be able to see the effect.\n\n## Benchmarking\n\nOn Linux, I suggest using MangoHud to analyze the game's framerate:\n\n```\nexport MANGOHUD_DLSYM=1\nmangohud ./littlecraftGL\n```\n\n## Origin of the project\n\nOriginally, this was essentially my second project for the Computer Graphics course at the University Of Bologna. The goal was to make an interactable 3D scene in OpenGL. At the time, I decided to make a clone of the popular game \"Minecraft\", in order to challenge my knowledge and capabilities.\n\nYou can take a look at the original version of this project, made using GLUT, [in this fork](https://github.com/AngeloGalav/littlecraftGL/tree/glut-consegna).\n\nAs of now, this project functions as a way to improve my C++ skills and knowledge, as well as a way to explore the fascinating world of Voxel engines.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fangelogalav%2Flittlecraftgl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fangelogalav%2Flittlecraftgl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fangelogalav%2Flittlecraftgl/lists"}