главная турниры статьи wiki карта сайта логин

Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - Max Brown

Страницы: [1] 2
1
Аддоны / Re: Hack and Slash RPG
« : Ноябрь 04, 2012, 07:47:15 »
лучше скажите кто в это играл!
Я же.

2
User Made / Re: Пользовательские аддоны Wesnoth Life.
« : Сентябрь 28, 2012, 12:02:14 »
1. Cold War
2. Карта для MP
3. 1.10
4. http://wgent.com/wesnoth/Cold_War.zip
5. http://forums.wesnoth.org/viewtopic.php?f=15&t=37628

Эта карта - смесь Creep War и Survival eXtreme.
Установка: раззиповать архив в директорию /Program Files/Battle for Wesnoth 1.10.4/userdata/data/add-ons/
Карту написал Jinnaraka ещё для Wesnoth v1.6 и она была рабочей примерно до v1.8.5
Чтобы заработала под 1.10, мне пришлось влезать в код .cfg-файлов. После чего начал тестировать и обнаружил несколько принципиальных багов:
- Золото от убийства крипа равномерно распределялось между всеми игроками, т.е., и своим, и врагам.
- Если в одном и том же туре килялись несколько игроков, воскресал только последний из них.
- Не было никакого бонуса/пенальти за убийство/смерть игрока.
Эти ошибки я исправил, после чего добавил на карту общего врага (side 9) и в таком виде выложил на скачивание от своего имени (с сохранением упоминания имени исходного автора, ессно).
Сценарий всё ещё содержит уйму плохого кода, поскольку в WML я пока ещё новичок. Улучшения приветствуются.

3
Аддоны / Hack and Slash RPG
« : Сентябрь 28, 2012, 03:35:42 »
Собрались как-то раз Гренадёр, Мечник, Лучник и, куда же без него, Маг, в стрёмный Лабиринт добывать волшебный Скипетр и прочие сокровища. Ну, это дело известное: где сокровища - там и чудовища. А порой и того чище - полчища!
Собственно, самое трудное было поначалу как раз от этих полчищ отмахаться. Прикрывали друг другу спину, красно зелье друг другу носили, а как немного поднакачались, выстроились в походный порядок и давай всех выносить!
Первым шествует Гренадёр в красном кафтане. У него задача самая сложная: никого не убить случайно. И не только в смысле чтобы никого из своих осколками гранат не зацепило, но и в смысле чтобы даже врагов по возможности не убивать, а только ранить.
Потому как вторым следом за ним идёт Мечник. А Мечнику за каждого убитого врага soulstealer жизни прибавляет. Знай, коси хепе, благо раненых добивать - это вам не со здоровыми махаться.
Ну а уж кого Мечник не добил - того Лучник дострелит. Особенно, если у жертвы ни лука, ни арбалета, ни молнии магической, ни даже метательного ножика не водится. Чистая охота!
Вы спросите: "А Маг-то что же делает?" - А хрен его знает, что он делает. Дела магов тёмные. Но прибыльные. Только и слышно, как золотишко магическим образом всей компании в карманы сыплется: Дзззынь! Дзззынь!
В общем, обнаглели наши приключенцы от такой халявы и давай рисковать почём зря. Ну и доигрались, конечно. Не заметил Лучник, как на него вражий рыцарь наскочил, да с наскоку бошку ему и снёс. R.I.P., неосторожная душа.
Гренадёр с Мечником, конечно, от такого дела рассвирепели и многих чудищ почём зря побили. И чудищ, и повелителей ихних, и даже всяких бездельников, что типа просто погулять вышли. Ага, погулять, в серебряных коронах-то! Знаем, помним, не простим!
Да только вражина тоже ведь пощады не знает. В неравном бою, прикрывая друга, сложил голову и Мечник.
И остался Гренадёр один против толпы чудовищ. Встал в узком ущелье, гранаты мечет, иногда ещё и из лука постреливает, держится из последних сил и шаг за шагом отступает, отступает, отступает, ждёт помощи от Мага, а Мага всё нет и нет...
А Маг, оказывается, в это время в самый центр самой глубокой пещеры телепортнулся, своими заклятиями страшного Дракона закилял, волшебный Скипетр добыл и вот он, нарисовывается во всей своей красе у выхода. "Я победил!" - кричит.
Ну, то есть, конечно, в смысле "Мы победили!" - тут же поправляет себя прохиндей.
Но поздно.
Помните, я в самом начале говорил про Гренадёра? Ну, что он во всей компании единственный, кто может прострелить себе ногу. В смысле, нечаяно подорваться на собственной же гранате.
Или подорвать ею Мага.

Толстый троллинг, батхёрт, тонны анально произведённых лулзов.

4
Ты доказываешь другое от того, что говорю я)
Ну да, идеальное отношение урона именно такое. Я этого и не оспаривал. Вот его и надо поддерживать с учетом изменения кол-ва страйков и урона)) В противном же случае, на лицо противоречие самому себе, ибо фактическое отношение урона к страйком будет совершенно другим. В этом даже на практике можно убедиться))
Хватит голословных утверждений. Я тебе доказываю формулами и уравнениями - напряги моск и сделай то же самое. Возьми любое ненулевое значение Res и Def, посчитай и лично убедись (на практике, да-да), что идеальное соотношение Att/Str = PStr/PAtt всё равно остаётся идеальным.
А затем удали свой пост от 24 Ноября 2009, 01:20:38, чтобы не сбивать читателей с толку фразами типа "отпимальный эффект будет достигнут при соотношении примерно 2 к 1, а не 4 к 1 во время боя с личем".

+Еще осталось включить временные модификаторы, т.е. -25...+25 за счите ночи/дня
Ты не поверишь  :-)

5
Куда сокращается? 0.о
В /dev/null, вестимо!

Доказательство:
Перепишем значение Dmg с учётом Res и Def:
Dmg = ((1-Res)*Att)*(Str*(1-Def)) = Str*Att*(1-Res)*(1-Def)

Обратим внимание на то, что блок, в котором Res и Def никак не задействованы, от их учёта никак не изменится:
G = G(Str)+G(Att)
G(Str) = Str*PStr
G(Att) = Att*PAtt
PAtt = P = const
PStr = K*PAtt = K*P, K=const
G = K*P*Str + P*Att,
Att = (G - K*P*Str)/P = G/P - K*Str
Обозначим G/P=N, тогда:
Att = N - K*Str.
Ещё раз напомню, что в этом блоке, нацеленном на выражение Att исключительно через переменные Str и G (т.е., теперь уже через Str и N) величины Res и Def никак не участвуют, а значит - и не учитываются.

Они, правда, по-прежнему учитываются в формуле для Dmg:
Dmg = Str*Att*(1-Res)*(1-Def) = Str*(N - K*Str) * (1-Res)*(1-Def) = ( N*Str - K*Str^2 ) * (1-Res)*(1-Def) = (1-Res)*(1-Def)*N*Str - (1-Res)*(1-Def)*K*Str^2

Теперь найдём точки экстремума Dmg как функции от двух аргументов N и Str
dDmg(N, Str)/dN=(1-Res)*(1-Def)*Str != 0
dDmg(N, Str)/dStr = (1-Res)*(1-Def)*N - 2*(1-Res)*(1-Def)*K*Str
В точке экстремума, как известно, первая производная либо не определена (не интересует), либо равна нулю:
(1-Res)*(1-Def)*N - 2*(1-Res)*(1-Def)*K*Str = 0
(1-Res)*(1-Def)*N = 2*(1-Res)*(1-Def)*K*Str
N = 2*(1-Res)*(1-Def)*K*Str/( (1-Res)*(1-Def) ), где и происходит предсказанное мной сокращение множителей с Res и Def.

Итого, в точке максимума (максимальность, а не минимальность которого, при желании, докажете самостоятельно),
N = 2*K*Str
Подставляем значение Att = N - K*Str => N = Att+K*Str, получаем:
Att+K*Str = 2*K*Str,
Att = 2*K*Str - K*Str, т.е.,

Att = K*Str != K*(Str*(1-Def))/(1-Res), q.e.d.

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

6
А если хочется усложнить формулы - в расчеты еще можно включить защиту врагов от повреждений и шанс попадания)
Фигтам: она сокращается.

7
а я всем качаю так: Если 1 удар стоит 35, а 1 урон стоит 10, то если допустим у меня урон-удары 14-3 (как у драка одного там), то
[...]
выгоднее купить один страйк нежели 3 раза по 1 урона.[/b]
Проверяем. У тебя 3 страйка. Оптимально для них будет 3*3.5~=11 урона, а у тебя и так уже 14. Вывод: при 14х3 разумеется вместо 3 уронов лучше брать 1 страйк. Но.
Если у тебя в начале хотя бы 75 голды, то возможны 3 варианта:
+0 Att, +2 Str, Dmg = 14*(3+2) = 14*5 = 70 (проверяем: пропорция 14/5=2.8 )
+4 Att, +1 Str, Dmg = (14+4)*(3+1) = 18*4 = 72 (пропорция 18/4 = 4.5)
+7 Att, +0 Str, Dmg = (14+7)*3 = 21*3 = 63 (пропорция 21/3 = 7)
Как видишь, наиболее правильный вариант - это докупка 1 страйка и 4 атаки, при этом пропорция 4.5 будет наиболее близка к рекомендованной мной четвёрке и итоговое повреждение тоже будет наибольшим!
Но, замечу, при 5 ударах случайность играет меньшую роль, чем при 4. Так что, возможно, есть смысл плюнуть на 2 пункта максимальной дамаги в пользу бОльшей предсказуемости.

8
Всегда в SX играл с канкулятором))) только считалось оно раз в 100 легче и без подобных цепочек рассуждений.
Буквально - страйк стоит 35, урон 10. значит надо брать урон*3.5=страйки (собственно, финальный вывод автора.)
Цепочки рассуждений понадобились мне для доказательства того, что K=атака/страйки не зависит от количества золота G.
На самом деле, отсутствие этой зависимости вовсе не очевидно. На первый взгляд кажется, что когда голды мало, надо покупать атаку (она же "урон") и только её (и советы для Колизея в соседнем под-форуме тому яркий пример), а когда голды дофигищщо, у некоторых возникает соблазн закупить атаку и страйки в равном количестве. Типа того, что "площадь квадрата больше, чем площадь любого другого прямоугольника с той же суммой длин сторон".
А однажды лично я столкнулся в SX с кадром, у которого по жизни философия такая: "всегда покупай то, что дороже". Накупил он кучу страйков и HP, да так и ходил бесполезным балластом, пока не был съеден какими-то галимыми орками.
Так что доказательство не лишнее, да и вообще моск надо выносить почаще, а то он плесвинеет  :-)

Лучше подскажи, как корректнее учесть тот факт, что на самом деле атаки надо закупать ещё больше, чтобы увеличить шанс выноса врага с первого удара, т.е., до того, как он успеет ответить и снять с тебя сколько-то HP.

9
3) в начале игры качать не число ударов, а их силу, исключение-бойцы с большим базовым дамагом и низким числом ударов, как тяжпех, леший
Эмпирический вывод, хоть и верный, но не точный. Точная формула оптимального соотношения силы ударов к их числу приведена в моей статье про раскачку. Для Колизея она даёт соотношение сила/число = 3.5 при раскачке одного вида атаки, сила/число = 4 при раскачке обоих видов.
Говоря короче, не "в начале игры качать [...] силу", а "ВСЕГДА стараться поддерживать соотношение силы ударов к их числу на уровне от 3.5 до 4"

Замечу ещё, что эта рекомендация - общая, а в частных случаях у неё есть особенности:
- Для Фантома и особенно для Лича сила дальней (не сосущей) атаки важнее числа ударов, т.к. требуется как можно быстрее убить атакующего до того, как он успеет нанести вам серьёзные повреждения.
- По этой же причине, ближе к концу игры сила приобретает больший вес и для остальных типов бойцов, хотя и не настолько, как у личей и фантомов.

Итого, ближе к концу игры можно увеличивать соотношение силы к числу ударов с 3.5 - 4 до 5 - 6.

10
Применимость:
Все сценарии мультиплейера без вербовки, но с возможностью раскачки лидера за счёт апгрейда наносимого им повреждения в обмен на золото. Например, Colosseum, Survival Extreme, Unwelcomed Guest и т.п.

Постановка задачи:
Сколько нужно на каждый купленный удар (Str) покупать пунктов повреждения при ударе (Att), чтобы максимизировать урон (Dmg), определяемый, как произведение Str на Att, если цена (P) 1 пункта Str в K раз выше цены 1 пункта Att?
(Например, для Survival eXtreme будет PStr=75, PAtt=25, K=75/25=3, а для Colloseum K=35/10=3.5 либо, в случае одновременной раскачки дальней и ближней атаки, K=65/16~=4)
Дополнительная задача:
Зависит ли нужная нам пропорция от количества выделенного на апгрейд золота (G) ?

Ограничения:
Рассматривается только апгрейд наносимого повреждения, без учёта покупки HP(aka life points), MovP, Weapons, Abilities, Resistances, Defences, TerrainTraining и т.п.
Невозможность покупки дробного числа ударов (например, нельзя купить "полтора удара") или атаки также не рассматривается. В связи с чем,
Рекомендация:
Округляйте число покупаемых ударов в бОльшую сторону - хотя бы уже потому, что при бОльшем количестве ударов результат сражения более предсказуем и меньше зависит от случайности.

Решение:
Сначала решим задачу для начальных условий Str0=0, Att0=0 при заданном количестве G. Запишем уравнения:
Dmg = Str*Att
G = G(Str)+G(Att)
G(Str) = Str*PStr
G(Att) = Att*PAtt
PAtt = P = const
PStr = K*PAtt = K*P, K=const

G = K*P*Str + P*Att,
Att = (G - K*P*Str)/P = G/P - K*Str
Обозначим G/P=N, тогда:

Dmg = Str*(N - K*Str) = N*Str - K*Str^2

Запишем Dmg как функцию от двух аргументов N и Str и попробуем её максимизировать
Dmg(N, Str) = N*Str-K*Str^2 = max
Str > 0
N*Str > K*Str^2

Путём несложных МАТАНовских выкладок (которые я затрудняюсь опубликовать на форуме из-за отсутствия необходимых мне символов, но могу, если кому-то сомневающемуся надо, выложить на своём сайте) получаем нетривиальное решение максимизации Dmg:

Dmg = max при N = 2*K*Str, откуда столь же просто выводим искомую пропорцию:

Att=K*Str, причём независимо от G. Просто, как и всё гениальное.

Понятно, что и в ненулевом случае Str0 > 0, Att0 > 0 в пределе нужно стремиться наращивать Str и Att в итоговой пропорции K.
Более точное решение для ненулевых Str0 и Att0, опять же в силу отсутствия на форуме нужных мат.символов, выложу у себя по запросу. Впрочем, сомневаюсь, что кому-либо придёт в голову проделывать столь сложные вычисления во время игры. Гораздо полезнее просто помнить, что атаку к страйкам надо иметь в пропорции 3 к 1 для SX, в пропорции 4 к 1 для Колизея.

С уважением -
Max Brown, он же mx

11
Стандартная задача на блицкриг. Берётся выносная команда из 1-2 перекачанных коников (не обязательно великих рыцарей, хватит и уланов). К ним вербуется мясо из новобранцев-наездников, жертвуя которыми, подводим выносную команду к вражьему лидеру. И с 2-3 попыток его выносим - а тут уже и основные силы на добивание подошли.

12
не ругайся, и не оффтопь. будь я модером, удалил бы
Ээ... Если это мне, то я немножко недоумеваю, поскольку:
1. Я не ругался. Я не употребил ни единого нецензурного слова и не сказал ничего оскорбительного ни в чей адрес.
2. Я не оффтопил. Приложенный скриншот с добавленной надписью графически иллюстрирует, почему именно "Падение во Тьму" является моей любимой кампанией. Где ещё можно одним-единственным юнитом выйти на огромную (стартовая сумма у противника - 3600 золота) армию, еле-еле помещающуюся на карте - и убить их всех до единого!
3. Если меня не обманывают мои глаза, то под ником "kalenz" таки русским по белому указан статус "Модератор".

13
Суицид сосёт! Убивать всех, убивать единоЛИЧно, убивать вечно!

14
Осветуешь пройти? ни разу не видел эту кампанию.
Очень советую. На мой взгляд, самая лучшая миссия, полная очень тонкого чёрного юмора. Не тупого оркского "Шеф, у меня есть хитрый план! Пойдём и убьём их всех", а возникающего самопроизвольно при правильном некромантском прохождении.
Где-то с четвёртого-пятого героя нужн, что бы Мал-Кешара убили-будет финал. Причём хороший-они ж, глупые, не знают, что лича просто так не убить
Что-то не заметил разницы. Убиться первому же герою или через пару десятков - текст финала один и тот же.
P.S. Насчёт "забиться в тесный закуток" - этого не требуется. Можно просто нырнуть в воду, подождать, пока у ГГ самопроизвольно кончится бабло (подглядывать по Alt+S), а потом честно всех закилять. За энное (пропорциональное числу бабла у ГГ) количество ходов выносится любой противник.
P.P.S. Подсмотрел в конфиги - кампания действительно бесконечная, если только не убиться на любом герое кроме первого.

15
Так ведь хрен там! Т.е., после "Возвращения в Парфин" она, конечно, ещё появляется - в миссии "Один в конце концов". Но там её тоже нельзя убить, хотя впоследствии она в сюжете кампании никак не задействована.

Страницы: [1] 2