🐒 Шимпанзе: побег из зоопарка
Пиксельная изометрическая игра в браузере. Ты — шимпанзе в огромном вольере с ярусами: прокачивайся, перехитри смотрителя и сбеги на волю.
▶ Играть: https://zholudmaxim91.github.io/chimp-zoo-escape/
(первая, простая версия осталась здесь: https://zholudmaxim91.github.io/chimp-zoo-escape/v1/)
Управление
| Клавиша / мышь | Действие |
|---|
W A S D | идти (Shift — бег, C — красться) |
Пробел | прыжок: так забираешься по ярусам |
E | действие с тем, что рядом · R — съесть банан |
| Мышь | прицел, ЛКМ — применить выбранный инструмент |
ПКМ / Q | громкий крик (зовёт публику, раздражает смотрителя) |
1–7 / колесо | выбор инструмента |
T | газовая атака (копится от ягод и орехов) |
H | обезьяний бунт (банда 3+ и звание «Задира», раз в день) |
Z | свисток (если стащил его у смотрителя) |
X / V / B | перекат / писать / построить шалаш |
Инструменты
- 💩 бросок · 2. 🍌 банан (приманка для зверей, подножка смотрителю) · 3. 🪨 камень (гонг, попугаи)
- 🥢 палка (термитники, клады, шкафчик в сторожке) · 5. 🪢 лиана (на уступы выше; нужна Ловкость 2) · 6. 💦 вода (набирается у пруда)
Что в игре
- Мир 40×40 клеток с ярусами до 5 уровней: гора со склоном и обрывами, домик на вершине, мостки на сваях, пруд, лес, песочница, сцена, сторожка.
- Животные: друзья-шимпанзе (дружба за бананы, «подсадка»), горилла (отнимает бананы, её можно отвлечь), черепахи-батуты, попугаи.
- Смотритель с полем зрения: можно красться, отвлекать гонгом, ронять бананом. Ключ — украсть, взломать шкафчик или получить после подножки.
- Инструменты, раскопки, сундуки, наковальня для орехов, барабаны, ящик-головоломка, сцена с публикой.
- 12 заданий, 15 достижений, обучение (6 шагов).
- Каждый мир строится из сида: одинаковый сид — одинаковый мир.
Механики
- 20 дней на побег, сутки = 6 минут: день 3,8 мин, ночь 1,2 мин, рассвет и закат по 30 с с плавной сменой света. Ночью посетители уходят, смотритель спит в сторожке (шум его будит), днём он дважды приносит еду и выводит нарушителей.
- Характеристики: сила — дальность и скорость бросков, ловкость — бег и прыжки, интеллект — скорость сбора и сложных дел, обаяние — смотритель и горилла злятся на тебя меньше.
- Грязь: попадания говном (3/5/6) и помёт попугаев (3/5/7) замедляют на 5/10/15%. Отмыться — постоять в пруду.
- Физиология: пей из пруда и фонтанчиков → наполняется пузырь, клавиша V (держать) — писать (в том числе на посетителей и других). Три банана подряд — понос: минуту без бананов, за тобой коричневый след. Испорченный банан — понос или (50/50) приступ рвоты: 6 секунд толчками, струя бьёт на 2–3 метра туда, куда смотрит прицел, — остановить нельзя, но можно навести на публику (+12, зрители разбегаются) или на смотрителя (он придёт разбираться). Соседям-шимпанзе тоже иногда попадаются гнилые бананы.
- Кокосы: расколи камнем на наковальне — 45 с быстрого бега, высоких прыжков и быстрых бросков.
- Мега-💩 (инструмент 7): 3 заряда в один снаряд, обрызгивает всех в радиусе.
- Истошный крик (клавиша Q) пугает посетителей и обезьян и зовёт смотрителя; клич (ПКМ) радует публику.
- Звания хулигана (Шалун → Хулиган → Задира → Бандит → Гроза зоопарка) и рейтинг обезьян. Звание = сколько обезьян можно держать в банде (до 5): бандиты повторяют твои броски, носят тебе бананы, их лояльность падает — подкармливай.
- Обитатели: 7 шимпанзе со своим распорядком (завтрак, игры, груминг, сон), горилла, стая мартышек (ворует еду), черепахи, попугаи.
- Посетители с характером: трусы, задиры (кидаются огрызками), смельчаки — иногда перелезают в вольер, их надо выгнать говном раньше смотрителя.
- Строительство и предметы: толкай ящики, бочки, валуны (баррикады), строй шалаш (клавиша B, 3 палки + 2 камня — внутри смотритель тебя не видит), хлещи лианой (она рвётся), раскручивай и кидай шину, валяйся в грязи (маскировка), отдыхай в гамаке.
- Журнал событий справа внизу.
- Гигантские деревья с лианами: подпрыгни у лианы — схватишься, WASD — раскачка, Пробел — прыжок в любую сторону, рядом с другой лианой в полёте перехватишься сам. Сверху можно писать и бросать — попадания с высоты дают вдвое больше очков хулигана.
- Перекат — клавиша X. Масштаб — Ctrl + колесо. Обезьяна смотрит туда же, куда прицел, камера смещается в ту сторону.
Шалости
- 🐍 Питон. Ползает по вольеру, проголодавшись — охотится на стаю мартышек и может проглотить одну (стая пополняется через пару дней). Сытый питон сонный — хватай за хвост (E). Бодрого можно схватить только сзади; сунешься к морде — обовьёт, жми Пробел, чтобы вырваться. С питоном в руках: держи ЛКМ — раскручиваешь над головой, отпускаешь — летит. Смотритель в ужасе 5 секунд, горилла визжит, смельчаки убегают из вольера, а питон, заброшенный за ограду, разгоняет толпу.
- 💨 Газовая атака (T). Ягоды и орехи копят газ; зелёное облако разгоняет публику у ограды, а смотритель в нём расчихается и потеряет тебя из виду.
- 🔥 Обезьяний бунт (H). Нужна банда из 3+ обезьян и звание «Задира». 20 секунд все шимпанзе орут и закидывают зрителей, смотритель бегает кругами. Потом он злее и быстрее.
- 🌙 Набег на сторожку. Ночью подкрадись к спящему смотрителю (лучше пригнувшись): стащи фуражку (в ней он издали принимает тебя за своего), свисток (Z — он бежит на звук), нарисуй усы (публика хохочет весь следующий день) или подмени обед — днём он на минуту умчится в туалет.
- 🚿 Шланг у сторожки. Держи ЛКМ — струя: сбивает шляпы с посетителей и фуражку со смотрителя, отмывает обезьян, а мокрая трава становится катком — смотритель и горилла на ней поскальзываются.
- Броски с лианы и в полёте после прыжка с неё засчитываются как «с высоты» — вдвое больше очков хулигана.
Сетевая игра
- В меню войди в профиль (имя и пароль хранятся только на твоём устройстве).
- Один игрок нажимает «Создать сессию по сиду» — он хост. Остальные вводят тот же сид и жмут «Войти в сессию».
- До 6 игроков в одном мире: общие животные, смотритель, зрители, ключ и ворота. Побег — у каждого свой.
- Дуэль говном: подойди к игроку, нажми E; соперник принимает клавишей Y. До 5 попаданий, победитель +60 очков.
Связь идёт напрямую между браузерами (WebRTC). Хост должен оставаться в игре. В некоторых сетях прямое соединение может не установиться.
Запуск у себя
Скачай репозиторий и открой index.html двойным кликом.
Технологии
HTML + JavaScript + three.js (3D). Мир, растения, постройки и персонажи — низкополигональные 3D-модели, собранные кодом. Кадр рисуется в разрешении 480×270 с контурной обводкой и растягивается без сглаживания — получается пиксель-арт с настоящим светом, тенями, плавным рельефом и 16 направлениями поворота персонажей.
Папка js/: world.js — мир из сида, models.js — 3D-модели и анимации, render3d.js — отрисовка, entities.js — существа и ИИ, net.js — сеть, society.js — банда, распорядки, смельчаки, pranks.js — шалости (питон, газ, бунт, набег, шланг), game.js — игра и интерфейс. Старая 2D-отрисовка лежит в js/legacy2d/.
Звуки (титры)
Записи из Wikimedia Commons, папка sounds/:
| Файл | Что это | Автор | Лицензия |
|---|
| chimp_panthoot.ogg | клич шимпанзе (pant-hoot) | Pawel Fedurek et al. | CC BY 4.0 |
| chimp_alarm1–3.oga | тревожные крики шимпанзе | Schel A. et al. (PLOS ONE, 2013) | CC BY 2.5 |
| bonobo1–2.ogg | крики бонобо (мартышки, горилла — с понижением тона) | Clay Z., Zuberbühler K. (PLOS ONE, 2011) | CC BY 2.5 |
| macaw.mp3 | крик ары (попугаи) | Oliver Komar (xeno-canto XC519607) | CC BY-SA 4.0 |
| gong.ogg | гонг | PDSounds | CC0 |
Шаги, шлепки, брызги, свист смотрителя и барабан синтезируются в игре.