В этой теме предлагаю делиться соображениями по поводу различных боевых систем и их реализации на Axma Story Maker.
И начну с обещанного примера. Честно говоря, пока я делал пример, то уже забыл, какие были исходные требования к системе, но, думаю, общий принцип будет понятен.
Собственно, боевая система представлена в игра «Арена».
Исходный проект для ASM лежит вот здесь.
Не уверен, что мне удалось добиться нормального баланса, но можете скачать проект и покрутить сами.
Комментарии я старался оставлять, когда вспоминал, а если что — спрашивайте.
Неактивен
На седьмом уровне вместо значений харатеристик стали выскакивать NaN и всё сломалось
ПС. Где-то пустые значения '' появились вместо нулей, видимо. Возможно из-за востановления, может в движке баг.
ППС. Да, баг проявляется именно после восстановления.
Неактивен
Очень понравился экран восстановления, то, что он реалтаймовый. Пробую вчитаться в математику, что-то пока с трудом понимаю, как и что там вычисляется (увы, гуманитарные мозги, обычно пару дней надо, чтоб что-то такое переварить). Нет ли случайно упрощённого описания формул боёвки?
Интересно было бы сделать и битву реалтаймовой (в лучших традициях Eye of the Beholder), когда неприятель атакует по <<loop>>, и игрок может кликать "Атаковать!" только раз в N секунд, и период этот модифицируется ловкостью (или спеллом haste).
Отредактировано sosiskin (14.08.2013 00:07)
Неактивен
DoubleDragon, спасибо! Буду искать.
sosiskin, я, к сожалению, не играл в Eye of the Beholder. Но идею насчёт реалтаймовой битвы стоит проверить и потестировать. Звучит интересно. Только с любым реалтаймом в текстовых играх такая известная проблема, что все читают с разной скоростью. Разве что в битвах не выводить никакого лога, а только самое необходимое. Полоски здоровья, кнопки манёвров и скилов, и цифры урона. А лог битвы смотреть уже потом в «журнале».
Насчёт упрощённого описания механизма боёвки, возможно чуть позже сделаю. По крайней мере ключевые моменты.
Неактивен
DoubleDragon написал:
Да, баг проявляется именно после восстановления.
Переписал код экрана восстановления, всё равно собирался это сделать. Заодно увидел, что не все случайные строки отображались.
Плюс исправил ошибку, которая возникала при вводе имени из одной буквы.
Неактивен
Сорри за терминологию, под воостановлением и имел ввиду загрузку сейва игры
Неактивен
Ребят, всё бы хорошо. Математика и всё такое, НО!
На тему боёвок столько копий сломано. И вы сейчас начали прямо сначала.
Самое главное - боёвка из одной кнопки никому не интересна. В игре её просто будут прокликивать, не читая коменты.
Советую почитать предыдущие рассуждения по этому поводу, кажется даже на этом форуме были темы.
Неактивен
Ну раз предложения принимаются.
Вся досада от одной кнопки атаки. Значит это нужно исправить.
Вариант 1.
спойлер…
Вариант 2.
Превратить симулятор бойца в "менеджера арены". Подготовил бойца к бою, а дальше и кнопки жать не нужно, удары сами вылетают, в виде генерируемых сообщений.
Тогда кстати к списку "стандартных" выкриков, можно каждому врагу добавить "индивидуальные" фразочки.
И по реализации щита. Я однажды писал боевую систему.
У щита есть класс щита и прочность.
Например
Деревянный щит. Класс щита 4/10, прочность 3.
Обозначает, что рандом от 1-10, если выпало 1-4 урон полностью блокируется, у щита снижается 1 прочность.
Отредактировано Ergistal (14.08.2013 14:52)
Неактивен
Ajenta, я абсолютно согласен, что одна кнопка — это очень плохо. Количество кнопок непременно будет увеличено!
Ergistal, большущее спасибо за предложения! Особенно мне понравилось про щит. Наверно, именно так я у себя и сделаю, с твоего позволения. Только, как считаешь, может сделать прочность щита аналогом здоровья бойца? Т.е. каждый противник, попадая в щит, по-разному понижает его прочность. И что с прочностью щита происходит после боя? Она автоматически восстанавливается, или щит нужно нести к кузнецу? Вот и золото, кстати, пригодилось бы.
А индивидуальные фразочки у отдельных врагов уже сейчас есть, я пока не стал этим заморачиваться. В идеале же нужно все фразы сделать индивидуальными.
Неактивен
Особенно мне понравилось про щит. Наверно, именно так я у себя и сделаю, с твоего позволения.
Без проблем.
Только, как считаешь, может сделать прочность щита аналогом здоровья бойца? Т.е. каждый противник, попадая в щит, по-разному понижает его прочность.
Мне кажется, лишнее, не стоит усложнять. По крайней мере, если игра не будет предусматривать большего, чем арена. Достаточно того, что сдерживает например 3 удара в бой с вероятностью 40%.
И что с прочностью щита происходит после боя? Она автоматически восстанавливается, или щит нужно нести к кузнецу? Вот и золото, кстати, пригодилось бы
Пусть автоматически восстанавливается. Щиты - расходный материал. У викингов, например, в правилах поединка было расписано, что бойцам можно заменять 3 изрубленных щита до окончания поединка.
Думаю золото вообще лишнее, у тебя уже есть универсальный бонус-накопитель - слава.
Да и не забудь, что взяв щит, теряешь возможность сражаться двуручным оружием.
Отредактировано Ergistal (14.08.2013 15:39)
Неактивен
Morych написал:
И что с прочностью щита происходит после боя? Она автоматически восстанавливается, или щит нужно нести к кузнецу? Вот и золото, кстати, пригодилось бы.
Да, лучше, чтобы всё имело прочность и ломалось, если уж делать нормально.
Неактивен
Про двуручное оружие не забуду, спасибо. Будет две руки у бойца (внезапно) и, кроме двуручного, можно будет взять два одноручных оружия, или два щита Только у левой руки изначально бонус атаки будет понижающий, но упорными тренировками можно будет развить "двурукость".
А удары щитом, кстати, тратят прочность щита?
Ajenta, ты имеешь ввиду и оружие, и броню ломать? Может лучше сделать возможность "точить" снаряжение? При этом есть шанс улучшить харки снаряжения или вовсе сломать.
Неактивен
Ajenta написал:
Ребят, всё бы хорошо. Математика и всё такое, НО!
На тему боёвок столько копий сломано. И вы сейчас начали прямо сначала.
Вся проблема для нас, нубов, в том, что никто толком не напишет просто формулы, как и что расчитывается в бою. Примеров самого кода - навалом, на любом языке, а вот принципы расчёта понять до сих пор не удается толком.
Отредактировано sosiskin (14.08.2013 19:07)
Неактивен
Почему же нет? Вот - на здоровье: http://hyperbook.ru/download/gurps_lite.pdf
Неактивен
Неплохо было бы сделать генераторы названий всего: противников, доспехов, званий.
По формуле: Прилагательное + существительное.
и какой-нибудь такой модуль не помешал бы
Рогалик.js
Неактивен
sosiskin, как только реализую в Арене многокнопочность, так сразу и распишу алгоритм боёвки подробно, с формулами.
DoubleDragon, гурпс-лайт — это очень хорошо, но для серьёзной рпг, где у персонажа полная свобода действий, а не только бои и кач
kerber, думаю, генераторы названий появятся обязательно! Сгенерированные названия — одно из самых весёлых в таких играх. А насчёт сторонних жаваскрипт модулей, это вопрос к DD, можно ли их как-то прикрутить. Я пока не представляю, как это сделать. Можно было бы придумать монохромную рогалико-подобную карту и на асме, но, во-первых, в рогалик удобнее играть с клавиатуры, а не мышью, а во-вторых, это выходит за рамки данной темы.
Неактивен
Основной выбор лично для меня в боевых системах - это отношение к балансу. Как делать? Растить в уровне героя и вместе с ним растить в уровне монстров? Или в определённых локациях монстры определённого уровня? И делать ли этим монстрам респаун. Но всё это, конечно же, если мы говорим о текстовой рпг, будет зависеть больше от сюжета.
Отредактировано Ajenta (15.08.2013 11:58)
Неактивен
Morych написал:
Ajenta, ты имеешь ввиду и оружие, и броню ломать? Может лучше сделать возможность "точить" снаряжение? При этом есть шанс улучшить харки снаряжения или вовсе сломать.
Тоже вариант в принципе.
Неактивен
Ajenta написал:
А ещё напомню, так, между делом, что на КРИЛ в этом году есть приз за лучшую текстовую рпг
Точно же! Так, надо срочно переделывать Арену в рпг
Сейчас я ращу монстров вместе с героем, но переделаю под второй вариант, где каждый моб будет определённого уровня плюс рандомно 0-3 уровня сверху. Респаун, думаю, какой-то нужен, но для игрока он будет проходить мгновенно, тогда как герой потеряет немного той же славы, например. Ну и по логике, если ты охотишься на слабых монстров, есть шанс встретить того, кто на них тоже охотится
Неактивен
Morych написал:
Респаун, думаю, какой-то нужен, но для игрока он будет проходить мгновенно, тогда как герой потеряет немного той же славы, например. Ну и по логике, если ты охотишься на слабых монстров, есть шанс встретить того, кто на них тоже охотится
С респауном сложно считать опыт. Хотя...
Неактивен
А я пытался сделать боёвку с таймерами. Довольно интересный эксперимент, задействует не только математику и рандом, но и некоторые реакции игрока. Хотя версия пока сыроватая, чтобы показать.
Плюс эксперимент с произнесением заклинаний.
Неактивен
Ergistal, ты же видишь, что у нас много говорят, но мало делают
Поэтому, как будет что показать - присылай. Можно мне в личку, даже если альфа версия пока.
Неактивен
Привет друзья, а как вы думаете, можно ли на АХМЕ сделать карточную боёвку?
Ну просто например элементарного "подкидного дурака"? При этом про ИИ бота думать не надо заставлять.
И не обязательно код писать, просто теоретически, возможно ли?
Неактивен