Запись перенесена в %ApplicationData%\Shady Caverns\Version\
Добавлена возможность запускать игру с параметром, означающем сдвиг в пикселях для контекста отображения, для починки проблем на Радеонах.
ShadyCaverns.exe 10
Добавлена возможность запускать игру с параметром, означающем наличие слабого компьютера, при котором перерисовка форсируется после каждого обновления.
ShadyCaverns.exe 0 s
На карте можно вернуться к персонажу, нажав HOME.
Переработано меню, теперь оно поддерживает любое количество вложенностей и разветвлённостей.
Переработана система перемещения по экранам игры.
Из-за отличного формата, старые сейвы не работают.
Добавлен пункт меню "Загрузить". Можно загружать ранее сохранённую игру из меню.
Есть непрозрачный дым. Будет использован в дальнейшем для дымзаградов.
Звуки теперь позиционируются в пространстве.
Можно делать скриншоты, нажимая PrintScreen. Скриншрты записываются в %ApplicationData%\Shady Caverns\Version\ScreenShots\
Игра теперь перенесена на VCL и более дружелюбна к потере фокуса и сворачиванию. При потере фокуса, игра
автоматически становится на паузу.
Переработана механика для возможности отложенных действий. Например, при взрыве ящика с патронами, пули разлетаются не залпом, а очередью.
Изменена модель генерации уровней. Все пустоты соеденены в единый пещерный комплекс.
Теперь персонаж появляется в случайном месте (раньше он появлялся у крайней левой стенки ограничивающей комнату). Портал появляется на наибольшем удалении, как и раньше, но теперь это может быть "в любую сторону".
В связи с увеличением зоны видимости, увеличена зона безопасности.
Предметы не появляются рядом с персонажем так, что при старте он автоматически хватает несколько из них.
Дроны не пикают через стены.
* * *
Релиз версии 0.1.1
Для приведения игрового пространства к изотропности, размеры символов изменены с 10х14 до 12х12.
Теперь все действия имеют одинаковый масштаб как по вертикали, так и по горизонтали.
Размеры экрана игры изменены с 80х25 символов, до 80х50.
Размеры игрового экрана увеличины с 45х25 до 49х49.
В хелпе можно использовать клавиши PageUp и PageDown для быстрой прокрутки.
Полностью переписана баллистика пуль. Исправлены фундаментальные проблемы с точностью прицеливания.
Полностью переписан алгоритм взрывов и распределение повреждений (зависимость квадратичная от точки взрыва).
Линейка вооружения сдвинута на одно оружие, теперь есть рукопашное. 1-Нож, 2-Пистолет, 3-Дробовик, 4-Автомат, 5-Ракета.
Изменено количество патронов в ящиках. На данный момент 2=10, 3=6, 4=30, 5=2.
Теперь пистолет требует патроны.
Увеличины шансы выпадения патронов и/или оружия с врагов.
Выстрелы из оружия имеют ограниченную дальность, в зависимости от типа оружия (Хотели тактики? :)).
Дистанция выстрела не фиксированная, и имеет некоторый диапазон.
Дистанция поражения из дробовика урезана. Разлёт картечи увеличен.
Смертники заменены на дронов, которые, приближаясь, издают пульсирующий звук (учащается с приближением).
Поправлена звуковая часть (громкость от дальности).
Взрывы разрушают стены. BedRock не разрушаем. Для улучшения вида последствий, пришлось прибегнуть к ухищрениям (пост-обработка места взрыва).
Если лежащие боеприпасы находятся достаточно близко к взрыву, то они взрываются. Пулевые стреляют во все стороны, ракеты взрываются.
Жизнь и броня выведены в верхнюю левую часть в виде полосок.
Эффект брони изменён. Если на персонаже есть броня, то 25% урона гасится в ноль. Остаток делится 60/40 между бронёй и жизнью.
Если у персонажа жизни <=25%, в ушах начиниает пульсировать кровь.
В игре есть запись (F5) и загрузка (F9). Всмысле полноценные QuickSave и QuickLoad. В любом месте игры можно записаться и в любой момент загрузиться. Можно поиграть, записаться, закрыть игру, потом открыть игру, запустить новую и загрузиться.(Функция прошла только базовое тестирование, имеет полное отсутствие защиты от дураков)
Добавлена карта уровня. Открывается по TAB. Внешний вид несколько... будет сюрпризом :) На карте не показываются враги.
* Свет. И тьма :)
*** Освещённость в игре. Источники света, источники темноты, зоны и уровни освещённости.
*** Засветка зрения при переходе из темноты на свет, потеря зрения при переходе из света во тьму.
*** Фонарики, фальшфэйеры, приборы ночного видения, стан-гранаты.
* Смена парадигмы вооружения. Введение нескольких типов одного класса (Пистолет, Пистолет-пулемёт, Пистолет с глушителем) Нежёсткая привязка оружия к боеприпасам (например штурмовая винтовка может стрелять своими патронами, а при наствольной насадке - гранатами)
* Наличие разных типов повреждений.
*** Огонь, осколки/пули, ударные волны, бронебойные пули, проникающие (ножи), отравляющие вещества и пр.
*** Наличие разных тип защит от разных типов повреждений.
* Наличие атмосферы.
*** Векторные поля движения воздушных масс
*** Дымы, газы и прочие взвеси. Комплексное поведение взвесей: распространение от места использования, рассеивание, оказание влияния на здоровье. Боевые отравляющие вещества, дымовые гранаты, боеприпасы объёмного взрыва.
* Полная смена парадигмы врагов. Уход от аркадного "четыре типа, 25 уровней сложности" к "25 типов с разным поведением". Текущая реализация практически не позволяет внедрить сколько-нибудь управляемую и интересную поведенческую модель.
* Звуки. Распространение звуков, реакция на них врагов.
* Смена парадигмы всенаправленного зрения на FOV. Повороты персонажа за мышкой. Обозначение направления взгляда. Реализация того же на врагах.
* Сюжетная составляющая, связывающая уровни и дающая более-менее конкретную цель.
Bugs:
v0.1.2 ГГ появляется рядом с няшками и автоматически их берет
v0.1.2 в карте жмешь ESC - выйдешь из игры
v0.1.2 дрон пикает даже сквозь стену
(DRON, хватит пикать через стену, люди беспокоятся :) )
v1.1 При стрельбе из пистолета иногда все выстрелы идут мимо на одну клетку.
v1.1 Если выстрелить из ракетницы в самую левую или самую верхнюю стену, находясь вплотную в ней, то ракета не взрывается.
v1.1 Появляемся после рестарта - видим дым от взрыва нас убившего
Features / пожелания:
* добавь куда-то на пару секунд вывод фразы "Игра загружена" и "Игра сохранена" после нажатия F9 и F5 соответственно.
* если зайти в игру, сразу нажать "Продолжить" в меню, то пусть загружает сохраненку v1.1 Разрушаемость стен
* Если патроны заканчиваются, то чтобы оно само переключалось на другое оружие или тот же пистолет
* Дымовые шашки v1.1 Сдвиг оружия на +1 и добавление рукопашного.
* Если к тебе подошли вплотную, то вместо стрельбы ты применяешь имеющееся у тебя холодное оружие
* Второй пистолет во вторую руку. У второго пистолета есть патроны.
* Смена оружия при поднятии более мощного. v1.1 Карта уровня.
* Более продвинутый AI.
---- чтобы враги могли прятаться
---- убегать,
---- окружать
---- уходить от friendly fire
---- звать соседей на помощь
* Наполненность уровня препятствиями и/или слепыми зонами. v1.1 Сохранение / загрузка
v1.1 дробовик не должен стрелять так далеко и так точно
* у ракетчика сделать хоть какую-то паузу. Типа дикого крика "АГА!!!" и уже потом стрельба v1.1 в коробке с патронами для автомата хотя б по 40-50 патронов
v1.1 броня должна смягчать удар, а не полностью поглощать его
* несколько видов брони v1.1 Другое распределение поглощение урона бронёй
* разрешить мобам с автоматом стрелять очередями
* разрешить камикадзе взрываться если он тебя заденет взрывной волной, а ты собираешься убежать от него
* двери, ловушки (наступил и сколько-то не можешь сойти с места)
* мины. Их заметно только если пройти рядом. Можешь сам ставить.
Первое - разбавить пустое игровое пространство чем-то, влияющим на перемещение и/или обнаружение. Например реку пещерную, темную область где никого не видно, менее проходимые участки, дым из откуда-то, двери, .... Чтобы можно было маневрировать и ориентироваться не только на стенки.
Второе - что-то сделать с AI. Когда все идут по одному на ГГ прямо в лоб, то все предсказуемо и скучно.
Например чтобы если обнаруживают ГГ, то тот, кто обнаружил, звал соседей в каком-то радиусе и приходилось бы отбиваться от группы. Или не звал, если ен был бы снят снайперской винтовкой.
Или чтобы враги могли прятаться, убегать, [s]просить прощения[/s], ... окружать, уходить от friendly fire, ... Сейчас уже цейтнот конкурса закончился, можно его как-то обдуманно собрать.
Думаю могла быть полезна карта в каком-либо виде. Для ASCII её сложно придумать конечно. Но держать в голове уровень даже существующего размера уже становится на пределе.
Баг:
Нас убивают возле старта. Убивают ракетой. Появляемся в новый раз - видим дым от взрыва.
Полагаю что портал рисуется в самой далекой точке от старта. По этому принципу исходя из небольшой области можно быстро определить направление передвижения к порталу и дойти.
Мои дети в восторге от этой игрушки :) самое удобное: никакого насилия, как ни странно это звучит. Мы стреляем в буковки.
Дошел до 10 уровня. Появилось несколько замечаний.
1) Самое главное: СОХРАНЕНИЕ и загрузка. А то опять проходить с начала...
2) дробовик не должен стрелять так далеко и так точно :)
3) у оружия сделать ограничение на дальность, чтобы не пулять через всю карту (у ракет, конечно, дальность максимальная)
4) у ракетчика сделать хоть какую-то паузу. Типа дикого крика "АГА!!!" и уже потом стрельба. А то идешь ты такой 50 здоровья, а за углом стоит тип с ракетой. Шансов у игрока ровно ноль.
5) уже говорили, но повторю: если я точно навел прицел на моба, то пули не должны лететь рядом :) где-то косячок с расчетом траектории
6) в коробке с патронами для автомата 10 патронов??? Издевательство. Хотя б по 40-50 в коробке. Они же тратятся только успевай заряжать.
7) броня должна смягчать удар, а не полностью поглощать его. Не поверю, что выстрел по бронику из автомата не покалечит и твое здоровье)) Например 90% урона гасит броня (от нее отнимается), 10% от здоровья.
в порядке бреда:
8) расширим пункт 7 как это сделали в кваке: три вида брони - зеленая, синяя, красная. Поглощают соответственно: 10%, 25%, 50% (поглощают полностью), остаток урона распределяется так: 50%, 75%, 90% урон броне, а значит 50%, 25%, 10% урон здоровью.
Пример: ты в синей броне, по тебе попали на 100 урона. Значит 25% урона поглощено броней, оставшиеся 75 идут - 56 урона броне, 19 урона здоровью.
Тот же урон на ты в красной броне: 45 урона броне, 5 урона здоровью.
Если красная броня сломана до 50% она учитывается в расчетах как синяя, если до 25%, то рассчитывается как зеленая. Сбитая до 0% броня считается сломанной полностью (то есть в расчетах не учитывается, подобранный shard (+5%) идет как зеленая).
9) разрешить мобам с автоматом стрелять очередями
10) разрешить камикадзе взрываться если он тебя заденет взрывной волной, а ты собираешься убежать от него
11) поддержу БСивко: хочу двери, ловушки (наступил и сколько-то не можешь сойти с места)
12) хочу мины. Их заметно только если пройти рядом. Можешь сам ставить мины.
Так. Стоп)) я разогнался. Щас загоняем автора - не рад будет, что связался.
Для приведения игрового пространства к изотропности, размеры символов изменены с 10х14 до 12х12.
Теперь все действия имеют одинаковый масштаб как по вертикали, так и по горизонтали.
Размеры экрана игры изменены с 80х25 символов, до 80х50.
Размеры игрового экрана увеличины с 45х25 до 49х49.
В хелпе можно использовать клавиши PageUp и PageDown для быстрой прокрутки.
Полностью переписана баллистика пуль. Исправлены фундаментальные проблемы с точностью прицеливания.
Полностью переписан алгоритм взрывов и распределение повреждений (зависимость квадратичная от точки взрыва).
Линейка вооружения сдвинута на одно оружие, теперь есть рукопашное. 1-Нож, 2-Пистолет, 3-Дробовик, 4-Автомат, 5-Ракета.
Изменено количество патронов в ящиках. На данный момент 2=10, 3=6, 4=30, 5=2.
Теперь пистолет требует патроны.
Увеличины шансы выпадения патронов и/или оружия с врагов.
Выстрелы из оружия имеют ограниченную дальность, в зависимости от типа оружия (Хотели тактики? :)).
Дистанция выстрела не фиксированная, и имеет некоторый диапазон.
Дистанция поражения из дробовика урезана. Разлёт картечи увеличен.
Смертники заменены на дронов, которые, приближаясь, издают пульсирующий звук (учащается с приближением).
Поправлена звуковая часть (громкость от дальности).
Взрывы разрушают стены. BedRock не разрушаем. Для улучшения вида последствий, пришлось прибегнуть к ухищрениям (пост-обработка места взрыва).
Если лежащие боеприпасы находятся достаточно близко к взрыву, то они взрываются. Пулевые стреляют во все стороны, ракеты взрываются.
Жизнь и броня выведены в верхнюю левую часть в виде полосок.
Эффект брони изменён. Если на персонаже есть броня, то 25% урона гасится в ноль. Остаток делится 60/40 между бронёй и жизнью.
Если у персонажа жизни <=25%, в ушах начиниает пульсировать кровь.
В игре есть запись (F5) и загрузка (F9). Всмысле полноценные QuickSave и QuickLoad. В любом месте игры можно записаться и в любой момент загрузиться. Можно поиграть, записаться, закрыть игру, потом открыть игру, запустить новую и загрузиться.(Функция прошла только базовое тестирование, имеет полное отсутствие защиты от дураков)
Добавлена карта уровня. Открывается по TAB. Внешний вид несколько... будет сюрпризом :) На карте не показываются враги.
Аррр! Дома проверю))
Ща 5 минут посидел чисто взглянуть - дроны опасны :) это хорошо.
Заметил баг - дрон пикает даже сквозь стену. То есть стою в комнате, нет никого, подхожу к прямой стене - пикает громче.
Хотели тактики?
Обожаем.
25% урона гасится в ноль. Остаток делится 60/40 между бронёй и жизнью
Отлично! А то я в версии 1.b ничего кроме брони не подбирал, а теперь и аптечки пригодятся.
Добавлена карта уровня
Действительно, необычно. Особенно масштаб))
Только одно большое НО: карта должна закрываться не только по TAB, но и по ESC (сейчас в карте жмешь ESC - выйдешь из игры)
Поддерживаю.
Отвязаться просто так не получится.
По меркам 90% здешних игр твоя не просто хороша, интересна и завершена, она уже с аддонами:)
Сделать за пару недель полноценную игру - подвиг, а продолжать ее после этого - подвиг вдвойне.
При наличии направления взгляда, персонаж будет поворачиваться вслед за мышкой. И тут встаёт вопрос - как интерпретировать клавиши управления. Есть два варианта:
1. Глобально - относительно мира. Независимо от того, куда смотрит персонаж, клавишами мы двигаем его относительно мира. Нажали влево - персонаж побежал влево, независимо от того, куда он при этом смотрел. Если смотрел вправо, значит побежал спиной.
2. Локально - относительно самого персонажа. В зависимости от того, куда смотрит персонаж, при нажатии влево, он бежит влево относительно направления взгляда. Скажем, если он смотрит вправо-вниз, нажали налево, он начал стрейфить вправо-вверх.
Какая из моделей управления приемлема для вас (это персональный вопрос, тут нет правильных или неправильных ответов :)