PDA

Просмотр полной версии : Мегатаймкиллер


dark256
14.08.2016, 14:29
INTRUDERS.swf
Я это сделал!
32297

caseyryan
14.08.2016, 14:58
хардкор)

undefined
14.08.2016, 16:07
надо бы подкрутить чтоб попадание засчитывалось не только когда цель находится в прицеле, но и когда цель на траектории движения пули.А то получается пули телепортируются и убивают только то, что на мушке.Я долго не мог понять почему не попадаю ни в кого.

alexandrratush
14.08.2016, 16:08
бомба)

dark256
14.08.2016, 17:51
надо бы подкрутить чтоб попадание засчитывалось не только когда цель находится в прицеле, но и когда цель на траектории движения пули.А то получается пули телепортируются и убивают только то, что на мушке.Я долго не мог понять почему не попадаю ни в кого.

Полдня пытался д______л собрать, подправить и запустить, чтобы денег бОльше было :)
Не... не хочет, зараза. Пришлось честно пройти :))))

zackscript
14.08.2016, 20:20
Alien shooter напомнило )

undefined
14.08.2016, 21:02
Полдня пытался д______л собрать, подправить и запустить, чтобы денег бОльше было :)
Не... не хочет, зараза. Пришлось честно пройти :))))

Сетка на поле +алгоритм Брезенхэма (https://ru.wikipedia.org/wiki/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_%D0%91%D1%80%D0%B5%D0%B7%D0%B5%D0%BD%D1%85%D1%8D%D0%BC%D0%B0)

dark256
15.08.2016, 00:09
Сетка на поле +алгоритм Брезенхэма (https://ru.wikipedia.org/wiki/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_%D0%91%D1%80%D0%B5%D0%B7%D0%B5%D0%BD%D1%85%D1%8D%D0%BC%D0%B0)

И что? Это добавит в игрухе жизней?

undefined
15.08.2016, 01:27
И что? Это добавит в игрухе жизней?
Это добавит пулям реалистичности. В текущей реализации начинаешь понимать, что пульки по полю не летают когда тебя уже обложили со всех сторон

caseyryan
15.08.2016, 05:57
Сетка на поле +алгоритм Брезенхэма (https://ru.wikipedia.org/wiki/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_%D0%91%D1%80%D0%B5%D0%B7%D0%B5%D0%BD%D1%85%D1%8D%D0%BC%D0%B0)
А смысл? Гораздо проще будет просто проверка угла до врага, и если он равен текущему углу поворота пушки +/- определенный допуск, то пуля в него попадает. Ну и соответственно сравнить дистанцию между разными врагами, находящимися на линии прицеливания. В такой игре точность особо не важна.
Но если логически подумать, то сейчас все сделано правильно. Какой интерес играть, если можно стрелять не целясь?

undefined
15.08.2016, 10:40
А смысл? Гораздо проще будет просто проверка угла до врага, и если он равен текущему углу поворота пушки +/- определенный допуск, то пуля в него попадает. Ну и соответственно сравнить дистанцию между разными врагами, находящимися на линии прицеливания. В такой игре точность особо не важна.
Но если логически подумать, то сейчас все сделано правильно. Какой интерес играть, если можно стрелять не целясь?
Так можно только если пули летят бесконечно быстро.Смысл в интуитивности процесса.Играл в уже упоминавшийся alien shooter?Там тоже целиться не надо и игре это ни сколько не мешает(даже наоборот).

Zebestov
15.08.2016, 11:19
Хорошо!

zackscript
15.08.2016, 11:44
надо бы подкрутить чтоб попадание засчитывалось не только когда цель находится в прицеле, но и когда цель на траектории движения пули.А то получается пули телепортируются и убивают только то, что на мушке.Я долго не мог понять почему не попадаю ни в кого.
Откуда ты знаешь )? , быть может эти пули пролетают выше врагов а не сквозь них.


https://pp.vk.me/c630626/v630626002/49863/--JYTQHNP-k.jpg

Zebestov
15.08.2016, 13:26
zackscript предложил прекрасное обоснование!
И вообще, помимо того, что прошивание врагов на пути следования пули привнесло бы немного шары, тут еще и другой момент. Вокруг скопились эти мелкие "крысы", а неподалеку стоит куда более разрушительный моб, который рубит куда сильней. Так вот сейчас я могу пожертвовать куда меньшим здоровьем, но "поверх голов" замочить более мощного врага, и лишь потом добить крысят. А если сделать как предлагается выше — упс.

undefined
15.08.2016, 14:00
Откуда ты знаешь )? , быть может эти пули пролетают выше врагов а не сквозь них.
Тогда надо показывать, что высота пушки меняется при движении прицела.

Zebestov
15.08.2016, 14:17
Это еще зачем? Высота постоянна — наклон ствола меняется. Но показывать это — излишество, которое не принесет ни фана, ни какой-либо другой пользы.

dark256
15.08.2016, 14:33
Мне вот что интересно:
вот в игре 20 волн. Каждая жестко прописана. Не рандом. Как это все программится - наборы время/координаты/скилл? И как все это рассчитывается под возможную текущую прокачку обороны?
Ведь оно ж впритык сделано. +- 3%. Как это рассчитывается?

Tails
15.08.2016, 14:55
Берёшь какую нибудь математическую прогу с графиками и начинаешь считать. Задаешь произвольную функцию прогресса игрока, в данном случае прогресс - это получаемые деньги, и от этого находишь всё остальное. Сколько он должен убить врагов, чтоб получить 10 монет на первой волне, сколько должен стоить апгрейд, чтобы прокачаться после 3 волны и т.д. Суть в том, чтобы связать все игровые сущности формулами. А потом просто подставлять нужные значения и получать результат.

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

caseyryan
16.08.2016, 05:52
Берёшь какую нибудь математическую прогу с графиками и начинаешь считать. Задаешь произвольную функцию прогресса игрока, в данном случае прогресс - это получаемые деньги, и от этого находишь всё остальное. Сколько он должен убить врагов, чтоб получить 10 монет на первой волне, сколько должен стоить апгрейд, чтобы прокачаться после 3 волны и т.д. Суть в том, чтобы связать все игровые сущности формулами. А потом просто подставлять нужные значения и получать результат.

А ещё можно подобрать все значения "на глаз", путём многократной подгонки значений, что очень долго, муторно, а в более или менее сложной игре и вовсе становится невозможным.
Твой вариант подходит, только если прокачка происходит линейно и шаблонно. В сложной игре как раз придется многое подгонять путем многочисленных тестов и калибровок. Мы как раз сейчас занимаемся калибровкой не шаблонной прокачки. Для грубой подгонки были формулы, но как потом выяснилось, что сами формулы требуют постоянных калибровок. Так как игрок где-то может получить дополнительных денег с просмотра рекламы, где-то получить бонус, где-то вкинуть донат, и знать сколько у него должно быть денег и в какой момент, становится очень проблематично, без ручных настроек всё равно никуда

Tails
16.08.2016, 09:40
Если есть несколько источников ресурса, для каждого источника описывается своя функция. Сумма всех функций будет итоговым прогрессом игрока, если он задействует все источники. Подгонять нужно будет только одну функцию, в случае изменения её источника. Просмотр рекламы - это ещё одна функция источника денег, которая суммируется к остальным. Просто так, из ниоткуда, игрок не может получить денег (если он не хакер). А значит можно рассчитать и предсказать те рамки, в которых он будет находиться, в зависимости от качества своей игры.

В любой игре есть выбор, куда потратить деньги. Из правильной математической модели баланса вы будете иметь представление о том, в каких рамках игрок будет развиваться. Задроты задействуют 100% потенциала, используя все источники, нубасы по минимуму. Если игрок выйдет за рамки, то либо модель не правильная, либо игрок набагоюзал/начитерил.

caseyryan
16.08.2016, 11:36
Если игрок выйдет за рамки, то либо модель не правильная, либо игрок набагоюзал/начитерил.
Оба варианты возможны в равной степени. Наверняка все можно очень хорошо просчтитать, но для этого нужно быть, как минимум, математическим задротом. В реальной жизни привлечь таких спецов часто бывает проблематично, и без ручных подсчетов и калибровок не обойтись)
Вообще, к слову, я встречал очень немного идеально (ну или практически идеально) сбалансированных игр, везде есть еще что подкрутить

Я, к сожалению, не супер спец в разработке формул. Много раз делал, но для меня эта работа всегда оказывалась намного сложнее, чем разработка игрового движка, и всегда приходилось "подкручивать" вручную

zackscript
20.08.2016, 09:41
Добавь окно консоля и придумай пару чит-кодов :)