дизайн

Правки последних дней.

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

Затем наших художником была нарисована новая панель при открытии сундука, также изменилось и поведение геймплея, теперь можно будет забрать все вещи скопом.

В основном велась работа над ошибками и поиском багов, найдены проблемы с инвентарем (вернее с ее переполнением).

Новый дизайн геймплея

Итак встречайте новый дизайн геймплея, пока не совсем еще готов (не нарисованы новые кнопки ), но в целом довольно не обычный. Предыдущий можно посмотреть тут.
Таймер и кнопка конец хода перекачивала на верх, как и полоски жизни/энергии/AP.

Появилась кнопка отключения лога (чтобы был виден только чат), а кнопки переключатели силу голоса - теперь статичные - нажал и включился режим. А для отправки сообщения нужно просто нажать Enter.

Собственно к чему слова если есть рисунок:

Дизайн & математика

Задачка:
Есть n объектов, которые нужно рандомно разбросать по карте, но - одни объекты должны появляться чаще, а другие реже. Иными словами это как сделать заданное неравномерное распределение :)

Решим что для всех n объектов есть некий коэффициент частоты:
double kk[8]={1,1,0.5,2,2,0.3,0.9};
Причем сами цифры (их абсолютная величина) - не играет роли, нам важна их относительная величина (относительно к другим).

Подсчитаем общий вес: double k_s = sum_double(kk,8);
Он равен = 7.7 :) Хорошее число между прочим получилось.

Газовая ловушка

яма-ловушка с газом, 7maze.ru, лабиринты зыбиВообще сейчас все силы брошены на заявки и турнирную арену, и есть куча предложений, весьма интересных. Но пока сделаем паузу, а т.к. наш арт-директор (будем называть его так :) подкинул нам новые концепты, то реализуем новую объект в лабиринтах - ловушку с газом.

Управление геймплеем

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

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

Игровое меню

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

А теперь довольно симпатично. Само меню сделано на Flash, кнопками, у которых на Over вставлена другая картинка(с рамкой). Из плюсов - можно легко добавлять и изменять пункты меню, добавлять анимацию и прочее.

Дизайнерские заморочки и Flash

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

Возник вопрос как определить ширину текста в Flash, поискал в инете - ничего нету (либо плохо искал).

Потому нашел свой вариант. Для TextField'а (который ясен пень динамичный, либо вообще установлена переменная для отображения) - назначаем имя (instance name) например hint.

Скриптом устанавливаем у него свойство hint.autoSize = true, а затем считываем размер его hint._width.

И все.

На выходе получаем вот такое:

Кровь

Что-бы разнообразить игру, добавили кровь. При уроне противника – на экран выливается кровь :)
При проигрывание события put_strike, срабатывает функция add_blood

Сама по себе функция простая и ничего сложного не содержит. Размер пятна - зависит от урона, а также накапливается в луже. От одного удара – будет одного размера, при таком-же ударе – может стать больше.

Полет стрелы. Клиентская часть

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

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

Новогодние правки

Во время новогодней недели мы планировали сделать очень многое, но оказалось совсем наоборот - всем лень и некогда.
Оливье, шампанское - вот чем все заняты.

Из сделанного:

  • Внедрили навыки в код сервера, пока любой навык дает 5% к повреждению, а аналогичный навык у противника снижает на на 2.5%
  • Перемещение героя в лабиринте - теперь в два клика, первым устанавливаем путь (показывается шаги), вторым по той-же точке - команда перемещение. Клик по другой точке - установка нового пути.
  • RSS-материал