{"id":20264119,"url":"https://github.com/ryangrieb/openciv","last_synced_at":"2025-09-20T10:32:51.612Z","repository":{"id":37596168,"uuid":"270518793","full_name":"RyanGrieb/OpenCiv","owner":"RyanGrieb","description":"An open source civilization-like game made for the web browser.","archived":false,"fork":false,"pushed_at":"2024-07-13T04:56:42.000Z","size":87781,"stargazers_count":130,"open_issues_count":6,"forks_count":17,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-01-05T19:08:08.695Z","etag":null,"topics":["4x","4x-strategy-game","civ","civilization","civilization-5","civilization-games","civilization-v","game","indiegame","itch","multiplayer","openciv","opensource-game","rougelike","strategy-game","typescript-game"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/RyanGrieb.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}},"created_at":"2020-06-08T03:48:30.000Z","updated_at":"2025-01-02T07:01:34.000Z","dependencies_parsed_at":"2024-11-14T11:49:23.807Z","dependency_job_id":null,"html_url":"https://github.com/RyanGrieb/OpenCiv","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RyanGrieb%2FOpenCiv","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RyanGrieb%2FOpenCiv/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RyanGrieb%2FOpenCiv/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RyanGrieb%2FOpenCiv/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RyanGrieb","download_url":"https://codeload.github.com/RyanGrieb/OpenCiv/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":233655320,"owners_count":18709258,"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":["4x","4x-strategy-game","civ","civilization","civilization-5","civilization-games","civilization-v","game","indiegame","itch","multiplayer","openciv","opensource-game","rougelike","strategy-game","typescript-game"],"created_at":"2024-11-14T11:37:55.504Z","updated_at":"2025-09-20T10:32:51.592Z","avatar_url":"https://github.com/RyanGrieb.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OpenCiv ![tile_city](https://github.com/rhin123/OpenCiv/blob/master/client/assets/archive/tile_city.png?raw=true)\n\n\n![example workflow](https://github.com/rhin123/OpenCiv/actions/workflows/build.yml/badge.svg)\n[![Lines of Code](https://sonarcloud.io/api/project_badges/measure?project=RyanGrieb_OpenCiv\u0026metric=ncloc)](https://sonarcloud.io/summary/new_code?id=RyanGrieb_OpenCiv)\n[![Discord](https://img.shields.io/discord/925176383792087081.svg?logo=discord\u0026logoColor=white\u0026logoWidth=20\u0026labelColor=7289DA\u0026label=Discord\u0026color=17cf48)](https://discord.gg/WFteeen5fu)\n\n![alt text](https://github.com/rhin123/OpenCiv/blob/master/meta/screenshots/new_ui_2.png?raw=true)\n\n## About\n\nOpenCiv is a love letter to turn-based strategy games inspired by Sid Meier's Civilization. The game mainly focuses on Civ 5 features and strives to improve on certain aspects that were lacking in the series.\n\nThe main objective of this project is to allow players who enjoy Civilization games to play it **directly on a web browser.**\n\n## How do I build and run this?\n\n1. Install either '[Docker](https://www.docker.com/)' or '[Node.js](https://nodejs.org/) with npm installed'.\n\n2. Clone the repo at:\nhttps://github.com/RyanGrieb/OpenCiv.git\n\n    #### 3. Using docker\n    Ensure Docker is installed, then run:\n    `docker compose up -d`\n\n    #### 4. Using your local machine\n    Install dependencies and start the application:\n    `npm run install-all`\n    `npm start`\n\nOnce running, open your browser and go to http://localhost:1234 to play.\n\n## How do I play this?\n\nCurrently, the project is being rewritten so no playable version is available without building the project.\n\n## How do I run tests?\n1. From the root directory of the repository, run\n`npm run install-all`\n2. Navigate to the server directory\n`cd server`\n3. Execute the test command\n`npm run test`\n\n\n## Keybinds\n\n`ARROW KEYS` or `LEFT-CLICK DRAG` - Camera Movement\n\n`SCROLL` - Zoom In/Out\n\n`LEFT-CLICK` Unit `RIGHT-CLICK` Tile - Unit Movement\n\n`SPACEBAR` - Skip turns\n\n`ESC` - View settings\n\n## Special thanks to the following:\n\nContributors -\n[Will Pewitt](https://github.com/willpewitt)\n\nArtists -\n[lucasyoung988](https://www.fiverr.com/lucasyoung988?source=order_page_summary_seller_link)\n[brysia](https://www.fiverr.com/brysia?source=order_page_summary_seller_link)\n[pratamacam](https://www.fiverr.com/pratamacam?source=order_page_summary_seller_link)\n[CharlesGabriel](https://opengameart.org/content/10-basic-message-boxes)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fryangrieb%2Fopenciv","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fryangrieb%2Fopenciv","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fryangrieb%2Fopenciv/lists"}