Помогите с системой боя
| |
SoWa | Дата: Вторник, 21 Декабря 2010, 17:12 | Сообщение # 1 |
частый гость
Сейчас нет на сайте
| Доброго времени суток! Хочу попросить помощи в создании системы боя. Происходить будет автоматически, как во многих играх: игроку представляются только результаты каждого шага. Итак, от каких параметров зависит бой: - Сила - Защита - Ловкость От ловкости предполагаю будет зависеть первенство хода, увороты, криты и двойные удары. Сила и защита друг против друга. Но как их связать вместе так, чтобы был баланс между "крайностями" - сильным, защищенным и ловким игроком? Буду очень благодарен за подсказки или за ссылки на любые игрушки, где есть похожее. ЯП желательно PHP/C/C++/C#. /*Когда разбирал одну попавшуюся игрушку, там от защиты никак не зависел урон, прилетающий по персонажу, это печально*/
ActionScript-программист. Так же Flash Media Server, C#, PHP. Рисовать не умею и не люблю. Ищу проект, желательно где есть грамотный менеджер, дизайнер и художник.
|
|
| |
Imalter | Дата: Вторник, 21 Декабря 2010, 17:49 | Сообщение # 2 |
частый гость
Сейчас нет на сайте
| Чуть побольше конкретики, пожалуйста! 1)У тебя ровно три параметра, влияющие на бой? других нет? 2)Какие события бывают - ход по очереди, крит(какова величина - х2, х3?), уворот, двойной удар(нужен ли он, если есть крит?), какие еще события? Блок? и т.п. 3)В каких диапазонах числа - минимум, максимум в игре. Можно конечно сделать гибкую систему, но зная числа будет попроще.
|
|
| |
SoWa | Дата: Вторник, 21 Декабря 2010, 18:07 | Сообщение # 3 |
частый гость
Сейчас нет на сайте
| О, правда ) Да, у меня ровно три параметра, влияющих на бой. Про крит в запале написал я видимо, это одно и то же что и двойной удар ) х2. Минимум значения могут принимать 3, максимум 300(высокие уровни, топовый шмот) О событиях: Да, ходы по очереди, но не как в БК, когда нужно выбирать, а автоматом - как в Ботве. Возможен уворот. Возможен двойной удар(по концепции игры он более уместен, чем крит. Оружие огнестрельное) Как это должно происходить примерно: Начало. Сервер определяет, кто первый бьет. Затем вычисляет урон в зависимости от Силы атакующего и Защиты оппонента. Вычитает из ХП оппонента этот урон. Если прокатывает двойной удар, то еще раз. Затем ход передается, и опять вычисляется урон второго по первому, и все по кругу. В голове есть еще критический момент для системы: если встретятся два персонажа таких: Персонаж1: Сила 10, Защита 20, Ловкость 10. Персонаж2: Сила 20, Защита 10, Ловкость 10. Тогда их Сила врезается в Защиту, и как-то надо делать так, чтобы не по 0 был урон...
ActionScript-программист. Так же Flash Media Server, C#, PHP. Рисовать не умею и не люблю. Ищу проект, желательно где есть грамотный менеджер, дизайнер и художник.
|
|
| |
The_Witcher | Дата: Вторник, 21 Декабря 2010, 20:27 | Сообщение # 4 |
The Witcher
Сейчас нет на сайте
| Quote (SoWa) Тогда их Сила врезается в Защиту, и как-то надо делать так, чтобы не по 0 был урон... Нужно сделать минимальную и максимальную атаку. Тогда число атаки будет рандомное, но определённых пределах, а шанс ничьи сравняется почти с нулём.
|
|
| |
SoWa | Дата: Вторник, 21 Декабря 2010, 22:53 | Сообщение # 5 |
частый гость
Сейчас нет на сайте
| Спасибо за такую идею! Сейчас попробую накидать тестовую программку с учетом этого. Пределы мин/макс атаки думаю расставить в зависимости от ловкости, как первый вариант. Второй вариант, чтобы по 0 не били - пусть сколь угодно большой разброс будет в броне обороняющегося и атаке нападающего(Атакующий А10, защищающийся Б100), но даже такая броня максимально будет срезать 95% урона(как в Fallout было, что параметр не может быть 100%, только 95%) А как по Вашему мнению, при таких характеристиках как еще можно задать пределы мин/макс атаки? Добавлено (21.12.2010, 22:53) --------------------------------------------- В данный момент пробую вот такую систему расчета урона(как в PerfectWorld) На каждый уровень я рассчитал максимальное количество Защиты. Сопоставить его порезке 95% урона. Нехитрая математика - 95/Макс.защита = число, сколько пунктов защиты составляют 1% порезки урона. Например, 15 уровень. Если делать все возможное, то максимально мы добьемся 103 защиты. И для расчетов боя: 95/103 = 0,922330097087378. Итак, бой начинается. Атакующий бьет своим уроном. Пусть у защищающегося 57 защиты. Считаем: 57/0,922330097087378 = 61,8 ~ 62% урона срежем. Так как в игре запрещены "избиения младенцев", и максимальная разница в уровнях между сражающимися 3, то думаю, такая система не самая ужасная, какую можно придумать. Как на Ваш взгляд это? Есть идеи?
ActionScript-программист. Так же Flash Media Server, C#, PHP. Рисовать не умею и не люблю. Ищу проект, желательно где есть грамотный менеджер, дизайнер и художник.
|
|
| |
The_Witcher | Дата: Вторник, 21 Декабря 2010, 23:00 | Сообщение # 6 |
The Witcher
Сейчас нет на сайте
| Три параметра для браузерки мало. Сделать нужно ещё как минимум три. Тогда и логичную взаимосвязь легче придумывать будет, и будет больше комбинаций так называемых "билдов".
|
|
| |
SoWa | Дата: Вторник, 21 Декабря 2010, 23:09 | Сообщение # 7 |
частый гость
Сейчас нет на сайте
| Думал однажды над введением еще трех статов... но больше 5 минут не получилось думать Буду думать еще. Если я правильно понял тебя - при 5-6 статах логика становится проще от того, что статы парные: крит-антикрит, блок-антиблок, ит.д. да? Надо ведь это дело еще в концепт игры уложить Буду размышлять еще, а пока руки накодят такую систему ) В любом случае, благодарю за совет и помощь!
ActionScript-программист. Так же Flash Media Server, C#, PHP. Рисовать не умею и не люблю. Ищу проект, желательно где есть грамотный менеджер, дизайнер и художник.
|
|
| |
Oltopeteeh | Дата: Понедельник, 24 Января 2011, 11:02 | Сообщение # 8 |
частый гость
Сейчас нет на сайте
| Так, и что получилось в результате?
Геймдизайнер (креатив).
|
|
| |
|