К сожалению, последние 5 месяцев в силу работы не мог толком ничего сделать по игре. Тем не менее, в ноябре была проведена большая работа, сейчас в апреле понемногу возвращаемся к работе. Версия на новую не тянет, так как в основном - исправления багов. В игре происходит некоторое наполнение квестами - спасибо Bs Игорь Дикарёв[9] . Пока квесты не особо оттестированы, но тем не менее - направление в эту сторону идет. В полном тексте новости небольшие изменения и исправленные баги.
- исправлено куча текстов NPC, наименований частей квестов, сделано корректное отображение некоторых миссий и т.п. мелочевка. - исправлена загрузка изображений оружия, а также глюки с невозможностью удалить оружие из базы и т.п. - на сервере сделан запуск скриптов - это два файла - автоочистки чата и вообще БД (вызывается раз в сутки) - и скрипт, который вызывается поминутно, при этом часть лишних функций из него убрана из запуска при каждом обновлении страницы. - частично исправлено двоение сетов. Я не могу его поймать полностью, но теперь раз в сутки происходит проверка БД, и они автоматически чистятся. - исправлены ошибки с ударами по мобам, у которых мало точек удара. Туда же - у некоторых мобов было 2 (усиленных) удара вместо 1. - устранены двоения сообщений на форуме, а также некорректное отображение тем при определенном количестве сообщений, невозможность редактирования некоторых сообщений и т.п. Сюда же - теперь корректно передается позиция скролла на страницах форума, а также при переходе с главной на форум - попадаем на последнее сообщение, как и было задумано. - исправлены миссии на достижение уровня - миссия завершалась при получении следующего уровня (т.е. требование получить 5 - миссия завершалась при получении 6 уровня) - исправлен глюк по передаче серебра в миссиях, где его нужно было принести - теперь корректно отображается отмена эффектов на иконке персонажа в левом верхнем углу в игре. - исправлено много глюков в групповых боях (в группе и друг против друга), а также логи боев после вмешательства. - исправлено получение славы после боев с рейд-боссами - еще раз исправлены эффекты с процентным добавлением параметров :) Теперь вроде точно все работает - исправлена невозможность сделать ставку на аукционе. - исправлен баланс дропа шмоток. шмотки падают чуть реже, но зато падение лвла не такое сильное (условно, раньше с 20 моба падали вещи для 12-16 уровня, теперь для 14-19 примерно) - в дизайне в игре - теперь закреплено изображение перса и параметров (левая часть окна инвентаря). - исправлена ошибка, что при регистрации не выбирался пол, поставлен (на всякий) еще один костыль, чтобы все было гарантированно хорошо.
За неделю найдено и исправлено столько глюков, что решил вывесить это как отдельную версию. За обнаружение большей части из них спасибо Re Avanti[7] . Полный список ниже.
Исправления: - мобы, которые не умеют блочиться, при перемещениях ставили блоки. - некорректно работал расчет эффектов по броне и урону, возможно, и по статам. - некорректно срабатывали скрипты в игре, из-за этого то же благо новичка в начале игры не накладывалось. - исправлена некорретная работа функции полного сброса персонажа. - мощнейший баг - при наличии одновременно нескольких боев в игре - игрок мог попасть не в свой бой (на экране отображался чужой бой). - в миссиях по доставке вещей - не передавались эти вещи. - убрана ошибка в БД по отображению данных мобов, а также в каких локациях они обитают для неадминов; - устранена ошибка того, что невозможно было удалить вещь из игры. - оружие при смерти в бою не ломалось, неверно считалось кол-во ломающихся вещей. - с мобов до ~6 базового уровня не падали оружия, условие исправлено полностью. - шанс дропа с сильных мобов рассчитывался некорректно (был почти вдвое ниже, чем должен был), убран лишний и бестолковый параметр в БД игры. - исправлены описания действий в локации. - исправлен глюк, что тема на форуме висла при ответе с цитированием. - исправлено (надеюсь) периодическое двоение сетов (устранено еще 3 потенциальных места, где это может происходить, надеюсь, я наконец поймал этот баг). - на карте (для неадминов) теперь отображаются доступные переходы типа "лестница" (спуск/подъем) не только когда вы находитесь в этой локации. - исправлено несколько квестов, и до конца недели постараюсь проправить все остальные квесты на предмет корректного заполнения и работы. Нововведения и правки баланса: - теперь после боя мобы не удаляются из базы, их статы можно посмотреть. Из-за этого слегка модернизирован вывод информации, вывод списка логов боев в игре. - начальные уровни (первые три) удлинены, чтобы было чуть легче накопить деньги на вещи. - уменьшены (примерно в три раза) уязвимости и сопротивления оружию у разных типов мобов. - изменено влияние разницы уровней игрока и моба на дроп. - теперь кнопки по поиску воды и еды неактивны, если уровень здоровья персонажа выше максимального, когда это работает.
Готова очередная версия, в которой добавлено немало контента и реализовано сразу три больших блока, которые, как я ожидал, будут растянуты как минимум на два, если не три, патча. Список изменений ниже.
Добавление функционала, изменения в админке: - В игру добавлены мини-боссы и рейд-боссы. Между собой фактически не отличаются, только для статистики. Сам рейд-босс представляет собой моба, который может быть настроен более детально, вплоть до точных статов; также у него более детально настраивается дроп вещей. - в игру добавлена функция скриптовых нападений. В первую очередь, добавлена как раз для рейд-боссов, но ее функционал этим не ограничивается. По факту, позволяет сделать "откат" на нападение на какого-то моба - на весь игровой мир или для конкретного игрока. - старый стат "удача" переименован в "точность" (тут только переименование), добавлен новый стат, который, как раз, и назван "удача". Это (в основном) небоевой стат, которые влияет на получение наград по квестам, дроп с мобов (шансы и качество вещей), активность скриптовых лечений (в бою и вне боя), шансы нахождения воды/еды. Единственный стат, который может быть отрицательным. - добавлен новый тип локации "Ярмарка (магазин наград)". В этих локациях можно купить совершенно любые вещи, ресурсы, квест-итемы, при выполнении заданных условий. Настройка продаваемых итемов - максимально гибкая. Будет использоваться для временных (ивентовых) магазинов, а также как магазины наград за, например, достижение репутаций, званий и т.п. - полностью переписаны логи боев. Основная идея была в снижении объема логов - так как лог на 50 раундов и 20 игроков весил 100-200 КБ.. По итогу, объем лога снизился раз в 10, а также сами логи стали разнообразнее - вместо буквально 10 типовых фраз теперь используется процедурная генерация текста. Логи стало чуть веселее читать :))) Спасибо Kn Frarin[9] за огромное количество стебных фраз! - сюда же - теперь в логах боев все выводится с учетом пола персонажа. - карта мира (которая полноразмерная) получила функционал по поиску локаций заданного типа. Этого сильно не хватало ранее. Помимо этого, есть небольшие стилистические изменения. - условие на неактивные миссии (у мобов) переделано на условия завершенной миссии. - условие на активный/выполненный квест в диалогах с NPC переделано на условие нормального (правильного) или хотя бы какого-то (жесткого или нормального) завершения квеста. - добавлены примечания к квестам и частям - для удобства админа, который заполняет это все. На саму игру не влияет. - добавлена возможность для админа добавить себе нужную вещь или нужную запись в дневник (прямо в инвентаре). Ранее можно было добавить только ресурсы, части, квест-итемы и скрижали. - теперь в админке собственно персонажа можно выбрать также фразы, связанные с каким-либо квестом. Сильно упрощает создание и редактирование квестов. - убран сброс искомого квеста при переходах по разным разделам. Чуть переделано добавление условий, скриптов, действий и т.п. - сразу добавляются с привязкой к выбранному в настоящий момент типу связей. - добавлена возможность дополнения, изменения и редактирования свойств вещей в БД, само отображение стало более полным. Исправления багов, изменения кода: - исправлено действие условий "должен быть активен квест" и все условия, связанные с репутациями. - исправлены (надеюсь) периодические глюки в отображении случайных символов на главной площади на мини-карте. - исправлен глюк (не очень частый), когда после наведения на персонажа и убирания курсора не работали кнопки. - исправлено влияние брони и пробоя брони. Из-за ошибки в формуле броня толком не работало, а пробитие брони на оружии вместо увеличения урона его уменьшало. - полностью переписана админка локаций. В очередной раз (даже после рефакторинга) понял, что там было полное месево, повторы кода, часть (для не-админов) работала неверно. Устранено уйма глюков, уменьшен объем кода. - исправлена работа функции message_code. - неверно обрабатывалось кол-во еды в локации - чем ее было больше, тем меньше шанс найти... - исправлен глюк, что нельзя было выставить корректные значения параметров у некоторых эффектов. - удален столбец beast_name в таблице ботов в локации. - переделана регистрация, теперь проверок правильности введенных данных больше, и все они происходят через Ajax, то есть без сброса данных страницы. Добавление контента, изменения в игре, изменения интерфейса: - к работе над наполнением снова вернулся Bs Игорь Дикарёв[9] . За последнюю неделю добавлено почти 10 новых квестов и подправлены все прошлые квесты. Будем тестировать :) ему же спасибо за поиск существенного кол-ва багов. - в локации 2206 "Крысиное логово" (в подземельях под Замком Ордена) можно найти первого рейд-босса в игре - Крысолюда. Доступен для каждого игрока раз в 20 часов. - изменен баланс уменьшения дропа с ростом разницы уровней. Теперь дроп падает сильнее с разницей уровней. - улучшено отображение статистики по убитым мобам в игре. - теперь у свитков есть отображение их качества (по аналогии с вещами). Стало сильно читабельнее в интерфейсе, в бою, в быстрых свитках. - немного улучшен вывод квестов (фразы типа "убито n штук"), исправлено пару мелких глюков. - при наведении на статы в инвентаре теперь высвечивается их действие. - при наведении на тип оружия (раздел умения) в инвентаре теперь высвечивается уязвимость разных типов мобов к этому оружию. - добавлены изображения для многих NPC и другого контента.
За последний месяц у меня было неожиданно много времени для того, чтобы покодить. И наконец решить огромное кол-во задач, убрать огромную кучу костылей в программировании квестов и реализовать процентов 75% мелких идей и задач, которые накопились со времен еще рефакторинга в начале года (а что-то - еще с версий 0.6.5). На обновленном движке многие задачи получилось реализовать очень быстро, что не может не радовать. Список изменений - в полном тексте новости.
Новое: - теперь при получении квест-итема может автоматически запустится скрипт (или запускаться каждый раз, если квест-итемов может быть больше 1). Это прекрасная возможность для варианта начала квеста (нашли что-то - начинаем квест), либо для интересных действий - проклятая метка - при получении на вас кто-то нападает; - запуск скрипта при первом либо повторном посещении локации. Дает возможность стимулировать исследования мира, либо, опять же, запускать квесты при открытии интересной локации; - запуск скрипта при получении уровня - стимулирование роста и т.п.; - запуск скрипта при жестком завершении квеста (о нем - см. ниже); - в большинстве скриптовых действий теперь можно использовать регулярные выражения, в т.ч. простые условия (если - то - иначе), зависимость от расы, уровня, рейтинга, статов и т.п. Позволяет сильно точнее настроить квестовых мобов, также поможет при работе с рейд-боссами (например, усиление урона после какого-то раунда); - добавлены действия на изменение получаемого опыта и славы в бою; - добавлены действия на постоянное (до конца игры) прибавление/уменьшение статов и модификаторов. То есть награда за квест может быть в виде повышения статов. Или проклятия в течение квеста на уменьшение статов; - добавлено действие по повышению мастерства владения оружием; - добавлены условия по требованием к кол-ву убитых мобов или типа убитых мобов; - добавлено условие по требованию о наличии в дневнике персонажа определенной записи. Область применения - более точные условия после выполнения квестов (когда у квеста несколько концовок, каждая из них позволяет добавить свою запись в дневник) - реализованы эффекты без срока действия; - добавлены эффекты по повышению/понижению регенерации хп вне боя, а также каждый раунд в бою; - сделано разделение на открытую и посещенную локацию, поставлены условия на первые посещения локации; - добавлено огромное количество действий с квестами: жесткое завершение части (когда не отдаются требуемые итемы, у миссий ставится статус not_success) и жесткое завершение квеста, с рядом параметров. Квест может быть выполнен со статусом not_success (пример - когда персонаж бросил (не отменил!) квест на середине, сказав NPC, что он не будет что-то делать), при этом условия на выполненность квеста также изменены; - у вариантов ответа NPC также добавлены варианты жесткого завершения миссии и жесткого завершения части, а также условие о активности/завершенности квеста преобразовалось в условие нормального завершения/ хотя бы жесткого завершения квеста; - добавлены миссии по времени ожидания (типа 'подойди ко мне через 10 минут'); - добавлены миссии на победу/участие в скриптовых боях. Также добавлены действия по созданию скриптовых боев (специальных боев с меткой, в которых с самого начала прописаны все союзники и противники, причем максимально детально; после окончания боя может запускаться специальный скрипт на определенные действия); - у наград добавлена опция - награда при НЕвыполненной миссии. Пример применения - когда есть две миссии - победить в скриптовом бою и поучаствовать в нем (вторая обязательная, первая - нет). При победе, очевидно, выполняются обе миссии сразу, при поражении - только одна. Если награды кардинально разные - то у награды за победу должно быть условие выполнения миссии победы, а у награды за просто участие - условие невыполнения миссии о победе; - теперь через скрипты возможно сгенерировать моба с заданным именем (на базе имеющегося). Например, можно сгенерировать моба с именем 'разбойник с большой дороги' на базе обычного разбойника без внесения нового моба в БД. - сделана подсветка вещей, итемов и т.п. при наведении на них (чисто визуальное отличие); - теперь непередаваемые вещи есть двух типов - непередаваемые игрокам, но их возможно отдать по требованиям квестов, и совсем непередаваемые; - в прогресс баре опыта теперь по-другому отображается опыт - теперь виден именно прогресс на текущем уровне. Аналогично изменен вывод в статистике персонажа; - теперь во всех местах, где есть доп. условия, стоит проверка не только на выполнение этих условий, но и на НЕвыполнение - это сильное упрощение для построения квестов без необходимости плодить кучу записей; - добавлена возможность удаления из игрового дневника записей (для администраторов - так как теперь наличие записей является условием); - Добавлено три небольших квеста, в основном, для теста всех этих нововведений. Изменения в админке: - в редактировании квестов теперь по умолчанию свернуты все части, разворачивая нужную - уже редактируем ее. Повысило читаемость; - сделано больше контроля вводимых ID действий и т.п. В след. версии будет еще больше; - при добавлении действия, скрипта или условия с выбранным на странице фильтром по типу - добавление происходит сразу с привязкой добавленного действия/скрипта/условия к этому же типу; - в списке NPC отображается, если NPC по умолчанию невидимый; - в админке добавилась кнопка сброса кол-ва выполнений скрипта у игроков. Исправления багов, оптимизация, изменения в алгоритмах: - не работала передача ресурсов по требованиям квестов. Исправлено; - откорректирована работа скриптов, запускающихся после завершения боя; - NPC, у которых нет ни одной доступной фразы, теперь не отображаются; - оптимизированы и исправлены запросы актуальности ответов в диалогах с NPC. Добавлен ряд условий, изменены причины отображения восклицательных знаков около NPC (что есть какое-то действие). Корректно работают условия фраз, где первое условие - наличие текущей части; - панель опыта теперь апгрейдится сразу после боя, а не только после того, как нажимаешь кнопку 'выйти из лога'; - изменена логика прибавление здоровья персонажа. Увы, +1 запрос при каждом обновлении страницы, но сильно меньше потенциальных глюков; - оптимизированы запросы данных персонажей в бою (запрос данных всех персонажей вызывался практически при каждом ударе каждого персонажа); - ранее не работало завершение миссий по убийству и дропу квест-итемов у мобов, которые нападали по скрипту и у которых стояло отсутствие дропа; - теперь работает проверка по полу персонажа; - исправлено одевание свитков - оно 'потерялось' пару патчей назад, судя по всему; - исправлено сообщение о том, что игрок получил нулевую награду за квест (типа 'Вы получили 0 серебра'); - исправлена ошибка, когда можно было сделать одноручный лук/арбалет или двуручный кинжал (при этом они терялись в отображении в БД); - исправлена ошибка, когда игрок при перемещении по вкладкам инвентаря мог получить результат, когда не была открыто ни одной вкладки; - исправлена ошибка неверного отображения точки телепорта с помощью скрижали; - выяснилось, что в боевых скриптах не проверялся уровень скрипта; - сделана модернизация проверки условий - создан глобальный массив, который позволяет условия с одним ID проверять один раз за загрузку страницы, а не каждый раз при вызове. Над чем работаем дальше: Следующий патч или два, по планам: - система контроля наполнения квестов, действий, сообщений в локациях и т.п. - она уже совсем напрашивается. Тут же - минирефакторинг исключительно квестовой части; стало понятно, что такая штука уже очень требуется; - переименовывание стата 'удача' в 'точность', при этом будет добавлена 'мирная' удача; - возможность использования мобами благословений; - рейд-боссы (глобальные и собственные для игрока); - магазины с наградами за достижения (типа ярмарок). Чуть позднее: - система достижений с наградами за нее (сам механизм наград у игрока за достижения уже сделан); - система навыков, боевые умения, сюда же - боевые скрижали на усиление игрока на один раунд; - возможность применения некоторых скрижалей в бою не только на себя; сюда же - возможность применять некоторые свитки эффектов не только на себя); - модификация лога боя, возможность разных вариантов отображения; Сильно позднее: - кланы; - модификация системы боя (с очками действия, укрытиями и т.п.) - маршруты на мини-карте; - логи всех действий игроков.
Небольшое обновление, к сожалению, на большие просто физически нет времени. Но в кои-то веки влияющее на геймплей. - Все мобы теперь разбиты на 8 типов. В зависимости от этого имеются разные точки удара. А то бить в "правую руку" змее было совсем смешно ; - у каждого типа мобов есть уязвимости и сопротивления к своему типу оружия; - у каждого моба появилась характеристика "скелет". Скелет, очевидно, может быть как у змеи, так и у гуманоида Скелет имеет дополнительные уязвимости и сопротивления; - некоторые мобы теперь генерируются строго с "двуручным" оружием (змеи, птицы); - у каждого моба появился параметр "умеет блокировать". Очевидно, что условной крысе блокировать удар меча нечем. В таком случае, такие мобы всегда наносят максимальное кол-во ударов, а урон увеличен на несколько процентов. Броня у противников-негуманоидов и не-механизмов распределяется просто поровну между всеми частями тела; - в статистике сделана сортировка по количеству убитых мобов, сделано отображение убитых мобов по типам; - улучшен функционал таблицы на поле боя - добавилась еще одна кнопка "обновить", кнопка "удар", если не выбраны удары или не выбран противник, заменена на кнопку "блок", если сделать ход нельзя - кнопка "сделать ход" является неактивной, точки удара у противника, который находится далеко, также неактивна; - сделана возможность сортировки мобов в БД не только по базовому уровню, но и по ID; - в админке пользователей наконец-то сделана функция поиска по нику, части ника или по id_user; - устранен глюк, когда ограниченные по количеству квест-итемы продолжали падать; - устранен глюк, что при выбрасывании квест-итемов из раздела "Квесты" они выбрасывались дважды.
Добавил Bs KyleBrennan[13] Комментариев: 0.
12:32 8 августа 2022 г.
Версия 0.7.1
(1)
Спустя 3,5 месяца и после двухмесячного отдыха от проекта готов очередной патч, пока что снова для администрирования. Сделано с целью ухода от необходимости править БД напрямую при отладке квестов. Изменения: - теперь админка квестов доступна для чтения вся, кроме условий (т.е. для чтения при втором уровне доступа стали доступны скрипты, действия, сообщения в локации); - в самой игре при соответствующем уровне доступа можно запустить любое действие, скрипт или сообщение в локации, в том числе с заданными параметрами; - при соответствующем уровне доступа можно добавить любые скрижали, ресурсы, части вещей и квест-итемы; - при соответствующем уровне доступа можно завершить либо перезапустить любую миссию или часть квеста; - добавлено новое условие для программирования: пол персонажа. Позволяет делать разные линейки квестов либо хотя бы тексты для мужского и женского персонажа; - в скриптовые записи добавлена запись, считывающая пол персонажа, и меняющая текст в зависимости пола персонажа (типа "сделал"/"сделала"); - в редактировании мобов - теперь есть сортировка по ID либо уровням (раньше только по уровням), устранена чехарда с картинками (вопрос в обновлении БД, не в коде). Если изображения мобов не соответствуют названию - нажмите ctrl+F5. Исправления: - исправлен глюк с невозможностью выкинуть что-либо с подтверждением количества; - исправлен глюк с не выводящимся сообщением при действии локации и невыполнении условий скрипта - исправлен глюк с неверными действиями с репутациями в админке
Добавил Bs KyleBrennan[13] Комментариев: 0.
22:10 19 июля 2022 г.
Версия 0.7.0.1 - доработка и работа над ошибками
(1)
Небольшой патч, исправляющий ряд ошибок прошлого патча, а также добавляющий функционал, который должен был быть еще в прошлом, но его не было :) - исправлены глюки на главной странице со всплывающими окнами и некорректной работой выставления рейтинга новостям; - теперь после смерти персонажа кнопки быстрой панели, перемещения и т.п. до воскрешения стали неактивными. Также неактивной становится карта. - ВСЕ переходы полностью перенесены на карту. В связи с этим на карте появились нововведения: видны спуски в подземелья/подъемы из них; на мини-карте в локациях с размерностью больше мини-карты отображаются стрелки для перемещения. - на карте стали корректно отображаться не посещённые локации, в которые открыты переходы - теперь карта учитывает ВСЕ условия у переходов (ранее при отображении границ карты проверялись только скрытые/открытые переходы). Одновременно проведена оптимизация. - теперь на карте у локаций, целиком не влезающих в окно отображения, все равно видны границы - т.е. видно, есть ли из локации переходы или нет. Одновременно отображение в некоторых случаях перестало вылезать за границу карты. - по-другому отображаются id локаций на карте. Для админов - исправлено отображений админских действий на карте и обычных. - исправлено отображение дорог на карте - ранее не всегда корректно отображались перекрестки дорог на пересечении с неоткрытыми локациями (в которые игрок видит переходы). - корректно работает кнопка "осмотреть локацию" (для подземелий и т.п.). - исправлены некоторые ошибки скриптов; в том числе теперь окно с логами боев открывается по центру экрана, а не в верхнем левом углу.