Блог пользователя creator

А вот нам кузнец нужен!

Пытаемся внедрять кузница. Пока это куча разрозненных мыслей.

Итак первое что приходит в голову что может делать кузнец - от чинить. Эдакий мастер-ремонтник на все руки.
На все или не на все - это чуть позднее.
Второе - что он может делать вещи - изготавливать.

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

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

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

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

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

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

И все.

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

Ревальвация опыта

Ревальвация - это девальвация (или деноминация) наоборот. Т.е. мы на верховном совете племени решили увеличить количество получаемого и необходимого для повышения уровней опыта.

Сразу возникла мысль о системе начисления опыта за истребленное существо.
Итак решено было отталкиваться от его параметров, от его артов и субъективной сложности.

Самый сложные дебаты прошли насчет артов. Как их учитывать? Нивелировать ли наличие артов, артами героя?
Например какой-то лохопед голодранец убивает крутого героя в артах супер набора от гучи.

Пробирка жизни

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

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

Глобальные переделки

Вообще ничего не предвещало беды, загрузил тестовый лабиринт с 10 пауками.
Сделал три шага и .... Очень долго ждал. На вид игры было похоже, что она зависла. Через секунд 20 - клиент получает от сервера 100 сообщений, о новых ходах, о ходах мобов, ну и завершающий что ход опять у игрока.

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

А если следующий игрок тоже компьютер - то опять тоже самое.

Долгое время

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

Одной из таких причин стал факт, что игрок зашел в лабиринт за сбором минера и закрыл игру (а может у него было проблемы с интернетом - мобильным МТС? :)

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

По чуть-чуть

Изменил алгоритм патрулирования, теперь в наличии 6 вариантов обхода, что разнообразит игру.

Сам алгоритм ниже:

if (as %2 == 0) {f=w;n=h;} else {n=w;f=h;}
for(int i=0;i<f;i++)
for(int j=0;j<n;j++)
{
int off;
int ii=i,jj=j;
if (as && 0x2)
if (as%2 == 0) {ii=(w-i)-1;} else {ii=(h-i)-1;}
if (as && 0x4)
if (as%2 == 0) {jj=(h-j)-1;} else {jj=(w-j)-1;}
if (as%2==0) off=jj*w+ii; else off=ii*w+jj;
}

Конец хода

После недолгого тестирования, почти каждый (да ладно - каждый) из тестеров сказал - а нафик жать после последнего хода?
Пусть жмется конц хода автоматически!

По заявка телезрителей было решено это сделать. А что сложного - после хода или удара перса - на клиенте жми - конец хода если AP=0.

ДА не тут то было! Есть такая штука, вернее кнопка как F5 - в оригинальной задумке -тут показывается все ходы с начала (кстати думаем заменить это все активным экраном). И тогда кнопка конец хода нажмется n раз.

Просто так

Сегодняшний мой пост не про эту игру, а в целом про игры. В почте часто спрашивают - как сделать игру и что для этого нужно.

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

Во-первых Главное, что нет понятие кто главнее – эти составляющие должны быть, а потому список не по важности, а по алфавиту.

Небольшие изменения – большие мучения

Итак:

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