{"id":13441136,"url":"https://github.com/Hopson97/open-builder","last_synced_at":"2025-03-20T11:35:29.489Z","repository":{"id":49896778,"uuid":"220819663","full_name":"Hopson97/open-builder","owner":"Hopson97","description":"Open  \"Minecraft-like\" game with multiplayer support and Lua scripting support for the both client and server","archived":false,"fork":false,"pushed_at":"2023-03-03T20:59:07.000Z","size":14828,"stargazers_count":698,"open_issues_count":29,"forks_count":80,"subscribers_count":33,"default_branch":"master","last_synced_at":"2024-08-01T03:33:17.192Z","etag":null,"topics":["cmake","cpp","enet","game","learning","lua","minecraft","multiplayer","networking","openbuilder","opengl","scripting","sfml","voxel","voxel-game","youtube-series"],"latest_commit_sha":null,"homepage":"https://github.com/Hopson97/open-builder/projects/3","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Hopson97.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2019-11-10T16:48:22.000Z","updated_at":"2024-07-25T15:12:43.000Z","dependencies_parsed_at":"2024-01-14T05:07:12.707Z","dependency_job_id":"24e09be1-ef35-4afe-9310-403e1200f1a8","html_url":"https://github.com/Hopson97/open-builder","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hopson97%2Fopen-builder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hopson97%2Fopen-builder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hopson97%2Fopen-builder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hopson97%2Fopen-builder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Hopson97","download_url":"https://codeload.github.com/Hopson97/open-builder/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221752303,"owners_count":16874957,"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":["cmake","cpp","enet","game","learning","lua","minecraft","multiplayer","networking","openbuilder","opengl","scripting","sfml","voxel","voxel-game","youtube-series"],"created_at":"2024-07-31T03:01:30.336Z","updated_at":"2025-03-20T11:35:29.473Z","avatar_url":"https://github.com/Hopson97.png","language":"C++","readme":"As of ~April 2020, I stopped working on this project for several reasons.\r\n\r\nThe way I created this was quite \"over done\" to the point it got hard to work out how to add new features, perhaps due to trying to be an engine rather than a game. However, I am interested in one day revisiting this concept, however perhaps in a different repository rather than this one.\r\n\r\n# Open Builder\r\n\r\n![Linux C/C++ CI](https://github.com/Hopson97/open-builder/workflows/Linux%20C/C++%20CI/badge.svg)\r\n![macOS C/C++ CI](https://github.com/Hopson97/open-builder/workflows/macOS%20C/C++%20CI/badge.svg)\r\n\r\nOpen source Minecraft-like voxel sandbox game with multiplayer support.\r\n\r\nMore information about the project can be found in the **[Open Builder Wiki](https://github.com/Hopson97/open-builder/wiki)**\r\n\r\nThis was made mostly for a YouTube series which can be found here: **[Lets Code A Multiplayer Voxel Game](https://www.youtube.com/watch?v=4Rg1RriQZ9Q\u0026list=PLMZ_9w2XRxiYb-ewSron6jd2fC1UHbDbJ\u0026index=2)**\r\n\r\n## Building and Running\r\n\r\n### Windows (Visual Studio)\r\n\r\nThe easiest way to build is to use [vcpkg](https://vcpkg.io/en/index.html) and install dependencies through this:\r\n\r\n```bash\r\nvcpkg install sfml\r\nvcpkg install imgui\r\nvcpkg install glm\r\nvcpkg integrate install\r\n```\r\n\r\nThen open the Visual Studio project file to build and run.\r\n\r\n### Linux\r\n\r\n#### Pre-requisites\r\n\r\nInstall Vcpkg and other required packages using your distribution's package manager:\r\n\r\n```sh\r\ngit clone https://github.com/microsoft/vcpkg.git\r\ncd vcpkg\r\n./bootstrap-vcpkg.sh\r\n\r\n# These are required to build some packages\r\nsudo apt install cmake make autoconf libtool pkg-config\r\n\r\n# The following are required for SFML\r\nsudo apt install libx11-dev xorg-dev freeglut3-dev libudev-dev\r\n```\r\n\r\nEnsure paths are set correctly:\r\n\r\n```sh\r\nexport VCPKG_ROOT=/path/to/vcpkg\r\nexport PATH=$VCPKG_ROOT:$PATH\r\n```\r\n\r\nRECOMMENDED: Add the above lines to your `.bashrc` or `.zshrc` file:\r\n\r\n```sh\r\necho 'export VCPKG_ROOT=/path/to/vcpkg' \u003e\u003e ~/.bashrc\r\necho 'export PATH=$VCPKG_ROOT:$PATH' \u003e\u003e ~/.bashrc\r\n```\r\n\r\n#### Build and Run\r\n\r\nTo build, at the root of the project:\r\n\r\n```sh\r\nvcpkg install # First time only\r\nsh scripts/build.sh\r\n```\r\n\r\nTo run, at the root of the project:\r\n\r\n```sh\r\nsh scripts/run.sh\r\n```\r\n\r\nTo build and run in release mode, simply add the `release` suffix:\r\n\r\n```sh\r\nsh scripts/build.sh release\r\nsh scripts/run.sh release\r\n```\r\n\r\n## Project Structure\r\n\r\nA quick overview of the code and project structure can be found in the wiki article:\r\n\r\n**[Project Structure](https://github.com/Hopson97/open-builder/wiki/Project-Structure)**\r\n\r\n## Contributing\r\n\r\nPlease see main article here:\r\n\r\n**[Contributing](https://github.com/Hopson97/open-builder/wiki/Contributing)**\r\n\r\n## Screenshots\r\n\r\nTerrain gen:\r\n\r\n![player](https://i.imgur.com/FSz0iWu.png)\r\n\r\nEarly screenshot:\r\n![player](https://i.imgur.com/RLqoqKw.png)\r\n\r\n## Similar Projects\r\n\r\nThis project was heavily influenced by the following projects:\r\n\r\n### Minetest\r\n\r\nAnother open source voxel sandbox game, one of the original ones. Also created using C++, and also has multiplayer support.\r\n\r\n**[Website](http://www.minetest.net)** - **[GitHub](https://github.com/minetest/minetest)**\r\n\r\n### Terasolgy\r\n\r\nOpen source multiplayer voxel sandbox game created using Java like the original minecraft.\r\n\r\n**[Website](https://terasology.org)** - **[GitHub](https://github.com/MovingBlocks/Terasology)**\r\n\r\n### Craft\r\n\r\nMinecraft clone created by Fogleman in C.\r\n\r\n**[Website](https://www.michaelfogleman.com/projects/craft/)** - **[GitHub](https://github.com/fogleman/Craft)**\r\n\r\n## Special Thanks\r\n\r\n[D3PSI](https://github.com/D3PSI) - Added GitHub actions, and created the install.sh file to automate the installation process on Linux systems\r\n\r\nCalvinSpace - Created a lot of the textures for the blocks\r\n\r\n## History\r\n\r\nOriginally, this was going to be a Zombie game, but I got very bored of that very quickly, and so changed the project to be a voxel game instead.\r\n\r\nAs a result of this, the code was created for the zombie game, so when I decided to switch over, the code got messy very quickly.\r\n\r\nTo combat this, I did a massive refactor in just over 2 weeks, re-creating large parts of the project.\r\n\r\nThe before-refactor-project can be found **[here](https://github.com/Hopson97/open-builder/tree/a452dfd0a5d8fc94059f7e1ab8ecca03dd06ba3a)**\r\n\r\nThe commit that adds the refactored code can be found **[here](https://github.com/Hopson97/open-builder/tree/9b6c7c83fb1331fa8740ad12d6df9390d5b31c0c)**\r\n","funding_links":[],"categories":["C++"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FHopson97%2Fopen-builder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FHopson97%2Fopen-builder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FHopson97%2Fopen-builder/lists"}