{"id":26295547,"url":"https://github.com/tionsoftlab/escapehere","last_synced_at":"2025-07-22T20:02:49.014Z","repository":{"id":282463695,"uuid":"948636008","full_name":"tionsoftlab/EscapeHere","owner":"tionsoftlab","description":"Python 기반 3D 멀티 총 게임","archived":true,"fork":false,"pushed_at":"2025-03-15T07:47:06.000Z","size":9192,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-22T20:02:06.034Z","etag":null,"topics":["3d-multiplayer-game","eco","python","python-game","ursina"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":false,"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/tionsoftlab.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":"2025-03-14T17:24:01.000Z","updated_at":"2025-03-15T07:47:37.000Z","dependencies_parsed_at":null,"dependency_job_id":"25490d8a-a712-48d7-af60-210f15a841dd","html_url":"https://github.com/tionsoftlab/EscapeHere","commit_stats":null,"previous_names":["tionsoftlab/escapehere"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/tionsoftlab/EscapeHere","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tionsoftlab%2FEscapeHere","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tionsoftlab%2FEscapeHere/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tionsoftlab%2FEscapeHere/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tionsoftlab%2FEscapeHere/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tionsoftlab","download_url":"https://codeload.github.com/tionsoftlab/EscapeHere/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tionsoftlab%2FEscapeHere/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266563915,"owners_count":23948689,"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","status":"online","status_checked_at":"2025-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"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-multiplayer-game","eco","python","python-game","ursina"],"created_at":"2025-03-15T04:14:22.345Z","updated_at":"2025-07-22T20:02:49.004Z","avatar_url":"https://github.com/tionsoftlab.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🏃🏻‍♂️‍➡️ Escape Here\r\n\r\nPython 기반 3D 멀티 총 게임\r\n\r\n## 프로젝트 소개\r\n\r\n## 데모\r\n\r\n\u003cp align=\"center\"\u003e\r\n    \u003ca href=\"https://www.youtube.com/watch?v=SuQizGALstA\"\u003e\u003cimg src=\"docs/0.jpg\" alt=\"Demo\" width=\"70%\"\u003e\u003c/a\u003e\r\n\u003c/p\u003e\r\n\r\n\u003cp align=\"center\"\u003e\r\n    위를 클릭하면 유튜브 데모 영상을 시청하실 수 있습니다.\r\n\u003c/p\u003e\r\n\r\n\u003cp align=\"center\"\u003e\r\n    \u003cimg src=\"docs/demo.webp\" width=\"100%\" alt=\"Demo Pic\"/\u003e\r\n\u003c/p\u003e\r\n\r\n## 개발 배경\r\n\r\n지구온난화가 점점 심각해지고 있다는 것에 경각심을 일깨우기 위하여 게임에서 자연보호와 관련된 내용을 다뤄 자연 보호를 유도하고자 개발하게 되었습니다.\r\n그리고 Python을 사용하여 과연 이러한 3D 멀티 게임을 어디까지 구현할 수 있을지 의문이 들어 개발을 하게 되었습니다.\r\n\r\n## 스토리\r\n\r\n\u003e 점점 심해지는 지구 온난화로 인해 뜨거워지는 지구를 살리기 위해 4명의 연구원들은 온실가스를 대량 흡입하는 슈퍼 식물을 연구하여 이 문제를 대처하려 하였다. 연구원들은 혹시 모를 변수로 인한 인명 피해가 예상되어, 우주 연구실로 가게 된다. 예상하였듯이, 우주에서 변수가 발생하게 되었고 이로 인하여 슈퍼 식물은 성장을 멈추지 않고 다른 생물체에게 공격성을 띄게 된다. 이로 인해, 연구원들은 지구로 빠른 복귀를 하려 하였으나, 귀환 장치가 고장난 상태였다. 이런 상황을 대비하여 비상 탈출 장치가 제작되어 있었으나, 장치의 개수는 단 하나. 결국 연구원들은 지구로 돌아갈 수 있는 마지막 희망인 비상 탈출 장치를 사용하기 위해 원치 않았던 내부 분열이 일어나게 되는데...\r\n\r\n## 개발 목표\r\n\r\n1.  Python으로만 3D 멀티 게임을 제작\r\n\r\n흔히 Python 게임을 제작할땐 pygame 라이브러리를 사용하여\r\n게임을 제작하기 때문에 3D와 같은 부분은 2D를 3D처럼 보이게 하는\r\nFake 3D로 구현해야만 했습니다. 하지만 EscapeHere은 파이썬 게임엔진 중 하나인 Ursina를 사용하여\r\n3D를 구현하였으며 Socket을 사용하여 서버와 통신하게끔 개발하여 멀티를 지원하도록 개발하였습니다.\r\n\r\n2.  자연 보호 유도\r\n\r\n게임의 스토리와 게임 내 작업 컨탠츠에서 자연과 연계된 내용을 포함하여\r\n자연보호를 유도하게끔 설계하였습니다.\r\n\r\n3. 흥미로움과 신기함 추구\r\n\r\n\u003e 이 레포지토리에서 다루지 않습니다. 유의사항 참고\r\n\r\n자연 보호 유도 효과를 극대화하기 위해선 게임에 대한 흥미로움이나 신기한 요소가 필요하다고 생각하게되어,\r\n키보드와 마우스가 필요하지 않는 손 인식 모드를 개발하여 기존에는 해보지 못하였던 방식으로\r\n게임을 플레이하여 흥미로움을 이끌 수 있도록 개발하였습니다.\r\n\r\n## 주요 기능\r\n\r\n1. 멀티 플레이\r\n\r\n멀티 플레이는 크게 2가지의 종류로 자신이 서버를 열거나 다른 사람이 연 서버에\r\n접속하여 플레이 하게 됩니다. 멀티로 접속하였을때엔 먼저 작업을 모두 완수하여 탈출한 사람이 승자가 되게 되며, 이를 방지하기 위해 마우스 클릭으로 총을\r\n발사하여 방해할 수 있습니다.\r\n\r\n2. 솔로 플레이\r\n\r\n\u003e 이 레포지토리에서 다루지 않습니다. 유의사항 참고\r\n\r\n일반적인 게임 플레이 방식으로 작업 컨텐츠 내부에 자연과 연계되있는 내용들을 추가하여 자연보호를 유도하게끔 되어있습니다.\r\n\r\n3. 손인식 플레이\r\n\r\n\u003e 이 레포지토리에서 다루지 않습니다. 유의사항 참고\r\n\r\n특색있는 게임 플레이 방식으로 키보드나 마우스를 만지지 않고 허공에 손을 들어, 화면에 공을 움직여 게임 속 아바타가 그에 따라서 움직이게끔 하는 방식입니다. 다른 플레이 방식과는 다르게, 키 입력에 제한이 어느정도 있다는 점으로 인하여 추가적인 작업 컨탠츠는불가능하며 대신 작업을 할 수 있는 곳에 근접해 있을시 자동으로 완료처리가 됩니다.\r\n\r\n## 개발 기획서 및 프로젝트 설명서\r\n\r\n[개발 기획서](https://tionlabs.notion.site/escape-here)\r\n\r\n[프로젝트 설명서](https://github.com/tionsoftlab/EscapeHere/blob/main/docs/EscapeHere%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8%20%EC%84%A4%EB%AA%85%EC%84%9C.pdf)\r\n\r\n## 유의 사항\r\n\r\n해당 레포지토리에 공개되어져 있는 소스코드는 정식 프로젝트의 내용만 담겨져있습니다. 추가적으로 진행한 메인화면 UI 개선, 유저 서버 개설 편리화, 컨트롤러 없는 제스처 컨트롤 구현 등의 기능은 현재 이 소스코드로는 사용하실 수 없으며 추가적으로 개발되었던 소스코드는 현재 원본이 삭제되어 컨트롤러 없는 제스처 컨트롤의 극 초기 테스트 단계의 코드만 복구가 되고 나머지는 복구가 어려워 업로드하지 못한 점 양해 부탁드립니다.\r\n\r\n## 기여자\r\n\r\n타티온(@tionlab)\r\n\r\n민**, 선\\***(@H4SE0N), 김\\*\\*\r\n\r\n## Special Thanks\r\n\r\n1. [MysteryCoder456](https://github.com/MysteryCoder456/UrsinaFPS) - Ursina FPS System and Server-User Socket System\r\n2. [Richard Whitelock](https://distantlantern.itch.io) - Amazing Looking Skybox\r\n3. [Jestan](https://jestan.itch.io) - Tile Textures\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftionsoftlab%2Fescapehere","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftionsoftlab%2Fescapehere","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftionsoftlab%2Fescapehere/lists"}