-ѕоиск по дневнику

ѕоиск сообщений в predefglas

 -ѕодписка по e-mail

 

 -—татистика

—татистика LiveInternet.ru: показано количество хитов и посетителей
—оздан: 10.12.2014
«аписей:
 омментариев:
Ќаписано: 94

[ѕеревод] ќбзор физики в играх Sonic. „асти 7 и 8: пружины и штуковины, суперскорости

ƒневник

¬оскресенье, 31 »юл€ 2016 г. 16:36 + в цитатник
ѕродолжение цикла статей о физике в играх про —оника. ¬ этом посте рассматриваютс€ отталкивани€ персонажей от различных игровых объектов и их суперспособности. —сылки на другие части серии: „асть 1: твердые тайлы „асть 2: бег „асти 3 и 4: прыжки и вращение „асти 5 и 6: потер€ колец и нахождение под водой „асть 7: пружины и штуковины 1 ѕружинные площадки 2 ¬оздушные шарики 3 Ѕамперы 4 ѕушки 5  рышки с пружинами 6 ¬ертушки 7 Ћифты в небе 8 √рибы 9 –азрушение стен 10 –азрушаемые блоки и камни ѕружинные площадки  расные пружинные площадки придают —онику скорость 16, а жЄлтые Ч скорость 10. ¬ зависимости от направлени€ площадки (вверх или вниз), значение отрицательное или положительное, и соответственно скорости по оси Y придаетс€ это значение. ≈сли пружинна€ площадка направлена влево или вправо, значение скорости отрицательное или положительное, соответственно скорость по оси X приравниваетс€ к этому значению. ¬ертикальные площадки не вли€ют на скорость X, как и горизонтальные площадки не вли€ют на скорость Y. ƒиагональные пружинные площадки ¬ Sonic the Hedgehog (16-bit) нет диагональных пружинных площадок. ќднако они есть в Sonic 2 (16-bit), 3, Knuckles и CD. ¬ Sonic 2, 3 и Knuckles они работают одинаково, но в Sonic CD принцип отличаетс€. в Sonic 2, 3 и Knuckles диагональна€ пружина устанавливает скорост€м X и Y значение пружинной площадки с соответствующим знаком. ѕоэтому пружина, направленна€ вверх-вправо придает скорость Y, равную -16 и скорость X, равную 16. ѕроблема этого метода в том, что технически —оник отталкиваетс€ диагонально быстрее, чем горизонтально или вертикально. Ёто потому, что разработчики не позаботились учесть косинусы и синусы. ¬ Sonic CD они исправились. ”добно, что абсолютные значени€ синуса и косинуса угла в 45 градусов одинаковы, поэтому требуетс€ только одно значение. —корость становитс€ равной 11.3125 дл€ красных пружин и 7.0703125 дл€ жЄлтых. Ѕлокировка горизонтального управлени€  огда —оник отскакивает от горизонтальной пружины (красной или жЄлтой), он не может тормозить или иным способом вли€ть на свою скорость X в течение 16 циклов. ƒвижок достигает этого, устанавлива€ ту же блокировку горизонтального управлени€, что и при скатывании с крутых склонов (в S3 и Knuckles байты $32-33 €вл€ютс€ таблицей состо€ний объекта игрока). «ачем блокировать горизонтальное управление? ѕри столкновении с пружиной игрок скорее всего нажимает крестовину в направлении пружины, и это может привести к отталкиванию —оника в анимации торможени€. ¬ременное игнорирование ввода Ч это быстрое и элегантное решение. јнимаци€ ¬ случае пружинной площадки, направленной вверх, когда —оник тер€ет всю скорость, направленную вверх, он переходит в анимацию ходьбы.  адры этой анимации смен€ютс€ каждые 8 циклов. ¬ случае любой из диагональных пружинных площадок —оник вообще не переходит анимации ходьбы в воздухе. ќн сохран€ет анимацию Ђштопораї (трЄхмерного вращени€), кадры которой смен€ютс€ раз в 5,5 цикла. ¬оздушные шарики ѕри столкновении —оника с воздушными шариками на уровн€х Carnival Night Zone его скорость Y устанавливаетс€ равной -7, вне зависимости от угла столкновени€. —корость X не измен€етс€. Ѕамперы Ѕамперы в Spring Yard Zone придают —онику скорость X, равную 7*cos(p), и скорость Y 7*-sin(p), где p Ч это угол между центрами бампера и —оника. —корость устанавливаетс€ вне зависимости скорости —оника до столкновени€ с бампером. ѕушки ѕушки в Carnival Night Zone придают —онику горизонтальную скорость 16*cos(p), и вертикальную скорость 16*-sin(p), где p Ч угол наклона пушки.  рышки с пружинами  расные крышки с пружинами, которые закрывают трубы в Chemical Plant Zone, работают как пружинные площадки, но немного сильнее, чем жЄлтые площадки. ѕри столкновении они придают —онику скорость Y, равную -10.5. ¬ертушки „Єрные вертушки, которые разгон€ют ежа вперЄд в Chemical Plant Zone устанавливают скорость X равной 16. ќднако они не замедл€ют его, если он уже движетс€ быстрее. Ћифты в небе Ћифты в небе на уровн€х Hill Top Zone перемещаютс€ со скоростью X, равной 2, и скоростью Y, равной 1. √рибы √рибы в Mushroom Hill Zone работают как пружинные площадки, однако каждый последующий отскок становитс€ выше предыдущего (до трЄх отскоков). ѕервый отскок придаЄт скорость Y -6.5, второй -7.5, а третий -8.5. –азрушение стен ¬ Sonic 1, 2, 3 и Knuckles дл€ пробивани€ разрушаемых стен при вращении абсолютна€ скорость X персонажа должна превышать 4.5 (за исключением персонажа Knuckles, который крошит стены при столкновении, при этом ему не об€зательно вращатьс€). —толкновени€ с такими стенами не вли€ют на скорость X. ќднако когда Knuckles разрушает стены в Sonic 3 и Knuckles, несмотр€ на то, что его скорость X не измен€етс€, он не двигаетс€ в кадре, в котором удар€ет стену. “о же самое справедливо дл€ пробивани€ —оником стены при вращении в Sonic 3 и Knuckles. ¬ Sonic CD, ограничение по скорости X убрано. —оник может пробивать разрушаемые стены, просто прыга€ р€дом с ними или враща€сь на любой скорости. –азрушаемые блоки и камни  огда —оник запрыгивает на разрушаемые объекты, такие как камни в Hill Top Zone, блоки в Marble Zone или крышки труб в Chemical Plant Zone, он отскакивает от них со скоростью Y, равной -3. —корость X не измен€етс€. „асть 8: суперскорости 1 —упербыстрые ботинки 2 —упер/√иперсоник 3 —упер “ейлс, —упер/√ипернаклз 4 ќтбор колец 5 ѕримечани€ —упербыстрые ботинки ѕримечание переводчика: супербыстрые ботинки (Super Fast Shoes) Ч это бонус увеличени€ скорости, действующий 20 секунд и повышающий ускорение и максимальную скорость —оника. ¬ыбиваетс€ из вот таких мониторов: ѕеременна€ «начение ”скорение 0.09375 “орможение 0.5 (не измен€етс€) “рение 0.09375 ћаксимальна€ скорость 12 ”скорение в воздухе 0.1875 “рение при вращении 0.046875 “орможение при вращении 0.125 (не измен€етс€) ѕримечание: если —оник падает в воду, все эффекты супербыстрых ботинок (Super Fast Shoes) обнул€ютс€. Ђѕодводныеї переменные полностью их замен€ют. ≈сли вы выпрыгнете из воды, эффект супербыстрых ботинок не вернЄтс€. ѕохоже, что это относитс€ ко всем 5 играм. ¬ Sonic 3 и Knuckles темп музыкальной композиции увеличиваетс€ в 1.25 раза. —упер/√иперсоник ѕримечание переводчика: —уперсоник (Super Sonic) Ч это суперформа персонажа Sonic the Hedgehog. “ака€ форма —оника впервые была применена в игре Sonic the Hedgehog 2 и в различном объЄме реализовалась затем в каждой основной игре про —оника. ѕревратитьс€ в —уперсоника можно, собрав все семь »зумрудов ’аоса, найд€ не менее 50 колец и потер€в всю защиту. —делав двойной прыжок, —оник становитс€ жЄлтым —уперсоником, это более быстра€ и почти неу€звима€ форма —оника. ќднако на поддержание этой формы трат€тс€ кольца (см. ниже). ¬ играх Sonic 3 и Knuckles, после сбора всех »зумрудов ’аоса на специальных уровн€х можно собрать семь —уперизумрудов, после чего превратитьс€ в √иперформу персонажа. ќна также тратит собранные кольца. ¬ этом режиме персонаж может делать направленные двойные прыжки, уничтожать всех противников на экране и не способен утонуть, в отличие от суперформы. ѕеременные относ€тс€ к —уперсонику в Sonic 2 и к —упер- или √иперсонику в Sonic 3 и Knuckles, за исключением отмеченной переменной. ѕеременна€ «начение «начение (под водой) ”скорение 0.1875 0.09375 “орможение 1 0.5 “рение 0.046875 (не измен€етс€) 0.046875 (не измен€етс€) ћаксимальна€ скорость 10 5 ”скорение в воздухе 0.375 0.1875 Ќачальна€ скорость прыжка 8 3.5 (не измен€етс€) —корость прыжка при отпускании кнопки 4 (не измен€етс€) 2 (не измен€етс€) “рение при вращении 0.09375 (0.0234375 в Sonic 3 и Knuckles) 0.046875 (0.0234375 в Sonic 3 и Knuckles) “орможение при вращении 0.125 (не измен€етс€) 0.125 (не измен€етс€) —пособность Hyper Blast (только у √иперсоника)  огда игрок нажимает второй раз кнопку прыжка в воздухе, скорость —оника по оси X приравниваетс€ 8, если он смотрит вправо, и к -8, если влево, а скорость по оси Y обнул€етс€. ≈сли игрок удерживает Ђвверхї на крестовине при нажатии на кнопку, то скорость —оника по оси Y приравниваетс€ к -8, а по оси X обнул€етс€. —упертейлз, —упер/√ипернаклз ѕеременна€ «начение «начение (под водой) ”скорение 0.09375 0.046875 “орможение 0.75 0.375 “рение 0.046875 (не измен€етс€) 0.046875 (не измен€етс€) ћаксимальна€ скорость 8 4 ”скорение в воздухе 0.1875 0.09375 Ќачальна€ скорость прыжка (не измен€етс€) (не измен€етс€) —корость прыжка при отпускании кнопки (не измен€етс€) (не измен€етс€) “рение при вращении 0.0234375 0.0234375 “орможение при вращении 0.125 (не измен€етс€) 0.125 (не измен€етс€) —корость взбирани€ (только дл€ Ќаклза) 2 2 Ќачальна€ скорость скольжени€ (только дл€ Ќаклза) 4 (не измен€етс€) 4 (не измен€етс€) ”скорение скольжени€ (только дл€ Ќаклза) 0.046875 0.046875 —тенотр€сение (Wall Quake) (только дл€ √ипернаклза) „тобы Ќаклз смог сотр€сти экран и уничтожить всех врагов при контакте со стеной, он должен скользить со скоростью 4.5 пикселей за цикл или выше. ќтбор колец Ќаход€сь в режиме —упер/√ипер, персонаж тер€ет по одному кольцу каждые 60 циклов, или раз в 1 секунду. ѕримечани€ ≈сли —упер/√иперперсонаж получает супербыстрые ботинки, разбив монитор, переменные супербыстрых ботинок замен€ют переменные режима —упер/√ипер, на самом деле замедл€€ персонаж (однако максимальна€ скорость остаЄтс€ немного выше). Ёто может быть нежелательно в вашем собственном движке.  огда —упер/√иперперсонаж падает в воду, он использует указанные выше переменные. ќднако, если они станов€тс€ —упер/√ипер уже под водой, переменные режима —упер/√ипер станов€тс€ такими, как будто он не находитс€ под водой. Ёто баг, и его следует избегать в своЄм движке. P.S. снова дл€ внимательных и любопытных читателей. «десь в первое зашифрованное слово заканчиваетс€. —лова не относ€тс€ к вселенной —оника, однако дл€ расшифровки требуетс€ еЄ знание (впрочем, гуглением вполне можно обойтись).

ћетки:  

»гра —апЄр (клон). “естирование

ƒневник

„етверг, 05 ћа€ 2016 г. 20:04 + в цитатник
8Observer8 ѕоиграйте, пожалуйста, если найдЄте ошибку Ц сообщите.   примеру, если номера будут неправильные, то покажите скриншот: Minesweeper_v1.2.1 (Win_x86) ѕосмотрите, запускаетс€ ли из вашего браузера: Minesweeper_v1.2.1 (WebGL) Minesweeper_v1.2.1 (WebPlayer) ≈сли у вас Linux или Mac, то сообщите запускаетс€ ли. ≈сли один раз запуститс€, то € буду знать, что, скорее всего, и остальные приложени€ запуст€тс€. Linux [...]

8Observer8


ѕобалуйтесь, пожалуйста, если найдЄте погрешность Ц осведомите.   образчику, если номера будут ошибочные, то укажите скриншот:



  • Minesweeper_v1.2.1 (Win_x86)


ѕосмотрите, запускаетс€ ли из вашего браузера:



  • Minesweeper_v1.2.1 (WebGL)

  • Minesweeper_v1.2.1 (WebPlayer)


≈сли у вас Linux или Mac, то осведомите запускаетс€ ли. ≈сли один раз запуститс€, то € буду знать, что, скорее всего, и другие приложени€ запуст€тс€. Linux € ещЄ смогу назначить на Virtual Box, а Mac едва ли:



  • Minesweeper_v1.2.1 (Linux_x86)

  • Minesweeper_v1.2.1 (Mac_x86)


— мен€ Ђплюсї в репутацию если пустите что либо и уведомите запустилось ли или нет. ќсобливо увлекательно Ц ћас и Linux (известите дистрибутив)


язычок: C#

ƒвижок: Unity2D

»сходники: Minesweeper_v1.2.1 (Source)

Ѕазовый туториал



тема на форуме


ћетки:  

 —траницы: [1]