{"id":20123084,"url":"https://github.com/stwe/sgcity","last_synced_at":"2026-04-16T00:32:07.064Z","repository":{"id":34800964,"uuid":"432839296","full_name":"stwe/SgCity","owner":"stwe","description":"Tile based 3D city builder maked from scratch with OpenGL.","archived":false,"fork":false,"pushed_at":"2022-05-12T18:53:32.000Z","size":15335,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-30T07:56:45.170Z","etag":null,"topics":["3d","city-builder","opengl","tiles","traffic"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stwe.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":"2021-11-28T22:23:36.000Z","updated_at":"2025-05-19T19:31:59.000Z","dependencies_parsed_at":"2022-08-08T02:00:50.754Z","dependency_job_id":null,"html_url":"https://github.com/stwe/SgCity","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/stwe/SgCity","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stwe%2FSgCity","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stwe%2FSgCity/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stwe%2FSgCity/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stwe%2FSgCity/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stwe","download_url":"https://codeload.github.com/stwe/SgCity/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stwe%2FSgCity/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31866297,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-15T15:24:51.572Z","status":"ssl_error","status_checked_at":"2026-04-15T15:24:39.138Z","response_time":63,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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","city-builder","opengl","tiles","traffic"],"created_at":"2024-11-13T19:43:21.683Z","updated_at":"2026-04-16T00:32:07.036Z","avatar_url":"https://github.com/stwe.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SgCity\n\nTile based 3D city builder maked from scratch with OpenGL.\n\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/51367f1966914a838f48dc864ddfdd79)](https://www.codacy.com/gh/stwe/SgCity/dashboard?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=stwe/SgCity\u0026amp;utm_campaign=Badge_Grade)\n\n\n\u003cimg src=\"https://github.com/stwe/SgCity/blob/main/resources/devlog/2022-04-23.png\" width=\"500\" height=\"400\" /\u003e\n\n## Current Features\n\n* Runs on Windows and Linux\n* A fixed time step game loop which process input events, update and render game objects\n* Logging, Exceptions, Assertions\n* OpenGL renderer\n* Event system\n* ImGui based menus\n* Configurable with a config.ini\n* A skybox for a nice background\n* A camera that allows us to move freely\n* Terrain manipulation (raise and lower)\n* Tile selection\n* Different tiles for residential, commercial, industrial and traffic zones\n* The game determines if zones are connected, e.g. with a road.\n* A road network can be built.\n* Animated water surfaces\n* Loads 3D models made in Blender (so we can load plants, trees, buildings etc.)\n\n## Next\n\n* Select buildings via menu\n* Align game objects to the grid and highlights the tiles in color\n* A complete city with simple gameplay\n* Heightmap based terrain creation\n* Load and save the city\n\n## Build\n\n### Requirements\n\n* [GLFW](https://www.glfw.org/)\n* [GLEW](http://glew.sourceforge.net/)\n* [GLM](https://github.com/g-truc/glm)\n* [spdlog](https://github.com/gabime/spdlog)\n* [Dear ImGui](https://github.com/ocornut/imgui)\n* [Assimp](https://github.com/assimp/assimp)\n* C++ 17 Compiler\n\n### Platforms\n\n* Win\n* Linux\n\n### Build instructions\n\n#### Win\n\nFirst, [install](https://docs.conan.io/en/latest/installation.html) the Conan package manager locally.\n\nAs this project relies on multiple 3rd-Party Libs, I created a `conanfile.txt` with all the requirements.\n\n```txt\n[requires]\nglfw/3.3.5\nglew/2.2.0\nglm/0.9.9.8\nspdlog/1.9.2\nimgui/1.86\nassimp/5.1.0\n\n[generators]\npremake\n```\n\nMy favor build configuration tool for Windows is Premake5. Premake5 can generate Makefiles and Visual Studio Solutions with a single description file for cross-platform projects.\nDownload [Premake5](https://premake.github.io/download) to your preferred location.\n\nComplete the installation of requirements for the project running:\n\n```bash\n$ conan install conanfile_win.txt -s build_type=Debug\n```\n\nor\n\n```bash\n$ conan install conanfile_win.txt -s build_type=Release\n```\n\nfollowed by:\n\n```bash\n$ premake5 vs2019\n```\n\n\n#### Linux\n\nFirst, [install](https://docs.conan.io/en/latest/installation.html) the Conan package manager locally.\n\nIf you are using GCC compiler \u003e= 5.1, Conan will set the `compiler.libcxx` to the old ABI for backwards compatibility. You can change this with the following commands:\n\n```bash\n$ conan profile new default --detect  # Generates default profile detecting GCC and sets old ABI\n$ conan profile update settings.compiler.libcxx=libstdc++11 default  # Sets libcxx to C++11 ABI\n```\n\nAs this project relies on multiple 3rd-Party Libs, I created a `conanfile.txt` with all the requirements.\n\n```txt\n[requires]\nglfw/3.3.5\nglew/2.2.0\nglm/0.9.9.8\nspdlog/1.9.2\nimgui/1.86\nassimp/5.1.0\n\n[generators]\ncmake\n```\n\nComplete the installation of requirements for the project running:\n\n```bash\n$ conan install conanfile.txt -s build_type=Debug --build missing\n```\n\nor\n\n```bash\n$ conan install conanfile.txt -s build_type=Release --build missing\n```\n\n**If the following error occurs: `ERROR: opengl/system: Error in package_info() method, line 80`, then `pkg-config` must be installed first.**\n\n```bash\n$ mkdir build\n$ cd build\n$ cmake ..\n$ make\n$ cd src/bin\n$ ./SgCity\n```\n\n## License\n\nSgCity is licensed under the GPL-2.0 License, see [LICENSE](https://github.com/stwe/SgCity/blob/main/LICENSE) for more information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstwe%2Fsgcity","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstwe%2Fsgcity","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstwe%2Fsgcity/lists"}