Comments 30
Ну вот, остановились на самом интересном. :) А я ждал разбора Соника с бегом по стенам, петлям и спиралям; современных игр типа Реймана с платформами произвольной формы и произвольной физикой и т. д. и т. п. На векторном способе автор не задержался…
Не уверен насчёт существования «чистого тайлового» типа, практически во всех играх можно же располагать персонажа по оси X произвольно. Принц бегает и шагает рывками, что несколько сбивает с толку и раздражает, но поставить его при желании можно где угодно с помощью прыжков и приседаний. Противники его положение учитывают до пикселя. Насчёт Лодеруннера не уверен, там действительно происходит некоторое округление до клетки при любом действии, особенно перескоки заметны при стрельбе между клеток, но координаты у него с точностью до пикселя, и противники явно не убивают его при соприкосновении ближайших клеток.
Не уверен насчёт существования «чистого тайлового» типа, практически во всех играх можно же располагать персонажа по оси X произвольно. Принц бегает и шагает рывками, что несколько сбивает с толку и раздражает, но поставить его при желании можно где угодно с помощью прыжков и приседаний. Противники его положение учитывают до пикселя. Насчёт Лодеруннера не уверен, там действительно происходит некоторое округление до клетки при любом действии, особенно перескоки заметны при стрельбе между клеток, но координаты у него с точностью до пикселя, и противники явно не убивают его при соприкосновении ближайших клеток.
+5
Я смотрю в оригинале перевода там продолжение есть. Весьма интересное :)
0
Продолжение-то есть, но ни Соника, ни детальных векторов…
А, в комментариях запостили: info.sonicretro.org/Sonic_Physics_Guide
А, в комментариях запостили: info.sonicretro.org/Sonic_Physics_Guide
+2
Продолжение будет, но статья очень обширная. Поэтому я разбил на 2 части. Постараюсь в течение недели выложить продолжение. Его надо хорошенько вычитать. У автора местами язык слишком костный.
0
Принц и флешбек не позволяет. Ты нажал один раз вбок и персонаж пошел на следующий тайл. Мне кажется автор очень даже прав. Хотя плавный тип с произвольным перемещением куда более явно распостранен.
+1
Нужно только учитывать, что тайлы у принце довольно маленькие. Когда вы делате движение с нажатой клавишей Shift от пикслов на пять перемещается. И в игре есть несколько моментов где это важно. Но как только вы попытаетесь куда-нибудь залезть/слезть — он выравняется на границу «большого» тайла.
0
С помощью прыжков вверх можно очень точно позиционировать принца. А размер аккуратного шага ещё и уменьшается, если стоять в половине шага от обрыва.
Выравнивание у принца не по тайлу, а по стенке, на которую он лезет. Анимация просто с пиксельной точностью выравнивается, чтобы руки в воздухе не висели. По сути просто округление, чтобы пиксель-хантингом не заниматься для того, чтобы запрыгнуть.
Выравнивание у принца не по тайлу, а по стенке, на которую он лезет. Анимация просто с пиксельной точностью выравнивается, чтобы руки в воздухе не висели. По сути просто округление, чтобы пиксель-хантингом не заниматься для того, чтобы запрыгнуть.
0
Вы в Принца играли вообще? Дольше одной минуты?
Попробуйте двигаться с помощью шага, а не бега (Shift). Попробуйте прыгать на месте вверх (Up). Попробуйте опускаться вниз и сразу подниматься (Down). И обратите внимание на координату X.
Попробуйте двигаться с помощью шага, а не бега (Shift). Попробуйте прыгать на месте вверх (Up). Попробуйте опускаться вниз и сразу подниматься (Down). И обратите внимание на координату X.
0
Играл, ещё в незапамятные времена на commodore 64, в конце 80х. И довольно много играл.
0
Запустил досовую версию и подвигался туда-сюда.
![](https://habrastorage.org/r/w1560/getpro/habr/comment_images/f34/8f2/686/f348f26869dcc53b46817048e086b7d7.png)
Сколько здесь «тайл»? Два пикселя?
![](https://habrastorage.org/getpro/habr/comment_images/f34/8f2/686/f348f26869dcc53b46817048e086b7d7.png)
Сколько здесь «тайл»? Два пикселя?
0
Заинтриговали. Память иначе рисовала мне эту игру. Приду домой, погоняю эмулятор C64.
0
Пиксельный скроллиг же.
0
Не понял. В смысле?
0
Появление сайд-скроллеров стало возможно благодаря технологии попиксельной прокрутки тайлового экрана — пиксельного скроллинга. Поэтому границы тайлов стало выделить очень и очень сложно. И, конечно, автор статьи не совсем прав — далеко не во всех играх координаты персонажа хранятся в размерах тайловой сетки, а не в абсолютных значениях.
Прошу прощения, не заметил, что в примерах чистых тайлов указан и Prince Persia. Вероятно, это ошибка.
Прошу прощения, не заметил, что в примерах чистых тайлов указан и Prince Persia. Вероятно, это ошибка.
0
опять-таки, чего далеко ходить Loderunner не позволял остановиться между тайлами вообще.
0
Какая, к терапевту, «граница между тайлами»? Изначально Loderunner был программой для текстового режима! Работал на VAX'е, был написан на смеси Фортрана и Паскаля… да, были времена…
0
Если бы в статье в качестве примера был приведён один из ископаемых Лодеруннеров, вообще не было бы вопросов. Но там ведь про Legend Returns — очень даже продвинутого Лодеруннера из середины девяностых. Почему автор решил, что в игре используется только имитация движения между клетками — я не понял.
0
Ну так статью не я писал. По мне, так именно классический куда больше и точнее описывает данный метод. Я и так позволил себе украшать статью и местами перефразировать совершенно иначе. Но вот списков примеров я не трогал.
Автор пишет о реверс-инжиниринге, возможно он всё-таки порылся во внутренностях реализации, отсюда и такой вывод сделал. Сложно сказать.
Автор пишет о реверс-инжиниринге, возможно он всё-таки порылся во внутренностях реализации, отсюда и такой вывод сделал. Сложно сказать.
0
Потому что так и есть. Анимация персонажа сделана так, чтобы игрок этого практически не замечал, но по факту каждый игровой уровень — это набор квадратов, и любые действия можно совершать только в границах этих квадратов. Например, когда герой совершает обычное для игры действие — копает яму слева или справа — героя двигает немного левее или правее, в зависимости от того, где он стоит, чтобы анимация выкапывания ямки совпала с квадратом, который будет выкопан. То же самое касается и всех используемых предметов — газ распыляется на три квадрата влево или вправо (герой оказывается в центре клетки, с которой он применяет газ), клей — аналогично, бомбы — аналогично. Все действия привязаны именно к этим квадратам, хотя анимация и сделана так, чтобы игрок этого почти не замечал.
0
Физика в Сонике это ад. Я пытался ее воссоздать, но моих весьма посредственных знаний в математике явно не хватило даже не смотря на помощь в виде Sonic Physics Guide и различных исходников. Так что я бы тоже не отказался от подробного разбора этого дела. :)
+1
Хм… По Сонику, наверное, фанатские игры в достатке, какие-нибудь опен-сорсные должны быть. Или глухо?
0
Не, есть то они есть и позволяют примерно понять как оно работает — с десяток различных «сенсоров» для определения положения, наклона и тд + попиксельные коллизии между ними и поверхностями. У меня просто с математикой совсем туго. :) Базовую физику я сделал, но как только дело дошло до создания 360-градусного вращения персонажа (хотя правильнее сказать — сенсоров), я спасовал. :)
0
Этот пост пронизан духом Старой Школы :)
Побольше бы такого с конкретными хаками и приёмами. Все это может наталкивать на интересные мысли при разработке игр смежных жанров.
Побольше бы такого с конкретными хаками и приёмами. Все это может наталкивать на интересные мысли при разработке игр смежных жанров.
+2
Из собственного опыта. Надо указывать, на чём герой стоит ногами, и если стоит — двигать его по «направляющей».
Если на движущейся платформе — то со сдвигом платформы двигать и героя.
Обычно платформа считается «полупроходимым» элементом, и если герой на ней стоит — то проезжает через другие платформы. Если непроходима — придётся толкать героя.
Если на движущейся платформе — то со сдвигом платформы двигать и героя.
Обычно платформа считается «полупроходимым» элементом, и если герой на ней стоит — то проезжает через другие платформы. Если непроходима — придётся толкать героя.
0
Очень позновательно и грамотно все изложено. Даже учитывая тот факт, что я не разработчик, было крайне интересно читать. Жду продолжения!
0
Прошу в окончание статьи
+1
Sign up to leave a comment.
Путеводитель по реализации 2Д платформеров (начало)