All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
1.5.0 - 2024-02-04
- Заменен парсер на более стабильный и продвинутый
- Заменен ast.Str на ast.Constant
- Заменены assert и добавлены новые исключения
- Большой рефакторинг и исправление множества ошибок
- Фикс описания игры
- Фикс апдейтера
1.4.0 - 2023-12-01
- Исправлен баг, когда невозможно поговорить с Лидией при недоделанном квесте
- Исправлен баг текста с пробелами а так же ошибок изза этого
- Исправлена ошибка, при которой дебаг режим невозможно было отключить
- Изменена логика достижений
- Улучшен менеджер тем. Все еще работает нестабильно
- Полный рефакторинг проекта с проверкой mypy
- first удален. Вместо него используется first_command и first_section
- Добавлено событие QUEST_END
- Теперь игра подсчитывает новые типы статистики
1.3.0 - 2023-11-28
- Теперь сценарий хранится внутри папки игры
- Сценарий можно разделить на различные файлы
- Оптимизирован builder, теперь он выводит сообщение, если не найдена определенная секция
- Теперь действия с нпс можно выполнять подряд, если их несколько
- Добавлен 1 квест и 1 предмет
- Теперь для сценариев есть возможность соединять их в один
- Соединение можно проводить как простым объединением, так и объединением внутренних элементов секций с одним названием
- Возможность скрывать действия с нпс при помощи action_req "python expr"
- Добавлен Executer.evaluate для выполнения python выражений
- Добавлен QuestsManager.is_done для проверки выполнения квеста
- Событие PICKUP теперь так же предоставляет информацию об общем количестве предмета в инвентаре
- Команда сценария require_item вызывала ошибку из-за неверного типа аргумента
- Теперь команды не пропускают время
1.2.2 - 2023-11-24
- Оптизированы некоторые части кода, в том числе события и состояние игры
1.2.1 - 2023-11-24
- Перенесены некоторые данные в файлы data/
- Обработка параметров запуска перенесена в
__main__.py
- Добавлены инструменты сборки, позволяющие автоматизировать процесс установки версии
- Теперь black являются частью зависимостей
- Исправлена ошибка, не дающая сохраняться
- Добавлена возможность изменить цветовую тему
- Удалена блокировка очереди событий
- Изменено поведение модулей, весь код из инициализации игры перенесен внутрь них
- Добавлена документация к проекту
- Полностью изменена структура кода, точка отсчета разработки теперь ведется с этого момента
- Добавлен сюжет, который теперь является основной игры
- Добавлена система квестов и НПС
- Убраны артефакты старой разработки. В следующие билды изменения будут описаны более четко
- Внедрена поддержка kotazy, пока что не тестировалось
- Внедрена поддержка сценариев. Их стиль так же изменен. Так же они теперь внесены в отдельные файлы
- Добавлен логгер
- Переработано большинство систем, полностью переписана структура кода
- Полная переработка логики сохранений и событий
- В диалогах теперь есть подсказка, что надо нажать на клавишу для продолжения
- Добавлено обучение. Обучение связано с главным сюжетом, поэтому его нельзя пропустить
- В диалогах реплики разделены небольшой паузой
- В диалогах реплики теперь выводятся только при нажатии на клавишу
- Добавлен макрос .w для отключения нажатия для продолжения
- Добавлен мощный парсер для сценариев. На шаг ближе к моддингу
- При нажатии Ctrl+C в диалоге теперь выходит из диалога
- При нажатии Ctrl+C в игре больше не выводится ^C
- Изменено загрузочное приветствие
- Переработан логотип. Теперь он выглядит приятнее
- Процесс инициализации игры изменен. Теперь игровой контент отделен в отдельный объект - прототип мода.
- Игра полностью переведена на сценарии. Огромное количество рефакторинга и переписывания изменило текущую структуру
- Отправная точка теперь комната в таверне. Там теперь можно отдохнуть, использовать очки навыков и сохраниться
- Город - теперь деревня. Сюжет дает понять, что игра имеет новую сущность
- Изменены локации: Деревня, Таверна, Комната, Лес, Болото, Туман
- Команды игры теперь более раздроблены по категориям
- Фикс бага, из-за чего консоль не поддерживала цвет фона, хотя сейчас он нигде почти не используется
- Фикс других багов, которые ломали игру при определенных действиях
- Теперь сохранения занимают на (ранее 25%) 42% меньше места в новом формате
- Добавлен ради интереса формат сохранения с использованием символов Брайля
- Оптимизированы события. Их формат в debug выглядит теперь по другому
- Теперь при включенном дебаге локации обозначаются Location, а не ActionManager
- У событий теперь есть нумерация (нумерация продолжается даже при отключенном дебаге)
- Добавлен дневник для просмотра квестов. На данный момент функционал у дневника минимальный
- Добавлена команда map для просмотра карты
- Добавлено мясо, как предмет
- Деревянный щит и меч теперь обычные
- Добавлены новые персонажи: Эдвард, Сэм, Джон, другие
- Добавлено зелье хп и мп, книга знаний. Убрана команда buy для покупки поинта распределения.
- Инвентарь: выход теперь через команду
e
, а неq
- Инвентарь: нумерация действий со слотами теперь везде начинается с 1
- Изменен дизайн exit, help
- Добавлена пара страниц помощи
- Изменен подсчет статистики предметов. Теперь считаются предметы, подобранные игроком
- Исправлено закрытие игры при неверном сохранении. Это нужно было для выяснения проблем с сохранением
- Исправлен баг вылета при убийстве, связанный с неверным созданием события убийства
- Фикс бага: из леса нельзя было выйти, так как команда пыталась получить количество НПС, а не локаций
- В лесу можно найти ягоды. Их можно продать. Больше пользы никакой они не несут
- Зелья и книгу можно так же купить. Покупка и продажа проводится в городе у НПС
- НПС переименован и теперь умеет продавать и покупать. Ему не интересны больше яблоки. Он несет пользу
- Лес теперь днем полностью безопасен днем. Ночью есть шанс наткнуться на монстра
- Добавлена локация - Таверна. Там вы можете отдохнуть за 20 монет. Раньше команда была в городе и была бесплатной
- Исправлен баг при одновременном использовании
.x .t
связанный с отсутствием сброса аттрибутов вывода из-за отключенной обработки последовательности
- Фикс бага с upgrade
- Расширен функционал me: теперь показывает текущее экипированное оружие, если есть и перечисляет все модификаторы, получаемые через эти предметы (в будущем мб и не только модификаторы инвентаря, но и так же, например, эффекты времени суток или эффекты зелий и заклинаний)
- Наконец инвентарь несет пользу: теперь надеваемые предметы влияют на бой
- Внесены события
command
,newday
,new_drop
,location_move
,entity_killed
- me показывает баланс и текущую локацию
- В игру добавлены НПС
- talk позволяет поговорить с нпс
- В городе есть нпс, которому очень интересно, как вы относитесь к яблокам
- look оформлен лучше, поправлены цвета, а так же теперь там отображаются нпс
- go теперь начинает нумерацию с 1, а не с 0, стилизован под look
- pickup теперь так же начинает нумерацию с 1, стилизован под look
- Добавлен макрос .t для смены темы.
.t?
для справки..?
для справки по макросам - Загружено 324 темы на выбор. По умолчанию - GitHub Dark. Цвета можно сбросить до классических через
.t0
. Подробнее в.t?
- Добавлен макрос
.x
для включения и выключения цветов - Нумерация в save теперь с единицы
- Добавлены сплеши
- Версия сохранения теперь 5
- Теперь дроп и состояние НПС так же сохраняется внутри save
- Настройки теперь сохраняются
- Теперь есть лишь одна настройка - debug. Она выводит все события на экран
- Теперь сообщения событий отображаются только с настройкой debug
- Сохранения вновь работают
- Добавлена статистика
- Добавлен бестиарий с возможностью сортировки и пагинации
- Первые страницы помощи. Добавлена команда помощи
- Добавлены настройки. На данный момент настройки не влияют на игровой процесс но уже имеют команду
- Фикс пары багов инвентаря. Это все еще не очень стабильная штука
- Добавлены события. В данном случае на данный момент есть реализация, но нет применения. В будущих билдах игры появится более широкий список событий
- Оптимизация некоторых классов: Item, Entity
- Добавлены макросы.
.h
для просмотра - Инвентарь все еще не имеет функционала. Меч и щит никак не влияют на бой
- Добавлена поддержка linux, в будущем формат билдов будет улучшен
- Фикс проблем c ANSI
- Новый билд с инвентарем. На данный момент могут быть баги
- 2 локации
- 18 типов мобов
- Распределение свободных очков
- Накопление монет. На данный момент 2 способа: найти или победить противника
- Боевая система
- Отдых - способ восстановить хп
- Покупка свободных очков. 1 очко - 100 монет
- Первый билд