Андрей Смирнов
http://www.a-smirnov.ru/forum/

Движок заклинаний, калькулятор и все такое
http://www.a-smirnov.ru/forum/viewtopic.php?f=29&t=360
Страница 1 из 3

Автор:  allexdav [ 06 июн 2011, 02:36 ]
Заголовок сообщения:  Движок заклинаний, калькулятор и все такое

Тема посвящена движку заклинаний на питоне, чтобы все было в 1 месте.

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

Сейчас работают:
Варкасты ( сделано одно заклинание, но механизм фактически универсален, потом напишу конвертер)
Ходы(переход хода и регенерации).
Шмотки и навыки ( осталось их сконвертировать в правильный формат) пока голышом и без навыков :)
Бафы/Дебафы частично, не все эффекты описаны.
Доты работают частично, буду переделывать архитектуру. Как переделывать уже понятно, но я надеялся этого избежать.

По моим оценкам еще где-то пара месяцев в таком же темпе и что-то выйдет.

Автор:  allexdav [ 06 июн 2011, 02:36 ]
Заголовок сообщения:  Re: Движок заклинаний, калькулятор и все такое

резерв.

Автор:  allexdav [ 06 июн 2011, 02:37 ]
Заголовок сообщения:  Re: Движок заклинаний, калькулятор и все такое

allexdav писал(а):
Drake писал(а):
Динамическое программирование? :) Тяжёлая артилерия, если мы об одном и том же :jokingly:
allexdav, а насколько сложно человеку, ни разу не сталкивавшемуся с питоном (преимущественно c/c++ и matlab), будет понять код, на питоне написанный? :)


Как причешу, откомментирую и доведу архитектуру до ума покажу.
Думаю что достаточно просто, если осилить абстракции.


Комментарии по русски? Я привык все на английском, поэтому спрашиваю :)

Автор:  Lex [ 06 июн 2011, 04:03 ]
Заголовок сообщения:  Re: Движок заклинаний, калькулятор и все такое

allexdav писал(а):
Комментарии по русски? Я привык все на английском, поэтому спрашиваю

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

Автор:  Drake [ 06 июн 2011, 23:44 ]
Заголовок сообщения:  Re: Движок заклинаний, калькулятор и все такое

Тоже не принципиально, английским владею :)

Автор:  allexdav [ 09 июн 2011, 01:02 ]
Заголовок сообщения:  Re: Движок заклинаний, калькулятор и все такое

Морган, я тут внезапно понял что у тебя в описаниях всех заклинаний неправильная формула урона (те считаем ее на самом деле по другому) fie
Огненное копье. Наносит цели эфирный урон = 200% урон оружия + 5%*МС + 3%Тс +25%*Х. Значение Х = дистанция до цели минус 2 (т.е. наибольшее значение Х может быть 5, если персонаж и цель стоят на максимальном расстоянии). Нельзя применить на цель, стояющую на соседней клетке.

Считается как (200% +5%*МС + 3%Тс +25%*Х )*урон оружия, а не как 200% урон оружия + 5%*МС + 3%Тс +25%*Х.
В 1 случае урон намного больше :)
В общем править описания пока не нужно, я сам поправлю когда буду вводить, просто столкнулся с этим.

Автор:  Морган [ 09 июн 2011, 23:18 ]
Заголовок сообщения:  Re: Движок заклинаний, калькулятор и все такое

allexdav писал(а):
Морган, я тут внезапно понял что у тебя в описаниях всех заклинаний неправильная формула урона (те считаем ее на самом деле по другому) fie

Угу.

Автор:  allexdav [ 11 июн 2011, 17:35 ]
Заголовок сообщения:  Re: Движок заклинаний, калькулятор и все такое

Вопросы по баффам/дебаффам/дотам:
Если наложить дот Ожог 2 раза. но в промежутке защита цели от эфирного урона вырастет, то как будет считатся урон после второго наложения.
Иными словами
Пусть защита была 100%.
Наложив дот ожог в течении 3 ходов будет урон допустим 10.
защита выросла до 200%
Потом еще раз наложили дот ожог.
1)Урон будет 10 * 1.25 = 12
2) Или нужно пересчитывать урон заново (случайное число на 0.25 плюс остальное на изменившуюся защиту)?

Для варкастов считаю урон так (огненное копье)
t.hp = -(c.random(c.min_damage,c.max_damage)*(2+0.05*c.ms+0.05*c.ts+0.25*abs(c.positionX-t.positionX)+0.25*abs(c.positionY-t.positionY)+c.ether_attack-t.ether_defence))
Жизни = -( Урон оружия * (200%+5%*MC+5%*TC + 25%*расстояние + Эфирная атака кастера - эфирная защита цели))
Я так понимаю что атака кастера в дотах не используются. Так ли это?

Нужно ли пересчитывать урон от дотов каждый ход ( в плане случайного значения) или стоит 1 раз зафиксировать?

Автор:  Морган [ 11 июн 2011, 18:32 ]
Заголовок сообщения:  Re: Движок заклинаний, калькулятор и все такое

allexdav писал(а):
Вопросы по баффам/дебаффам/дотам:
Если наложить дот Ожог 2 раза. но в промежутке защита цели от эфирного урона вырастет, то как будет считатся урон после второго наложения.
Иными словами
Пусть защита была 100%.
Наложив дот ожог в течении 3 ходов будет урон допустим 10.
защита выросла до 200%
Потом еще раз наложили дот ожог.
1)Урон будет 10 * 1.25 = 12
2) Или нужно пересчитывать урон заново (случайное число на 0.25 плюс остальное на изменившуюся защиту)?

Урон от дота пересчитывается каждый ход, вне зависимости от того, менялась ли защита и усиливался ли дот.
Допустим, первый ход: возможный базовый урон 9-12. Выпадает 10.
Модификаторы защиты: 100%.
Модификаторы атаки: 225%.
Подсчет модификаторов: 225% - 100% = 125%
125% от базового урона 10 = 12,5 ед. урона получает персонаж (округляется в меньшую сторону до 12)

Второй ход:
Модификаторы защиты повысились до 200% (допустим, в результате того, что персонаж на себя заклинание наложил, повышающее соотвестствующий тип защиты на 100%).
Модификаторы атаки дота повысились на 25% за счет его обновления и стали = 250%.
При переходе хода опять тикает дот. Возможный базовый урон 9-12. Выпадает 11.
Подсчет модификаторов: 250% - 200% = 50%
50% от базового урона в 11 = 5 ед. урона.
Цитата:
Для варкастов считаю урон так (огненное копье)
t.hp = -(c.random(c.min_damage,c.max_damage)*(2+0.05*c.ms+0.05*c.ts+0.25*abs(c.positionX-t.positionX)+0.25*abs(c.positionY-t.positionY)+c.ether_attack-t.ether_defence))
Жизни = -( Урон оружия * (200%+5%*MC+5%*TC + 25%*расстояние + Эфирная атака кастера - эфирная защита цели))

Я так понимаю что атака кастера в дотах не используются. Так ли это?

Не совсем понял, о какой "эфирной атаке кастера" идет речь. Что ты под этим подразумеваешь?

Автор:  allexdav [ 11 июн 2011, 18:40 ]
Заголовок сообщения:  Re: Движок заклинаний, калькулятор и все такое

Про доты понял.

Про атаку кастера - это
Приращение Огня. Урон от заклинаний Огня, создаваемых персонажем, будет увеличен на 50%+3*ур.персонажа, а длительность дальнейших бафов и дебафов, создаваемых персонажем с помощью этой стихии, возрастет на 3 хода.

То есть персонаж под этим бафом будет бить сильнее.
Этот факт и отражает "атака кастера"

Автор:  allexdav [ 11 июн 2011, 18:45 ]
Заголовок сообщения:  Re: Движок заклинаний, калькулятор и все такое

На самом деле в дальнейшем там будет масса других модификаторов урона, пока я местами упрощаю

Автор:  Морган [ 11 июн 2011, 18:55 ]
Заголовок сообщения:  Re: Движок заклинаний, калькулятор и все такое

allexdav писал(а):
Про атаку кастера - это
Приращение Огня. Урон от заклинаний Огня, создаваемых персонажем, будет увеличен на 50%+3*ур.персонажа, а длительность дальнейших бафов и дебафов, создаваемых персонажем с помощью этой стихии, возрастет на 3 хода.

То есть персонаж под этим бафом будет бить сильнее.
Этот факт и отражает "атака кастера"

А, понятно. Ты о модификаторах, влияющих на урон.
Ну в большинстве случаев в описании конкретного модификатора указывается, какие типы заклинаний он усиливает. Конкретно "Приращение огня" усиливает урон всех огненных заклинаний (воззваний, варкастов, дотов). Дот усиливается 1 раз.
Т.е. допустим, игрок 20 ур. накладывает огненный дот с общей суммой стартовых модификаторов атаки = 200%.
Затем он бафается "Приращением огня" и обновляет этот дот.
Модификаторы атаки для дота будут уже = 200% (основные) + 25% (за обновление дота) + 110% (за "приращение огня")
Для данного дота в дальнейшем уже не имеет значения, висит ли "приращение огня" на персонаже или нет. "Приращение" дало бонус и этот бонус "сохранится" в доте пока дот существует. И второй раз "Приращение" бонуса уже не даст этому заклинанию.
Т.е. положим, на следующем ходу "Приращение" с персонажа сняли, а он еще раз обновляет дот:
Модификаторы атаки: 225% (=200% основных + 25% за первое обновление) + 25% (новое обновление) + 110% ("приращение огня").

Автор:  allexdav [ 11 июн 2011, 19:12 ]
Заголовок сообщения:  Re: Движок заклинаний, калькулятор и все такое

Морган писал(а):
allexdav писал(а):
Про атаку кастера - это
Приращение Огня. Урон от заклинаний Огня, создаваемых персонажем, будет увеличен на 50%+3*ур.персонажа, а длительность дальнейших бафов и дебафов, создаваемых персонажем с помощью этой стихии, возрастет на 3 хода.

То есть персонаж под этим бафом будет бить сильнее.
Этот факт и отражает "атака кастера"

А, понятно. Ты о модификаторах, влияющих на урон.
Ну в большинстве случаев в описании конкретного модификатора указывается, какие типы заклинаний он усиливает. Конкретно "Приращение огня" усиливает урон всех огненных заклинаний (воззваний, варкастов, дотов). Дот усиливается 1 раз.
Т.е. допустим, игрок 20 ур. накладывает огненный дот с общей суммой стартовых модификаторов атаки = 200%.
Затем он бафается "Приращением огня" и обновляет этот дот.
Модификаторы атаки для дота будут уже = 200% (основные) + 25% (за обновление дота) + 110% (за "приращение огня")
Для данного дота в дальнейшем уже не имеет значения, висит ли "приращение огня" на персонаже или нет. "Приращение" дало бонус и этот бонус "сохранится" в доте пока дот существует. И второй раз "Приращение" бонуса уже не даст этому заклинанию.
Т.е. положим, на следующем ходу "Приращение" с персонажа сняли, а он еще раз обновляет дот:
Модификаторы атаки: 225% (=200% основных + 25% за первое обновление) + 25% (новое обновление) + 110% ("приращение огня").


То есть дот это как бы некая структура которая висит на цели и получает часть модификаторов урона кастера, которые были в прошлом на момент каста/обновления, причем не снимаемые и неограниченной длительности.
Это все немного усложняет, но ладно.

Автор:  allexdav [ 11 июн 2011, 19:55 ]
Заголовок сообщения:  Re: Движок заклинаний, калькулятор и все такое

Еще вопрос
Приращение Огня. Урон от заклинаний Огня, создаваемых персонажем, будет увеличен на 50%+3*ур.персонажа, а длительность дальнейших бафов и дебафов, создаваемых персонажем с помощью этой стихии, возрастет на 3 хода.

длительность дотов и связующих не возрастает?

Автор:  Морган [ 11 июн 2011, 19:56 ]
Заголовок сообщения:  Re: Движок заклинаний, калькулятор и все такое

allexdav писал(а):
То есть дот это как бы некая структура которая висит на цели и получает часть модификаторов урона кастера, которые были в прошлом на момент каста/обновления, причем не снимаемые и неограниченной длительности.

В общем, да. Длительность этих всех бонусов, которые игроку удалось "напихать" в свой дот, совпадает с длительностью самого дота.
Цитата:
Приращение Огня. Урон от заклинаний Огня, создаваемых персонажем, будет увеличен на 50%+3*ур.персонажа, а длительность дальнейших бафов и дебафов, создаваемых персонажем с помощью этой стихии, возрастет на 3 хода.

длительность дотов не возрастает?

Не возрастает. И длительность контролей не возрастает.

Автор:  Эйн Ди [ 11 июн 2011, 22:01 ]
Заголовок сообщения:  Re: Движок заклинаний, калькулятор и все такое

allexdav писал(а):
(т.е. наибольшее значение Х может быть 5, если персонаж и цель стоят на максимальном расстоянии).

Если расстояние максимально, то оно равно 6. Соответственно, тогда x=4.

Автор:  allexdav [ 11 июн 2011, 22:38 ]
Заголовок сообщения:  Re: Движок заклинаний, калькулятор и все такое

I_m писал(а):
allexdav писал(а):
(т.е. наибольшее значение Х может быть 5, если персонаж и цель стоят на максимальном расстоянии).

Если расстояние максимально, то оно равно 6. Соответственно, тогда x=4.

Это частный вопрос как этот эффект должен считаться. Не приоритетно.
Но по идее правильное замечание :)

Автор:  allexdav [ 16 июн 2011, 13:27 ]
Заголовок сообщения:  Re: Движок заклинаний, калькулятор и все такое

В общем после выяснения того что дот это некий объект а не функция, что не влезло в модель :) пришлось переделать ряд вещей. В ближайшее время продолжу.

Автор:  Морган [ 17 июн 2011, 22:07 ]
Заголовок сообщения:  Re: Движок заклинаний, калькулятор и все такое

Lex и allexdav, пишите хотя б раз в неделю, на какой стадии находитесь. Нам же всем интересно. Если вам не влом, конечно. :)

Автор:  Lex [ 17 июн 2011, 22:16 ]
Заголовок сообщения:  Re: Движок заклинаний, калькулятор и все такое

Морган писал(а):
Lex и allexdav, пишите хотя б раз в неделю, на какой стадии находитесь. Нам же всем интересно. Если вам не влом, конечно. :)

Аааа! Оо Отчеты!!!!111

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

ЗЫ. Забыл добавть - имеется в виду лайт версия

Страница 1 из 3 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/