Воскресенье, 22 Декабря 2024, 19:10

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Помогите с системой боя
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, то думаю, такая система не самая ужасная, какую можно придумать.
Как на Ваш взгляд это?
Есть идеи? smile


ActionScript-программист. Так же Flash Media Server, C#, PHP. Рисовать не умею и не люблю.
Ищу проект, желательно где есть грамотный менеджер, дизайнер и художник.
The_WitcherДата: Вторник, 21 Декабря 2010, 23:00 | Сообщение # 6
The Witcher
Сейчас нет на сайте
Три параметра для браузерки мало. Сделать нужно ещё как минимум три. Тогда и логичную взаимосвязь легче придумывать будет, и будет больше комбинаций так называемых "билдов".
SoWaДата: Вторник, 21 Декабря 2010, 23:09 | Сообщение # 7
частый гость
Сейчас нет на сайте
Думал однажды над введением еще трех статов... но больше 5 минут не получилось думать smile Буду думать еще.
Если я правильно понял тебя - при 5-6 статах логика становится проще от того, что статы парные: крит-антикрит, блок-антиблок, ит.д. да?
Надо ведь это дело еще в концепт игры уложить smile Буду размышлять еще, а пока руки накодят такую систему )
В любом случае, благодарю за совет и помощь!


ActionScript-программист. Так же Flash Media Server, C#, PHP. Рисовать не умею и не люблю.
Ищу проект, желательно где есть грамотный менеджер, дизайнер и художник.
OltopeteehДата: Понедельник, 24 Января 2011, 11:02 | Сообщение # 8
частый гость
Сейчас нет на сайте
Так, и что получилось в результате?

Геймдизайнер (креатив).
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг