среда, 3 января 2018 г.

Практическая магия

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

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


Ссылочка на блог с новостью и описаниями.
https://lamagiepratique.blogspot.ru/

А пока я работаю над небольшим дополнительным паком уровней к "Ледяным шарам".

воскресенье, 7 мая 2017 г.

Ледяные шары

В перерыве между рыцарем и ДДД выпустил небольшой паззл на закатывание шаров.

Название: Ледяные шары или Приключения Буук-Мага в открытом космосе.
Жанр: CavePuzzle
Создатели: CaveMonsters (caveman, Maramonster)
Дата выхода: вышла, май 2017
Мейкер: VX Ace
Графика: RTP/Samurai RTP, самопал (Lipton)
Музыка: Maramonster

Простой пазл на закатывание шаров в дырки. Он состоит из 43 уровней-загадок, размером с асевский экран. Цель каждого уровня - закатить ледяные шары в дырки, чтобы пройти дальше.
С музыкой и звуками подсобил MaraMonster, остальное - сам.

Из технически интересного - самописный скрипт на экран уровней, деленный по главам, оказывается и в мейкере довольно легко внедрить левельную систему.

Из левельно интересного - различные фичи помимо простого закатывания:
- Кнопки и преграды
- Цветные шары и дыры (в том числе, возможность менять цвет на ходу)
- Дыры-порталы, переносящие шар в другое место, не меняя направления

Ссылка на топик https://rm-dev.info/forum/ready/98-vx-ace-ledyanye-shary#724
и архив с игрой yadi.sk/d/hdK8Rrf_3GMb9L

Немного скринов, чтобы понимать, о чем вообще речь:




суббота, 10 сентября 2016 г.

Хитрости для Yep_BattleAICore

Это прекрасный скрипт для МВ, позволяющий тегами довольно гибко настроить поведение врагов. Линк тут http://yanfly.moe/2015/10/19/yep-16-battle-a-i-core/

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

Как известно, счет строк под <AI Priority> происходит по порядку сверху вниз, и первое удовлетворяющее условие и реализуется.

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

Написать два рандома типа Random 50%: Skill 10, Lowest HP% друг под другом просто, но как это увязать еще и с количеством ХП.


Тут на помощь приходит Eval, в который можно подсунуть несколько условий через && (чего в обычном режиме нельзя).

Вот пример выше переписанный под eval:
<AI Priority>
eval user.hp / user.mhp <= 0.5 && Math.random() <= 0.3: SKILL 41, <<nothing>>
eval user.hp / user.mhp <= 0.5 && Math.random() <= 0.5: SKILL 42, <<nothing>>
Always: SKILL 40, <<nothing>>

</AI Priority>

user - это тот, на ком проверяется, mp/mhp <= 0.5 и есть реализация HP% param <= 50% , а далее через && тот самый рандом. Math.random() генерирует случайное число от 0 до 1, ну и проверка, соответственно, проста.

Зная чутка, как устроены классы баттлеров, евалом можно творить много чего.

понедельник, 19 октября 2015 г.

Статусы

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

Сходу быка за рога и к основным статусам.

Статусы на параметры

Это статусы, меняющие на время параметры бойца (атк, защ, мат, мдф, аги, удч) в процентах. Для масштабных игр я заготавливаю по 3 уровня изменения, примерно 25, 50, 75% в случае уменьшения (% от полного) и 125, 150, 175% в случае увеличения. 

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

Также возможны статусы - комбинации изменений, например, ярость - повышающая атаку, но снижающая защиту.

Длятся эти статусы 3-4 хода, и одинаковые разных уровней не стакаются, а при расчетах выбирается статус с наибольшим действием.

Статусы на элементы

Это статусы, меняющие параметр сопротивления/уязвимости к элементу. Из-за странностей расчета мейкера для этого я применяю такой скрипт (http://forums.rpgmakerweb.com/index.php?/topic/13563-element-ex-v104/

Так же, в масштабных играх можно заготовить по нескольку уровней изменения, и здесь расчет несколько иной:
def: +0.25 в тегах по скрипту выше - это снижение урона от элемента на 25%
def: -0.5 в тегах по скрипту выше - это увеличение урона от элемента на 50%
То же самое с атакой. 

При этом скрипт учитывает базовое (с героя, шмота) значение сопротивления или силы элемента. Чистый герой имеет 100% или 1.0 силы или сопротивления элементу. и последующие манипуляции идут от этой цифры. Так что, если у врага 125% защиты от огня, а ты ему скинул 25%, то у него будет 100% защиты от огня и дамаг пройдет без изменений.

Длительность тоже ставится в 3-4 хода.


Замечу, для того чтобы отработать полностью первые два пункта (по три уровня), необходимо по каждому параметру  иметь 2*3 = 6 статусов:
- увеличение параметра себе
- уменьшение параметра врагу
А по элементу - 4*3 = 12 статусов:
- увеличение силы себе
- увеличение защиты себе
- уменьшение силы врагу
- уменьшение защиты врагу

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

Скользящий урон и регенерация

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

Я за слип дамаг, но с некоторыми условиями:
1) Не выносить статус за пределы боя. Это маразматично и рушит все боевую концепцию игры, какой бы она не была. Исключение - активные боевки типа XAS, но там действие яда/регена должно быть повешено на таймер.
2) Делать доступными предметы/скиллы, снимающие вредный статус. Также можно делать скиллы, снимающие реген.
3) Ни разу еще не пробовал, но, думаю, что стоит сделать смерть от статуса в бою (для аси это просто галочка в закладке system). 
4) Не превышать реген или урон 15-20% за ход, и, в случае больших уронов, делать маленькую длительность статуса.

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

Далее, полезно иметь несколько видов слип дамага (а вот разнообразия регенов я не видел), например - яд, кровотечение, болезнь. Враги могут иметь иммунитет к некоторым из них, а к другим нет, а герой - применять те или иные лекарства или носить подходящую экипировку с защитами от статуса. Разнообразие - это хорошо. 
То же самое верно для статусов, что будут описаны далее (типа стан/падение/паралич и прочее)

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

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

Комбинации слипов тоже возможны, например, болезнь или проклятье может сносить как жизнь, так и ману.

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

Прочие статусы

Осталась небольшая кучка статусов, которые и рассмотрим скопом:

Запрещающие статусы

Это запрет на какое-то действие, например:

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

- Применение определенного вида скиллов. Если игра делит скиллы на разные типа (например, навыки и магия), то статус может запретить пользоваться магией. Или навыком, по вкусу. Главное - это объяснить описанием статуса.

- Смерть (запрет на жизнь :)). Скиллы на внезапную смерть тоже злые в случае битв 1 на 1, но в больших партиях их можно использовать, если сделать доступным также и воскрешение. Еще забавный вариант - капающая смерть (типа через 5 ходов ты умрешь), но без доп. скриптов это в мейкере тяжело реализовать.

Здесь главное - не переборщить с длительностью, особенно в случае запретов на движение. 1-2 хода достаточно.

Статусы, меняющие поведение

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

Отражение и поглощение

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

Поглощение - это:
- Поглощение урона от определенного элемента (он не калечит, но лечит) - по сути это крайне усиленный статус из второго пункта. 
- Вампиризм, поглощение жизни/маны при атаке/магии. В отличие от подобного навыка, этот статус применяется к любому урону.
Эти статусы тоже можно отнести к разряду сильных, и не стоит давать их надолго, за исключением особо хитрых боссов.

Иммунитеты

Это полный иммунитет к чему либо: к общему урону физ. или маг., либо к элементу, либо к статусу.
Иммунитеты к элементу не очень злые, их можно ставить и не на один ход, а вот к общему урону - это уже вполне себе имба.
Иммунитеты к статусам лучше накидывать скопом, иначе скилл, дающий это, становится довольно бесполезным, и ставить их на 4-5 ходов - вполне нормально. Вспоминаются славные бои в BG2 при встрече с итиллидами, кто кого переплюнет - иммун или очередной хитрый ментальный статус.

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

воскресенье, 18 октября 2015 г.

Маленькая идея исследований

Очередная набросок механики для мейкера или околоподобных конструкторов. Рпг-исследование для vxace, например.

Сюжет 1: 
Герой-принц просыпается один-одинешенек в своем замке, где нет ни души. И на свой страх и риск исследует окрестности в поисках того, где все, что случилось и кто виноват.

Механика 1:
В игре доступны три режима:
1) Дворец и около. Здесь герой может бегать, болтать с неписями (которые появятся по ходу дела), качать экип и прочее, отдыхать, перенастраиваться.
2) Карта. Это отдельный полустратегический режим. Выглядит как карта, поделенная на биомы - области. Часть из них закрыта туманом войны, попасть на которые можно уже с открытой карты (поначалу открыт биом замка).
При выборе карты становятся доступны опции:
- Исследовать. Исследовать биом. С неким шансом можно наткнуться на что-то интересное, и в любом случае, увеличить степень исследованности биома.
- Пойти в открытые ранее места. Эта опция ведет либо к событию (типа нашел колодец, а рядом мешок с деньгами), либо на карту, где можно подраться или найти что-то полезное для себя или для сюжета.
На карту, закрытую туманом, можно попасть с полуоткрытой (процент по желанию настраивается).
3) Режим карты - тут уже мелкая рпгшка, с драками-загадками, что угодно.

Сюжет 2:
По ходу дела герой находит пикси - духов, которые поселяются в замке и могут учить героя всякому или производить мощный экип. Они потихоньку проясняют сюжет о том, что злодей побил весь замок, но героя побить не сумел, а пикси разбежались. Ну остается найти злодея и навалять ему.

Механика 2: 
Карта мира ограничена, n*m, а объекты на ней задаем:
- Либо заранее в файле, либо генерим с весами в зависимости от близости к замку.
- Врагов, призы и карты генерим как данжны либо выбираем с весами из заранее сделанных.

При желании можно ограничить или усложнить игру событиями, которые появляются после скольки-то времени, например, в какой-то биом забрались сильные враги от злого колдуна. Но в этом случае нежелательно делать игру непроходимой на каком-то этапе, после 4-5 часов игры - это не стратегическая партия в Эадоре, а исследовательское рпг.

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

понедельник, 13 июля 2015 г.

Сложности скрипта сложности

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

По делу. Игрался в ДДД со скриптом csca.difficulty и внезапно понял одну вещь - изменение сложности (имею в виду параметров врагов) на 5% дает совсем не то изменение, что казалось бы, ибо 5% -это:
  • 5% на ХП врага
  • 5% на его атаку, а из-за формул вида 2а-б на атаке и на скиллах чаще 3а-б, выходит от 10 до 15%
  • 5% на защиту
Вот и выходит +5% даст +15-20% прироста сложности  в битве с одним врагом, а с бОльшей пати и того больше. -5% соответственно облегчит игру.

О чем это я... а о том, что я в последний момент из-за сетований некоторых манчкинов на легкость на сложном, взял и поднял на 5% со второй главы, а теперь неприятно удивлен, что некоторые не погут пройти (и даже я с сейва, включив голову, помочь не могу). 

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

четверг, 14 мая 2015 г.

Поиски предметов

Очередная статья от капитана очевидность, на этот раз с уклоном в ретроспективу и про игры в жанре "поиск предметов" с точки зрения игрока.