Гаминатор 6. Устал - умри :: Игровая механика
Содержание: Интро ꞉꞉ Исходные наработки ꞉꞉ Игровая механика
- Игровое поле представляет собой набор круглых площадок, которые могут быть нейтральными или принадлежать игрокам (в таком случае они окрашены в соответствующий цвет).
- Площадка постоянно копит заряд, но не может накопить его больше определённого значения, зависящего от размера площадки.
- Игрок может переводить площадку, на которой непосредственно находится, в режим передачи заряда: при достижении максимума площадка выстреливает заряд в указанном направлении.
- Сталкиваясь с другой площадкой заряд складывается с её зарядом, если они одного цвета и вычитается, в противном случае. Если прилетевший заряд больше текущего заряда площадки, то она меняет цвет.
- Площадка притягивает к себе своего игрока, что позволяет ему ходить по её периметру. Если игрок находится на площадке поменявшей цвет, то он погибает падая вниз.
- Затратив часть заряда площадки игрок может перепрыгнуть на другую площадку, если та имеет тот же цвет что и он.
В ситуации изображенной на схеме (это не скриншот) в ближайшее время красный игрок погибнет, если не успеет захватить площадку 5/18 и не перепрыгнет на неё. Зелёный игрок скорее всего захватит синюю площадку.
Как только устаканил концепцию сразу встал ряд проблем c графикой. Я предполагал, что стен не будет, а пол будет отрисовываться с эффектом бампмэппинга, освещаясь от ярко светящихся площадок и летящих зарядов. Есть засада:
- Пол должен быть далеко, чтобы человек погибал при падении. Для этого надо ввести скролл (с разной скоростью для площадок и фона) и делать карту больше экрана, иначе при взгляде сверху только по стенам можно понять высоту.
- Если пол далеко, то нихрена он не освещается площадками в отдельности, а просто светлеет или темнеет. Не эффектно. Возможно разверну всё на 90 градусов и зритель будет смотреть на всё сбоку, площадки будут параллельны плоскости стены, которая будет рядом. Человеки будут падать сверху-вниз и разбиваться за нижней частью экрана (не надо смерть отрисовывать!).
- Нет никаких гарантий, что я смогу реализовать бампмэппинг от нескольких источников освещения. Может придётся рисовать коробку как на схеме и не выёживаться. :(
- 08 марта 2011, 01:05
- 06
удачи с бампом
Можно для каждого источника света создавать спрайт со своим смещением, а потом распределить прозрачность между всеми спрайтами. Например, если спрайтов 5, у каждого alpha будет равна 0.2 (или 0.8?). Хотя могут быть проблемы с наложением бампов друг на друга.... В общем, удачи вам :)
Оу, спасибо за столь подробный совет! Честно говоря я предполагал, что сначала буду попиксельно вручную рисовать бамп на заднем фоне, а потом сверху работать со спрайтами в плоскости экрана. От этого освещённость пикселя просто рассчитывать сразу пачкой от разных источников и взвешенно увеличивать яркость. Я, кстати, не уверен, что именно бамп реализовал - по карте высот строю карту нормалей, а потом для каждой точки выбираю из карты освещённости (просто круга с самой яркой точкой в центре): http://algolist.manual.ru/graphics/bumpmap.php Может это по сути нормал-маппинг? Хотя яркие точки визуально сдвигаются в сторону источника света, ага. :)
Бамп делают шейдерами ещё, в которых я полный ноль. :(
Спасибо за удачу! :)
Хмм... Что-то это мне напоминает... :)
Безусловно это напоминает тебе haxx0r! :)
Честно-честно, никакого плагиата! Идея у меня давно наклёвывалась и именно поэтому меня так заинтересовал твой недавний релиз. :) Автоматическую пересылку я советовал прямо из своего концепта - у меня площадка однажды настроенная должна упрямо плевать заряд куда ей указали. Мне тогда казалось это самой клёвой фишкой для подобных игр. :D
У обоих игр прототипом является Galcon и миллион такого же вида игр. Кстати я раньше играл и разбирал исходник у такой штуки как Nebula Conflict, там воксели и Delphi (в то время я писал на нём) - очень советую, много интересного в плане программирования.
В haxx0r традиционный геймплей модифицирован за счёт фиксации связей между узлами, вводе однонаправленных связей и т.д. В "Устал-умри" граф уровня тоже есть в неявном виде, но основная фишка в том, что действия можно производить только главным героем, который является самым уязвимым местом и не сильно мобилен.
В плагиате и не обвиняю :)
Galcon даже в глаза не видел :) А Nebula не кочаеццо.
Мдя, Nebula почила вместе со страничкой автора. Ну и ладно.
Жаль, что такой перспективный проект не попал на конкурс.
Самому жаль, но жизнь штука иногда малопредсказуемая.
Мы внедряем (и по ходу разрабатываем) электронную регистратуру в поликлинику, срочняковая разработка АРМ для учёта вакцинации съела моё свободное время. :)
Реализую при случае, идея-то уже никуда не пропадёт. )