FFFREM, ежедневный отчет. День 30


Посвятил этот день заполнению базы данных противников. Разбил пост также, как и работу, на несколько частей. Далее опишу их шаг за шагом.


Часть 1. Поиск информации

Пожалуй, самая короткая часть работы, но и самая важная. Без нее всё остальное было бы бессмысленным киданием цифрами и попытками угадывать.

Часть информации была взята с сайта FFForever.info (графика, имена), часть - с англоязычного ресурса Final Fantasy Wiki (информация о переводах имён, как, например, для Ankylo), часть - добыта из рома с помощью FFHackster (статы, а также получаемые опыт и золото).

Часть 2. Набор графики

Сразу замечу, что графика из оригинальной игры используется мной за неимением своей и будет использована и далее до тех пор, пока я не займусь рисованием.

Вся графика была скопирована с этой страницы: http://ffforever.info/index.cgi?section=ff;p=bestiary. Так как я не собираюсь публиковать проект с этой графикой, то думаю, что не нарушаю никаких правил, копируя ее оттуда.

Все изображения оттуда, кстати, имели формат GIF, и я узнал, что мейкер не может открывать подобных формат изображений даже в том случае, если они не содержат анимацию. Пришлось воспользоваться пакетным преобразованием, благо под рукой уже есть необходимая программа - FastStone Image Viewer.
Пробное преобразование...
...прошло успешно!

Часть 3. Ввод данных

Тут мне сказать особо нечего, кто вводил данные в базу - тот меня поймет. Поэтому просто оставлю здесь скриншот.
Примерно так он и происходил в течении нескольких часов

Примечания к вводимым данным

Ввиду различий между типами данных мейкера и оригинала, а также невозможности использовать оригинал целиком и полностью, некоторые типы убраны или заменены, что будет учтено при разработке боевой системы.

Ниже представлена таблица изменений:
Различия между типами данных в FFFREM и FFI
FFIFFFREM
STRSTR
DEFPDEF
MDEFMDEF
MORALEINT
AGIAGI
# OF HITSDEX
HIT %ATK
Для тех, кто не понимает, почему эти изменения вообще имеют место быть: в версии XP нет панели Notes (Заметки), в которое можно было бы ввести дополнительные данные для скрипта, а держать все эти данные в именах противников - неудобно для редактирования.

Так как во время игры я не заметил, чтобы у противников хоть когда-нибудь кончалась мана да и в базе игры этого нет, то всем им я выдал по 9999 очков маны на свободные расходы.

Часть 4. Правила ведения боя.

Вводом этих данных я займусь позднее, так как за один день уже было сделано достаточно много работы. Но некоторые вещи всё же стоит рассказать.

Большинство противников атакуют без особых правил и условий, вот простой пример:
Боссы имеют в наборе действий некоторые особые атаки и навыки, появляющиеся по условиям или же без них, в качестве примера - финальный босс, как самый примечательный:
Однако, есть также возможность дописать дополнительную логику действиям противников, что будет сделано для тех, кто выбрал более высокую сложность:
На скриншоте выше показано, что в переменную 26 добавляется номер персонажа в партии, у которого количество здоровья ниже остальных и при этом слабая защита. Такого противники будут стараться забить в первую же очередь и всей толпой. В переменную 27 на данный момент вноситься средняя сила атаки всей группы. На данный момент работа над логикой нанесения повреждения еще ведется и нужно заставить каждого противника атаковать слабого, а не просто наносит ему повреждения.

Но основное правило высокого уровня сложности одно - бей слабого всеми изо всех сил, чтобы лишить партию одного из важных персонажей, к которым обычно относятся воры (повышает количество опыта/золота после победы), белые маги (лечат партию по ходу биты) и черные маги (атакуют магией).

Если у вас есть какие-то соображения насчет правил или хардмода - пишите в комментариях или же в личку в соц. А пока - всем пока!

Комментарии

Популярные сообщения из этого блога

Генератор названий оружия

Создание компонента Delphi

Идеи: Генератор сказки