воскресенье, 30 марта 2014 г.

Боёвка - первое приближение

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


Существуют два боевых режима: дуэльный и тактический.
В дуэльном режиме с каждой стороны может выступать до трёх персонажей. Если с любой стороны бойцов больше трёх, используется тактический режим боя. Мы пока рассматриваем только дуэльный.
Каждое действие занимает какое-то количество времени (тиков) на которое выставляется таймер. Действия складываются в активный стек по возрастанию задержки. При обнулении таймера действие решается. Некоторые действия имеют откат, так же выраженный в тиках. Например после удара топором нужно некоторое время чтобы снова привести его в положение для удара и преодолеть инерцию.
Защита складывается из уклонения, блока и эгиды (силы ауры). При этом каждый компонент защиты может работать или не работать в зависимости от типа атаки которую надо отразить. Например от гипноза уклонение и блок не помогают, только эгида. Отражение удара меча происходит совместно блоком и уклонением, но без эгиды. От выстрела можно только уворачиваться.
Уклонение не требует никакого снаряжения. Штрафуется тяжестью нагрузки. Если персонаж стреляет или заклинает, он не может использовать уклонение.
Блок требует наличия оружия пригодного для парирования. Может иметь разную эффективность в зависимости от снаряжения, например щит эффективнее для блока чем меч. Если оружие находится в стадии отката, оно не может использоваться для блока. Если персонаж стреляет или заклинает, он не может использовать блок.
Эгида работает всегда.
Точность атаки зависит от навыков и атрибутов атакующего, а так же случайного элемента в рамках нормального (гаусового) распределения. Например если атака героя с данным оружием равна 100. То мы берем матожидание 50, пределы от 0 до 100 и стандартное отклонение.
В момент решения атаки сравнивается атака и защита, в результате чего засчитывается либо попадание либо промах.
Если засчитывается попадание, то определяются его последствия, с учетом силы нанесенного удара, а так же брони и физической прочности жертвы. Некоторые последствия могут быть автоматическими. Например преодолевшее эгиду заклинание контроля просто берет врага под контроль. Или при попытке захвата рукой, если цель не уклонилась то она схвачена.
Если важна локализация попадания на теле жертвы (например при физической атаке), она определяется по одному из двух сценариев. Если атакующий никуда специально не целился, место локализуется случайным образом по таблице индивидуальной для строения тела жертвы со своими вероятностными весами. Если атакующий выбрал точку в которую целился, то жертва увеличивает защиту на 25% или 50% в зависимости от того крупная точка (вся рука например) или мелкая (нервный узел в локте).
Последствия физического вреда приближены к реальности. Каждое повреждение это какая-то конкретная рана в конкретном месте — синяк на лбу, прорезаная артерия, сломанное ребро, отрубленная рука и т.п.
Оружие делится на шесть категорий: безоружность, легкое, обычное, тяжелое, сверхтяжелое и установочное (mounted). Безоружным считается например человек дерущийся кулаками. Легкое оружие можно применять одной рукой и легко спрятать, большинство видов естественного оружия типа клыков и когтей считаются легкими. Обычное оружие это например меч или пистолет-пулемет, допускающие хват как одной так и двумя руками. Тяжелое оружие допускает хват только двумя руками или особым образом вроде рыцарской конной пики или сарисы в строевом бою. Сверхтяжелое оружие не применимо с рук в обычном состоянии, как меч великана или станковый пулемет. При определенных размерах тела существо может использовать тяжелое оружие одной рукой и сверхтяжелое двумя. Установочное оружие должно для применения быть установлено в некий механизм, как например башенное орудие танка или гигантское лезвие в ловушке в подземелье.
Если оружие имеет особенность «встречный удар», то персонаж с оружием меньшей весовой категории нарывается на удар если решение его атаки совпадает по времени с процессом атаки персонажа способного на встречный удар. Например: гоблин кладёт в стек действий атаку легким копьём (оружие обычной весовой категории, с особенностью «встречный удар»). Когда до удара копья остаётся 7 тиков, герой заявляет атаку кинжалом (легкое оружие) с отсрочкой 4 тика. Хотя до решения атаки копьём у гоблина остается ещё 7 тиков, его атака решается сразу, так как герой с кинжалом сам нарывается на копьё.
Возможны различные специальные действия помимо атак. В частности можно назначать парирование какой-то конкретной атаки активным действием. Даже если атака направлена не в тебя. Например: маг заклинает, враг бьёт его копьём, союзный воин вместо того чтобы атаковать врага при мечем, блокирует щитом его атаку по магу. Если атака допускает только уклонение, можно активным действием подставиться под неё, чтобы она не попала в союзника. Например закрыть союзника грудью от автоматной очереди.
При любом изменении тактической обстановки свои действия можно менять. Например маг звявляет фаербол с отсрочкой 12 тиков и не может в процессе увоарчиваться и блокировать. Через три тика один из противников заявляет автоматную очередь в мага. В этот момент маг обрывает каст фаербола и заявляет активное уклонение чтобы «спрятаться за камушком».

19 комментариев:

  1. Интересно надо глянуть на практике. Это, полагаю, ещё не готово?
    1) "Уклонение не требует никакого снаряжения. Штрафуется тяжестью нагрузки." на 100% согласен. "Если персонаж стреляет или... , он не может использовать уклонение." тут не понятно: ведь уклон основная специфика стрелков и лучников. Или же не может использовать уклон во время совершения выстрела?
    2) "Оружие делится на шесть категорий: безоружность, легкое, обычное, тяжелое, сверхтяжелое и установочное (mounted)" - отлично, кастеты и бинты то же к безоружным будет относиться?
    3)"встречный удар" можно будет перехватить и предотвратить?

    ОтветитьУдалить
    Ответы
    1. 1) Прямо во время выстрела не может. Ну или сделать как вариант что если ты уклоняешься при стрельбе то сбивается прицел и точность сильно падает.
      2) Посмотрим по логике боя, как будет вырисовываться. Но думаю что обмотки это точно безоружность.
      3) Он считается как любая другая атака.

      Удалить
    2. 1) Да лучше так)
      3) Просто я предсатвил ситуацию боя с 3мя копейщиками: выходит во время своего хода персонаж получит 3 "встречных", как то так получается...

      Удалить
    3. 3) Тут я просто не вполне корректно написал. Там алгоритм такой будет:
      1. Ты кладешь в стек атаку.
      2. Делается проверка относительно цели твоей атаки, может ли эта цель сделать встречный удар.
      3. ?????
      4. PROFIT!!!
      Остальные копейщики не имеют к этому процессу отношения. Ты же на них не нарываешься.

      Удалить
  2. Герои мечя и магии, возврат к текстовой версии. Помню на двк была така :)

    ОтветитьУдалить
  3. Охотник, извини за off, но рискну спросить.....
    А какая игра в голове, общая концепция?

    ОтветитьУдалить
    Ответы
    1. Ну теоретически мне хочется создать ролевую игру по мультивселенной вечного рима близкую к песочнице. Путь человека попавшего в туманы и далее предоставленного самого себе, с возможностью выбирать самые разные пути. В том числе например путешествовать по мирам, отлавливать рабынь и тренировать их на продажу. Но только как один из множества вариантов.
      Но пока не знаю потяну я такое или нет. Примеряюсь потихоньку. Может концепция и поменяется на что-то менее амбициозное.

      Удалить
  4. Да... и вдогонку. Вроде бы переделали плеер и на Валете он стал быстро работать. Не проще на этом плеере написать, или есть шанс, что и он "сдохнет".

    ОтветитьУдалить
    Ответы
    1. Это именно что 'плеер', он только воспроизводит, сам движок убог. Сравнивать qsp с ренпи вообще нельзя, у одного убогий язык только для мелких поделок, у второго питон, на котором пишут реальные проги.

      Удалить
    2. Питон это сила да. Сам RenPy тут скорее как библиотека для визуальной части получается.
      И возможности конечно побогаче чем в QSP. Так что нет особого смысла оставаться на нем.

      Удалить
  5. в прошлой теме обсуждалось что малое оружие с большой скоростью ударов будет рулить в отличие от реальности, не вижу в описании как будет решатся эта проблема?

    ОтветитьУдалить
    Ответы
    1. Ситемой "нарывания на удар". Описанной выше. Фактически там получается что ты приводишь скорость атаки противника к своей скорости атаки, если лезешь с коротким оружием на длинное.
      В совокупности с меньшей поражающей способностью легкого оружия, это вполне сойдет, как мне кажется.
      Будем тестировать. В крайнем случае завышу задержку легкого оружия.

      Удалить
    2. Это «встречный удар»?
      Но ведь, эта способность будет не у всех видов оружия. Какой может быть встречный удар у пулемета?
      И будет ли он действовать против любого вида оружия или опустит только легкое? Или в варианте когда гг пытается ударить гоблина мечом он тоже нарывается на встречный удар? не очень понятно.
      По идее безоружный удар еще быстрее чем ножом. Если на руках когти...мясорубка.
      может сделать "дистанцию удара"? Мол нож достает если находится вплотную, меч достает с расстояния в полметра, у пики расстояние еще больше,
      Если мечник против героя с ножом, мечник может бить сразу, герою нужно при ударе приблизится на расстояние удара, отдать на это какую то часть времени с удара с возможностью что мечник не позволит приблизится:
      ударит сам - встречный удар
      отскочит сохранив дистанцию
      займет защитную стойку в которой больше шанс не попасть по нему но удары реже.
      если получилось приблизится, следует удар, противник получает урон и естественно пытается разорать дистанцию
      как то так

      Удалить
    3. Хм... есть над чем подумать. Логически: у кого длинее оружие- тот и "встречает" (кинжал - шпага, сабля - пика), у кого короче - тот больше наносит ударов, слабых, но с возможностью крита. Но ещё следует учесть фактор навыка владения что б "встречать"(крестьянин с вилами или гвардеец) понятное дело, что крестьянин не в состоянии это применить)

      Удалить
    4. А нажать спусковой крючок на пулемете это даже быстрее чем ударить кинжалом. Так что там никакого встречного удара не понадобится. Но баланс огнестрельного и рукопашного оружия в рамках боевки без дальности он вообще острый да.
      Встречный удар работает у оружия которое больше по размеру против оружия которое меньше по размеру.
      Удар когтями кстати идет по дуге и выполнять его дольше чем тычок ножом. Так что это вопрос. Когда оружие уже сопоставимо по весу с кулаком там выигрыш от его облегчения даёт все меньший и меньший прирост к скорости.
      Вот дистанций бы и не хотелось как раз. Потому что когда у тебя дерутся трое на трое приходится считать дистанцию каждого от каждого. Вообще введение такой сущности как расстояние в бой, создаёт целый пласт отдельной работы. Хотелось бы обойтись без этого.
      Крестьянин с вилами вполне способен принять на вилы гвардейца пытающегося достать его кинжалом )))

      Удалить
    5. Ну Вы сказали: Я ж конкретно упомянул про оружие рукопашного боя)
      Про огнестрельное и дальнего боя отдельная песня.
      Вообще то и кинжалом то же можно то же дугой ударить с тем же эффектом и не только когтями.
      Я же имел ввиду гвардейца с пикой(понятное дело, что тот даже кинжала в руки не возьмёт из принципа) и всё это по отношению к протогонисту....

      Удалить
  6. Лично мне кажется, что множителей защиты должно быть больше.
    Я бы разбил их на следующие категории.
    Первая. Физические модификаторы защиты (ФМЗ)

    1) Уклонение. Как вы и написали штрафуется весом. Кстати вопрос учитывается вес только снаряжения, или еще и того, что лежит в инвентаре? Имею в виду, то, что инвентарь может быть как и у каждого персонажа отдельный, так и общий для всех. Второе. Вес зелей, боеприпасов, свитков и прочего учитывать нужно? Или используем только вес брони и оружия?

    2) Блокирование. Возможность заблокировать удар противника, вот только вопрос стоит ли учитывать, то что к примеру удар 500 кг молота какого-нибудь великана простым щитом не заблокировать. Если щит простой то естественно не заблокировать. Если щит является артефактом то возможны варианты. но опять же вопрос упирается в пределы блокирования. Кстати. у щита будет такое понятие как прочность?

    Кстати вопрос. Может стоит сделать для любого стека блокировать атаку? Точнее возможность прикрыть своего или же возможность блокировать атаку определенного противника.

    3) Парирование. Возможность отвести атаку противника в сторону.

    4) Контратака. Возможность Контратаковать противника

    С ФМЗ вроде все. По крайней мере больше ничего в голову не приходит.

    Переходим к Магическим. (ММЗ)

    1) Сила воли. Влияет на защиту от заклинаний ментального типа.

    2) Сила Ауры. Любопытный вариант. Чем больше ты колдуешь тем сильнее аура. Что в целом кажется будет логичным Далее логично предположить, что чем сильнее аура тем сложнее тем больше в ней энергии. Далее логично предположить, что для влияния заклинанием на тело необходимо преодолеть сопротивление ауры. Из этого можно вывести, то, что к примеру повлиять на мага использующего заклинания 80 круга, магией первого круга нереально. Или же для имеющего энергонасыщенность ауры больше чем вложено в заклинание раз в 1000. Опять же условно. Кстати вопрос. Цена заклинания будет нормированной или же может быть изменена. То есть в разгар боя можно напитать огненный шар 10 или же 100000 единицами маны на выбор.

    3) Защитная аура. Активные и пасивные шиты(магические) и прочее.

    4) Эгида. В переводе покровительство. Покровительство бога, стихии, духа. Бонусы. К примеры при получении покровительства огненной стихии заклинания или же артефакты наносящие урон огнем перестают на вас действовать. Получение покровительства того же Марса даст бонус к атакам. Но опять же получить покровительство должно быть не просто трудно, а очень трудно. Кстати, что логично покровительство должно быть уровненным. Т.е. чем больше у тебя ранг покровительства тем сильнее бонус. Что еще любопытнее по идее для получения начального покровительства достаточно посвятить себя определенной стихии/богу. С той же стихией огня. Первый уровень покровительства - игнорирование ТРЕХ единиц огненного урона, или же 3% огненного урона. Последний уровень игнор всего огненного урона.

    Переходим к особым модификаторам защиты. (ОМЗ)

    1) Расовые бонусы. К примеру бить великана кинжалом бесполезно, лишать кислорода голема бессмысленно. А призраку можно нанести урон только магией или же зачарованным оружием, ну или серебряным. Оборотню побоку удары кинжалами, шпагами, рапирами. Только тяжелое оружие, способное или проткнуть его целиком или отрубить конечность, ну и наверное плюс сопротивление к начальной магии.

    Что еще сюда приписать даже не знаю. Во всяком случае сейчас в голову ничего не лезет. Если нужно могу накатать про классификацию оружия и магии.

    ОтветитьУдалить
  7. Лично мне кажется что больше трех базовых пассивных защит это уже переусложнение. Картина боя должна быть интересной, но при это сразу охватываться взглядом. Учесть восемь защит одновременно это на пределе человеческих возможностей.
    1) Скорее всего там будет инвентарь быстрого доступа который всегда на персонаже и считается в боевой вес. Упакованный инвентрарь (рюкзак) можно перед боем скинуть и он не считается. Так же как инвентарь на вьючном животном например перевозимый. Учесть можно вес всех предметов это не особо сложно. Сложнее с распределением веса. Мешок картошки на плече весом 20 кг мешает драться значительно больше чем 20 кг доспехов грамотно распределенных по всему телу. Буду думать на эту тему. Скорее всего просто введу модификаторы.
    2) Да, эффективность блока будет зависеть от веса и типа оружия. Да щиты можно будет разбивать. По крайней мере у меня есть это в планах, если не обломаюсь со сложностью реализации - сделаю.
    3) Парирование это активное действие которое заявляется и кладется в стек против конкретного удара. Я же вроде писал об этом.
    4) Не нужна.
    5-8) Не вижу смысла так сильно расщеплять психическую защиту. Это будет только запутывать игрока.
    Бонусы зависящие от типа персонажа будут, да.

    Магия будет достаточно специфичной, учитывая тематику игры и законы мультивселенной ТВР. Что можешь за оружие?

    ОтветитьУдалить
    Ответы
    1. Приветствую. Прошу прощения, что не писал ранее. Мой ноутбук приказал долго жить(
      За неделю обдумывания набросал черновую схему. Если еще интересно могу скинуть. Обрисую как я вижу боевку целиком, так сказать.

      Удалить