{"id":14964104,"url":"https://github.com/nexterot/labyrinth-project","last_synced_at":"2025-09-30T19:31:11.935Z","repository":{"id":97698602,"uuid":"84598987","full_name":"nexterot/labyrinth-project","owner":"nexterot","description":"Online multiplayer crossplatform realization of the old board Labyrinth game (now website is down)","archived":false,"fork":false,"pushed_at":"2020-03-05T08:43:00.000Z","size":42186,"stargazers_count":8,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-07T05:13:53.963Z","etag":null,"topics":["board-game","game","js","multiplayer","online","phaserjs","python","python-course","technopark"],"latest_commit_sha":null,"homepage":"","language":"HTML","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/nexterot.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,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-03-10T20:39:54.000Z","updated_at":"2023-12-26T05:44:50.000Z","dependencies_parsed_at":"2023-06-02T19:30:36.621Z","dependency_job_id":null,"html_url":"https://github.com/nexterot/labyrinth-project","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/nexterot/labyrinth-project","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nexterot%2Flabyrinth-project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nexterot%2Flabyrinth-project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nexterot%2Flabyrinth-project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nexterot%2Flabyrinth-project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nexterot","download_url":"https://codeload.github.com/nexterot/labyrinth-project/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nexterot%2Flabyrinth-project/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":277746958,"owners_count":25870057,"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-09-30T02:00:09.208Z","response_time":75,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","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":["board-game","game","js","multiplayer","online","phaserjs","python","python-course","technopark"],"created_at":"2024-09-24T13:32:34.928Z","updated_at":"2025-09-30T19:31:06.918Z","avatar_url":"https://github.com/nexterot.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Labyrinth 1.0 \nМногопользовательская кроссплатформенная онлайн-игра по мотивам одноименной настольной игры.\n\nПроектная работа открытого курса Python в Технопарке Mail.ru.\n\n# Состав нашей команды:\n\n- Масягин Михаил - [@masyagin1998](https://github.com/masyagin1998)\u003cbr\u003e\n- Барлука Александр - [@Nexterot](https://github.com/Nexterot)\u003cbr\u003e\n- Алесин Александр - [@sashaalesin](https://github.com/sashaalesin)\u003cbr\u003e\n\n# Описание\n\n- Идея игры \"Лабиринт\" зародилась в Советском Союзе в начале 70-х годов XX века. \"Бумажная стратегия\" пришлась по душе огромному числу школьников, студентов и даже взрослых. В неё играли по всей стране! И сегодня интерес к игре не убывает (разработчики \"подсадили\" на бумажную войнушку не один десяток человек :D). Наша команда хочет рассказать как можно большему количеству человек о \"Лабиринте\", именно по этому мы решили превратить его из настольной игры в онлайн стратегию!\n\n# Словарик\n\n-  \"Карта\" - поле 14 x 10 клеток. Изначально видна только та клетка, на которой расположен ваш герой (остальные покрыты \"Туманом\"). После перехода на новую клетку, туман с неё исчезает, карта обрастает новыми подробностями. Всё игровое поле окружено неразрушимой стеной, в которой есть несколько выходов на свободу. Воспользоваться ими можно только в том случае, когда у вас ненулевое здоровье, а в рюкзаке лежит заветный клад ;)\n-  \"Дорога\" - любая клетка, на которую можно наступить.\n-  \"Стена\" - клетка, при попытке хода на которую, вы остаётесь на месте.\n-  \"Река\" - специальная зона на карте, помеченная синим цветом со стрелочкой. Если игок попадает в конец реки, её устье, то ничего не происходит, если на какую-либо другую занятую ей клетку, то он моментально оказывается в устье.\n-  \"Кротовая нора\" - клетка, при попадании на которую вы в одно мнгновение оказываетесь на другой клетке-норе, связанной с данной. Все клетки-норы пронумерованы. Например, если на карте есть две норы с номером 1 и две норы с номером 2, то из 1-ого типа можно перейти только в 1-ый, а из 2-го только во 2-ой.\n-  \"Арсенал\" - клетка, при попадании на которую, у вас в рюкзаке появляется какая-либо полезная вещь: пистолет, мина, жучок или материал для постройки стены.\n-  \"Больница\" - клетка, при попадании на которую при нулевом здоровье, ваше здоровье становится 100-процентным, а при ненулевом - вы получаете аптечку :)\n-  \"Клад\" - именно этот небольшой сундук является причиной нескончаемых войн в мире Лабиринта!\n-  \"Мина\" - ну а что тут говорить? Мина она и в Африке мина: наступил... Бах!!! И нет тебя. Здоровье упало до нуля, все вещи из рюкзака выпали на радость противникам... Топай в больницу :(\n-  \"Бомба\" - позволяет разрушить любую стену в игре (кроме внешней, конечно же).\n-  \"Бетон\" - позволяет создать искусственную стену.\n\n\n# Правила игры\n\n- От 2-x до 5 игроков произвольно размещаются на карте. Все делают ходы по очереди. За один ход можно либо пойти в одном из 4 направлений, либо совершить одно из возможных действий: установить или деактивировать бомбу, взорвать или создать стену, выстрелить из пистолета или поставить жучок. Задача игроков: как можно быстрее найти клад и вынести его за пределы карты. Если игрока убивают, то он теряет все вещи из рюкзака и становится неактивным до тех пор, пока не дойдёт до больницы.\n\n# Инструменты:\n\nВсе вычисления - на стороне сервера, js используется только для отрисовки.\n\n- Front-end: веб-интерфейс JS + Phaser\n\n- Game server: игровой сервер Python3 + Websockets\n\n- Http server: основной сервер Python aiohttp + jinja2\n\n- База данных sqlite3\n\n# ToDo:\n\nВ дальнейшем мы хотим добавить в игру следующие возможности:\n\n- Защита сервера и перенос его части на django + nginx\n- \"Медведь\" - жестокий убийца, настоящий монстр! Абсолютно неуязвим ко всем видам оружия! :D Основная сила моба заключается в том, что он ходит гораздо чаще обычных игроков. Так, если в битве участвуют 4 человека, то на их полный цикл ходов медведь сходит не один, а четыре раза. Каждый раз медведь идёт в направлении, противоположном направлению хода одного из игроков.\n- \"Жучок\" - хотите почувствовать себя агентом спецслужб? Да? Тогда жучок точно создан для вас! :D Просто расположите его на произвольной клетке и ждите. Как только на жучка наступит ваш противник, вы будете знать обо всех его перемещениях даже если он зайдёт в неизвестную вам область карты!\n- \"Пистолет\" - основное оружие игры. Пуля из него летит до первой стены. Если в вас попали 9 грамм свинца - готовьтесь распрощаться с 1/3 вашего здоровья...\n\n\n# Скриншоты\n\n\u003e ![screenshot1](screenshots/Screenshot_1.gif)\n\n\u003e ![screenshot2](screenshots/Screenshot_2.gif)\n\n\u003e ![screenshot3](screenshots/Screenshot_3.gif)\n\n\u003e ![screenshot4](screenshots/Screenshot_4.gif)\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnexterot%2Flabyrinth-project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnexterot%2Flabyrinth-project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnexterot%2Flabyrinth-project/lists"}