{"id":26012317,"url":"https://github.com/bsodium/voxelife","last_synced_at":"2025-03-06T00:29:57.839Z","repository":{"id":64250191,"uuid":"553852520","full_name":"BSoDium/voxelife","owner":"BSoDium","description":"A C++ game of life implementation in 3D space","archived":false,"fork":false,"pushed_at":"2022-12-06T19:29:11.000Z","size":12210,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-05-01T16:38:01.489Z","etag":null,"topics":["3d","cpp","game-of-life","opengl","simulation"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BSoDium.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}},"created_at":"2022-10-18T21:56:53.000Z","updated_at":"2024-04-17T22:10:44.000Z","dependencies_parsed_at":"2023-01-15T06:45:23.526Z","dependency_job_id":null,"html_url":"https://github.com/BSoDium/voxelife","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BSoDium%2Fvoxelife","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BSoDium%2Fvoxelife/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BSoDium%2Fvoxelife/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BSoDium%2Fvoxelife/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BSoDium","download_url":"https://codeload.github.com/BSoDium/voxelife/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242128060,"owners_count":20076175,"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","cpp","game-of-life","opengl","simulation"],"created_at":"2025-03-06T00:29:57.236Z","updated_at":"2025-03-06T00:29:57.830Z","avatar_url":"https://github.com/BSoDium.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🧬 Three-dimensional Game of life simulation\r\n\r\nThis is a proof of concept for a three-dimensional game of life simulation. It is written in C++ and uses OpenGL for rendering.\r\n\r\n## Installation\r\n\r\n### Generic setup\r\n\r\nThis repository uses vcpkg for dependency management. You may use third party package managers, such as apt, to install the dependencies, but the following instructions assume you do not. All dependencies are listed in the `vcpkg.json` file.\r\n\r\nStart by installing vcpkg globally on your system. You can find instructions for this on the vcpkg [getting started](https://vcpkg.io/en/getting-started.html) manual. Once vcpkg is installed and added to your path, clone this repository and run the following commands:\r\n\r\n```bash\r\ncd voxelife\r\nvcpkg install\r\n```\r\n\r\nIf you encounter any errors while running the install command, please refer to the [vcpkg issues](https://github.com/microsoft/vcpkg/issues), as it is highly likely that someone else has encountered it before.\r\n\r\n:fire: Top related issues:  \r\n\u003e https://github.com/microsoft/vcpkg/issues/26848\r\n\r\nOnce the dependencies are installed, you can build the project using cmake. The following commands will build the project and place the executable in the `build` directory.\r\n\r\n```bash\r\nmkdir build\r\ncmake -DCMAKE_TOOLCHAIN_FILE:STRING={vcpkg root}/scripts/buildsystems/vcpkg.cmake .\r\ncd build\r\nmake\r\n```\r\nwith `{vcpkg root}` being the path to the vcpkg root directory (e.g. `~/vcpkg`).\r\n\r\nRun the program:\r\n\r\n```bash\r\n./voxelife\r\n```\r\n\r\n### Visual Studio Code\r\n\r\nOpen the VS Code workspace, which can be found at the root of the repository. Proceed then to install the recommended extensions, and configure the cmake tools extension to use the vcpkg toolchain file, by adding the following to your `settings.json` file:\r\n\r\n```json\r\n{\r\n    \"cmake.configureSettings\": {\r\n        \"CMAKE_TOOLCHAIN_FILE\": \"{vcpkg root}/scripts/buildsystems/vcpkg.cmake\"\r\n    }\r\n}\r\n```\r\nYou should now be able to build and run the project from within VS Code, by opening the \u003ckbd\u003eRun and Debug\u003c/kbd\u003e panel and selecting the `(gdb) Launch` configuration.\r\n\r\n## Usage\r\n\r\nControls:\r\n- Arrow keys to rotate the camera around the origin\r\n- \u003ckbd\u003eW\u003c/kbd\u003e and \u003ckbd\u003eS\u003c/kbd\u003e to move the camera closer and further away from the origin\r\n- \u003ckbd\u003eSpace\u003c/kbd\u003e to play/pause the simulation\r\n- \u003ckbd\u003eR\u003c/kbd\u003e to reset and randomize the current cell state\r\n\r\n## Screenshots\r\n\r\n![Screenshot 2](docs/Screenshot_01.png)\r\n![Screenshot 3](docs/Screenshot_02.png)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbsodium%2Fvoxelife","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbsodium%2Fvoxelife","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbsodium%2Fvoxelife/lists"}