Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / Movable area как в "Battletoads and Double Dragon"

Movable area как в "Battletoads and Double Dragon"

Поделиться

Страницы: 1 2 Следующая

SkyDevПостоялецwww13 апр. 201712:57#0
Hello world!
На сегу есть игра https://www.youtube.com/watch?v=0fXv2PqeOCo
Интересно как они оптимально реализовали перемещение персонажа по полю произвольной формы, учитывая ресурсные ограничения...
У меня в голове крутится идея аппроксимировать треугольниками область где игрок может перемещаться, образуя этим большой полигон, и проверять не выходит ли он( игрок ) за пределы. Какие еще могут быть идеи?

Правка: 13 апр. 2017 14:18

FDsagiziПостоялецwww13 апр. 201713:47#1
SkyDev
> учитывая ресурсные ограничения...

Какие еще ограничения? Сейчас ресрурсы пк и мобил в 1000 раз выше чем на Сеге, не парься, делай хоть как нибуть...

SkyDevПостоялецwww13 апр. 201714:03#2
FDsagizi
Какие еще ограничения?

http://segaretro.org/Sega_Mega_Drive
Ниже, в статье, описание конфигурации. Я не держу себя в таких рамках которые ставила консоль, но и делать "как-нибудь" тоже не подходит.
Тем более может у кого есть хорошая идея!

Правка: 13 апр. 2017 14:31

ronnikoЗабаненwww13 апр. 201714:58#3
SkyDev нормальная идея.
Но можно определять по цвету. Я про землю.
Допустим как в твоем видео.
Космос черный цвет, а платформа зеленовато-голубая.
Вот и проверять, если координаты героя находяться на пикселе темном, то ходить (перерисовать в это место героя) нельзя и это когда он ходит, а не когда прыгает.

Как бы думаю Сега без проблем работала с пикселями из видеопамяти(прочитать\сравнить).
И такой подход хорош тем, что ты не зависишь от художника !
То есть как художник нарисует платформу, так и будет ходить герой и не надо код переписывать.

Все что надо это сказать художникам, по каким цветам будет ходить герой, а по каким нет.
И пусть себе рисуют что хотят.

Правка: 13 апр. 2017 15:02

SkyDevПостоялецwww13 апр. 201722:58#4
ronniko
Спасибо за идею, тут даже для более точной проверки отдельную карту проходимости можно сделать.
susagePПостоялецwww14 апр. 20170:42#5
SkyDev
Там прямая дорожка с перепадом высоты или иногда расширяется. Что ее нарисовали в проекции это уже отображение. И что при проекции ходьба верх вниз то реально на дороже это ходьба по диагонали.
Представь вид с верху это будет подряд идущие прямоугольники типа:  плоскость, перепад высоты, расширения/сужение ну и возможно комбинация или другие  типы.
SkyDevПостоялецwww15 апр. 201715:48#6
susageP
Хорошая идея, легко аппроксимировать путь. Но, к примеру, на первом уровне есть участок более сложной формы, и здесь обычной дорожкой с расширениями не описать геометрию уровня.
[img=]http://i.piccy.info/i9/16e402fb7bb5133c37ecef6275a1fcf6/149226040… 37908/zzt.png
SuslikМодераторwww15 апр. 201716:00#7
SkyDev
насколько я помню, там просто была тайловая карта. у каждого тайла есть свой спрайт и бинарная проходимость. на экран влезает ну допустим 20х20 тайлов. на уровень — что-то в районе 200х20. это около 4кб на уровень, на самом деле наверняка меньше. плюс на уровнях вроде летающего мотоцикла — дополнительные хаки, чтобы хранить только координаты препятствий, потому что уровень длинный.

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

Правка: 15 апр. 2017 16:04

RikkПостоялецwww15 апр. 201718:25#8
На процессоре там были недокументированные возможности которые открыли в нелепой случайности , может они использовали эти возможности но это уже "не чистое дело".

https://ru.wikipedia.org/wiki/Дэвид_Перри_(разработчик_игр)
В 2008 году получил звание почетного доктора Университета Квинс в Белфасте

http://kg-portal.ru/comments/31799-vosmibitnyj-devid-perri/

Зато из-за кривого прочтения мануала (он же был на японском) я умудрился удвоить пропускную способность Mega Drive и прогонял куда большие объёмы данных, чем полагалось. Приставка вроде как не должна была с этим справляться, поэтому все, кто придерживался установленных правил, даже не пытались провернуть подобный фокус. Я же вовсю пользовался им при разработке Aladdin, Cool Spot и Earthworm Jim».

....В поисках продюсера для The Terminator Дэвид и Ник встретили Нила Янга...
Ответ, разумеется, звучал так: надо сделать фотографию, отсканировать её, вырезать фон, сварганить спрайт и поместить его в игру, поскольку, увы и ах, цифровых камер тогда не было, — объясняет Дэвид. — И вот стоим мы на заднем дворе моей мамы, Ник фотографирует, а мы с Нилом изображаем людей из игры. Нил надел полушинель, чтобы исполнить роль Кайла Риза, а я натянул какую-то из маминых курток и играю его врагов......

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

вантуз=оружие.

...Довольно точно следуя событиям фильма, The Terminator выделялась на фоне остальных игр для Mega Drive своей потрясающей фотореалистичной графикой. ..

Правка: 15 апр. 2017 19:11

ВасянУчастникwww15 апр. 201721:49#9
SkyDev
> Но, к примеру, на первом уровне есть участок более сложной формы, и здесь
> обычной дорожкой с расширениями не описать геометрию уровня.
Изображение

Правка: 15 апр. 2017 22:32

ВасянУчастникwww15 апр. 201721:55#10
Изображение
RikkПостоялецwww15 апр. 201722:35#11
так он там не бегал в открытом мире в любую сторону а загружался экран и в экране действие . в каждом конкретно экране могли отмерять х у координаты где можно-нельзя . потом скролл новый экран и тд.
RikkПостоялецwww15 апр. 201722:46#12
https://www.youtube.com/watch?v=wtb_toLnuH8

первая - Clock tower  точно nes а не super nes ?

в конце — Chiller ужастик с расчленёнкой — локация . справа сиськи голые . в центре мужику гильотина отрубила пипирку.
обратите внимание интерактивность он там стреляет в домкрат и домкрат опускается на голову мужика расплющивает. + кровь и натур графика без цензурной черной рамки.

Правка: 15 апр. 2017 23:13

SkyDevПостоялецwww17 апр. 201717:48#13
Suslik
> а экономия на спичках всему этому только мешает
Я не пытаюсь держать себя в рамках мощностей тех годов, цель найти оптимальную реализацию для текущего поколения железа. Спасибо за идею с тайлами!

Rikk
Статья местами подняла настроение, а история с вантузом это нечто)! Chiller - вообще дичь, и играли же в такое...

Бомж
Твоя визуализация помогла, спасибо! Но есть пару интересных участков на карте, такие как здесь.
Аппроксимировать диагональ единичными тайлами со свойством проходимости только по диагонали? Или здесь другая идея?
ИзображениеИзображение

Кто-нибудь может подкинуть статью/мануал/инфы по оптимальной генерации такой косоугольной тайловой сетки с с проецированием точки на прямоугольную область для проверки проходимости? ( визуальный премер дал Бомж выше ).

Правка: 17 апр. 2017 17:50

ВасянУчастникwww17 апр. 201723:26#14
SkyDev
Объясняльщик из меня фиговый. Это надо код писать.

Попробуй для начала сделать с тайлами разной высоты без наклонных поверхностей. Данные высоты можно хранить ещё в одном слое, а потом придумаешь, как к этому слою прикрутить данные наклона.
Пример:
Изображение

Правка: 17 апр. 2017 23:39

Страницы: 1 2 Следующая

/ Форум / Программирование игр / 2D графика и изометрия

2001—2017 © GameDev.ru — Разработка игр