Kiran
Творю на Game Maker
offline
Опыт:
16,939Активность: |
Книги с "игровыми" алгоритмами
Хочу узнать, есть ли книги, в которых матёрые разработчики игр описывают техническую реализацию тех или иных игровых систем, наиболее удобную архитектуру кода для игр такого-то жанра итд итп ? Отредактировано Kiran, 24.09.2012 в 22:20. |
24.09.2012, 16:38 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
запоминай точку предыдущего столкновения внутри снаряда и не наноси урон в след. раз, если текущая точка столкновения находится близко к запомненной |
24.09.2012, 17:15 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Kiran
Творю на Game Maker
offline
Опыт:
16,939Активность: |
ScorpioT1000, то бишь альтернатив нет? А вот, предположим, пусть урон наносится при каждом столкновении, но при этом урон наносимый будет предварительно рассчитан по след формуле = истинный урон снаряда/ширина снаряда(или длинну, в зав-ти от направления). |
24.09.2012, 20:18 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Uber
Все любят статусы
offline
Опыт:
39,243Активность: |
У меня была подобная проблема, когда делал дробовик - скажем, одновременно выстреливалось в противника 5 снарядов. Каждый снаряд наносил свой урон, но, если во время убийства все пять снарядов попадали в противника, за его убийство давалось 5 очков вместо одного (в общем, с очками тогда была полная неразбериха). Решилось довольно легко: в каждом снаряде был массив, который содержал все индексы объектов, с которыми он сталкивался. Сначала, при столкновении снаряда с противником, через цикл до 10 (снаряд не мог нанести урон более, чем десяти противникам, после чего он разрушался) проверялись поочерёдно все индексы объектов, которые содержались в массиве снаряда. Если противника не было в массиве, он записывался туда, снаряд наносил ему нужный урон, и спокойно летел дальше, даже если продолжал коллизию с этим же противником - урон ему больше не наносился. Получалось что-то вроде "волны силы" из вара. Возможно, не самый оптимальный способ, но тогда он мне помог решить эту проблему. |
24.09.2012, 21:23 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Kiran
Творю на Game Maker
offline
Опыт:
16,939Активность: |
Uber, да походу, это единственный правильный способ, только что если, например, снаряд обладает эффектом бумеранга, то в момент смены направления он должен очищать массив пройденных целей, дабы снова нанести им урон на обратном пути. |
24.09.2012, 21:39 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Uber
Все любят статусы
offline
Опыт:
39,243Активность: |
Естественно, массив нужно очистить, чтобы использовать снаряд повторно. |
24.09.2012, 21:48 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Kiran
Творю на Game Maker
offline
Опыт:
16,939Активность: |
Uber, не обязательно было повторять то, что я и так сказал) Кстати, а ты не знаешь каких-нить книжечек, в которых описана техническая реализация тех или иных игровых системок? Хоть кто-нибудь? Такие вообще есть? |
24.09.2012, 22:18 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Uber
Все любят статусы
offline
Опыт:
39,243Активность: |
Я подумал, что это вопрос. Не знаю, потому что не сталкивался с этим, все системы пишу сам. |
24.09.2012, 22:33 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
lentinant
Скучно
offline
Опыт:
42,216Активность: |
Ятп, вопрос уже решен? Так как первый пост не отвечает обсуждению. |
24.09.2012, 23:13 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Kiran
Творю на Game Maker
offline
Опыт:
16,939Активность: |
lentinant, да. |
25.09.2012, 12:01 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|