Вниз  GameDev
- 6.07.2015 / 20:53
Magatino
  Администратор

Magatino 
Сейчас: Offline
Описание
В этой теме делимся алгоритмами/советами, помогаем юзерам и анализируем игры, на предмет того, как примерно могут работать алгоритмы в той или иной игре.

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

Статьи
Как создавать игры жанра 2d платформер?
Обзор физики в играх Sonic
Базовые алгоритмы определения столкновений
Ностальгия: роемся у «Танчиков» под капотом
Алгоритм поведения привидений в игре Pac-Man
Алгоритм построения пути в стратегической игре
Псевдо 3D в Diablo (eng)

Книги
Procedural Content Generation in Games (англ.) — процедурная генерация,

Изменено aRiGaTo (17.09 / 19:55) (всего 14 раз)
- 6.07.2015 / 21:49
Naik
  Пользователь

Naik 
Сейчас: Offline
Интересно как работает разрушение в Worms (J2ME), а также столкновения.
Теоретически можно разбить всю карту на разные прямлугольники, минимизировав их количесво каким-то алгоритмом, а в месте разрушений, кривых делать попиксельно, но думаю все равно тормозило бы так..
- 6.07.2015 / 22:06
Magatino
  Администратор

Magatino 
Сейчас: Offline
Вот пример скроллинга, у кого есть свои реализации скроллинга, не стесняемся, делимся :gg:

Открыть спойлер

- 6.07.2015 / 22:14
AHiLLA
  Пользователь

AHiLLA 
Сейчас: Offline
Могу дать код пули, если кому надо :maga:
- 6.07.2015 / 22:35
Magatino
  Администратор

Magatino 
Сейчас: Offline
AHiLLA, Брат, пулю можно вызывать как моба :maga:

Naik,
У меня на сега есть Worms, на счёт столкновений там тупо по сетке проверять можно, за один кадр всего три клетки проверяешь и анимация воды, и всё, по этой причине особо тормозить не должно всё уходит на отрисовку, только есть один нюанс, как же построен мир?
Задний фон, уж точно это тайлы, а сам ландшафт вот это вопрос :dum:
- 6.07.2015 / 23:01
Naik
  Пользователь

Naik 
Сейчас: Offline
Magatino, там же не по клеткам, там сложный ландшафт. Думаю можно разбить на 3 типа клеток - земля, воздух, и смешанная. Земля и воздух проверять просто по клеткам как ты говоришь, а там где в клетку попадает и то и другое придётся попиксельно.

По другому можно разве что все проверять, считать формулами, кривыми, но это кажется сложно реализовать. Но зато придется только пройти по всем функциям и посмотреть где спрайт, если пересекает одну из функций, то все, столкновение.
- 6.07.2015 / 23:03
Korvin
  Пользователь

Korvin 
Сейчас: Offline
Цитата Naik:
Интересно как работает разрушение в Worms (J2ME), а также столкновения. Теоретически можно разбить всю карту на разные прямлугольники, минимизировав их количесво каким-то алгоритмом, а в месте разрушений,
Мне тоже очень интересно, надо подумать.
- 6.07.2015 / 23:17
Korvin
  Пользователь

Korvin 
Сейчас: Offline
Возможно разрушаемый фон это одна цельная текстура , после попадания например ракеты высчитывается область которую нужно уничтожить потом к текстуре применяется метод типа setPixsel и пиксели которые нужно уничтожить просто закрашиваются цветом фона или становятся прозрачными .В итоге всегда рендерится только один спрайт, ну не считая червей ракет и тд. А по поводу столкновений есть метод столкновений двух спрайтов с учетом альфа канала.
- 6.07.2015 / 23:24
Magatino
  Администратор

Magatino 
Сейчас: Offline
Korvin, Слишком затратно для Сеги выводить такую пикчу, тем более длина уровней примерно в четыре экрана :dum:
- 6.07.2015 / 23:37
vl@volk
  Пользователь

vl@volk 
Сейчас: Offline
http://habrahabr.ru/post/124869/ немного сухого материала
http://programmersforum.ru/showthread.php?t=153357 - оптимизация обработки столкновений (обсуждение)
https://ru.wikipedia.org/wiki/Обнаружение_столкновений
http://noregret.org/tutor/n/collision/
http://www.gamedev.ru/code/terms/Collision_Detection
и там еще куча в моей библиотеке, некогда изучить
__________________
 знает толк
Наверх  Всего сообщений: 136
Фильтровать сообщения
Поиск по теме
Файлы топика (4)