https://watabou.itch.io/myst
Пока там доступна только версия под Mac OS, версии для Windows и Android (не думаю, что кому-то надо, но мало ли?) выложу чуть позже сегодня. HTML версия тоже будет, но в ней есть по крайней мере один серьезный глюк, на который придется потратить какое-то время.
Художественное описание:
Немного коряво, но сеттинг, я думаю, понятен. Игра никак не связана со старой adventure игрой, но может быть как-то вдохновлена одноименной повестью Кинга.Волшебный туман покрыл лес и все кто пробовал шагнуть в него - сгинули. Ваш (волшебный?) факел может развеять туман на время, но это не значит, что вы в безопасности: из леса выходят духи тумана и с ними надо сразиться, чтобы добраться до короля духов, убить его и снять проклятие.
Как играть
- Ваша цель - пройти 2 уровня игры (должно было быть 3, но не хватило времени). Уровень пройден после того, как убит босс уровня, но босс не спаунится пока вы не соберете 5 серебристых рун. Поэтому вам надо сначала найти эти руны. Периодически из тумана появляются мобы (духи), они сами не нападают, но пытаются вас преследовать и иногда зажимают в тупике и тогда приходится с ними драться.
- Бой устроен очень просто: моб может быть в одном их 3х состояний (нормальное, сильное и слабое) и это состояние определяет исход атаки. При атаке нормального моба здоровье и моба, и героя уменьшается на 1. При атаке слабого моба его здоровье уменьшается на 2, а герой повреждений не получает. При атаке сильного моба наоборот 2 единицы урона наносятся герою. Состояние моба меняется на каждом шаге героя и после атаки этого моба. На практике это означает, что правильный бой выглядит как чередование атак и перемещений. Боссы отличаются от обычных мобов только бОльшим пулом здоровья.
- В качестве довольно жесткого hunger clock выступает э... уровень факела (желтый индикатор в верхней части экрана). На каждом шаге (но не при атаке! это важно) уровень факела уменьшается на единицу. Как только этот уровень опускается до нуля, игра закончена. Естественно, это произойдет и в случае если уровень здоровья (красный индикатор) упадет до нуля. Чтобы восстановить здоровье и факел надо собирать соответственно розовые и золотистые руны.
- Главная особенность игры заключается в том, что карта за пределами области видимости не является персистентной, по сути леса в тумане вообще нет, он создается заново как только попадает в поле зрения героя. Это накладывает очень сильный отпечаток на то, как происходит перемещение по карте. Если вы видите руну, которая вам нужна, но прямого пути к ней нет, можно пытаться делать шаг назад и шаг вперед в надежде что проход в лабиринте откроется. В то же время нельзя позволять руне скрыться в тумане, потому что вы не сможете к ней вернуться, ее уже там не будет.
Игра написана на Haxe и OpenFL. Отсюда и кросс-платформенность, и глючность. Для генерации такого специфического лабиринта я портировал WaveFunctionCollapse на Haxe, по дороге разбираясь как это работает. Вообще это немного стрельба из пушки по воробьям, лабиринт можно было реализовать и более прямолинейно, но в начале я хотел иметь возможность строить разные типы уровней на основе сэмплов. Потом оказалось, что всякие "пещеры" и "комнаты" слишком просторны для этой игры.
Запланированные доработки
Как обычно, я пометил игру как Success, но остался недоволен ее текущим уровнем законченности Вот что я собираюсь доделать:
- Добавить еще один уровень, возможно что-то темное со светящимися деревьями и, конечно, более сильными мобами (забыл упомянуть, что мобы 2го уровня сильнее, чем 1го).
- На втором и третьем уровне дать герою особенности атаки, чтобы компенсировать более сильных мобов. Например, при атаке слабого моба наносить единицу урона также и мобу прямо за ним - что-то в таком духе.
- Не знаю нужно ли это сейчас, но изначально я думал реализовать 2 специальных действия -"сжечь лес" (уничтожить клетку стены, чтобы уйти от моба или добраться до руны ценой потери половины уровня факела) и "войти в туман" (перегенерировать лес вокруг ценой потери половины уровня здоровья).
- Добавить красоты и удобства - анимацию ходьбы, нормальную анимацию атаки, нормальную заставку, окно настроек для звука и полноэкранного режима и т.п.