Pull to refresh

Comments 76

Выглядит довольно неплохо. Желаю вам удачи!

Это офигенно. Если все проработать, получится просто бомбически

Присоединяюсь к пожеланию удачи! Потрясающе, и идея и реализация!
Однако, немного критики: мне показалось, персонаж падает вниз слишком быстро, как то не естественно. И еще запрыгивает вверх тоже резковато. :)
Спасибо. Это — пока от моей неспособности сделать нормальные анимации. Вверх он, по идее, должен не запрыгивать, а залезать. Я пока сделал, как смог, но продолжаю изучать эту науку.
тут были ребята, кто разрабатывал физически корректную инерцию движения персонажа для игровых движков, только я забыл как назывался их проект.
Я тоже могу создать правдоподобную инерцию. Просто я хочу сделать это после того, как у меня будут нормальные анимации. И под них уже подстроить физику.
skinning и rigging мне в свое время сильно нервы потрепали для персонажей. Сейчас должно быть полно готовых инструментов, болванок.

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

Ну тогда следите за обновлениями игры на Стиме — там они устанавливаются автоматически, либо качайте дистрибутив: m3d.itch.io/percy-lancaster-3d

Странная ситуация со светом. На гитхабе нет issue про shadowOnly (link).
В ченджлогах тоже ничего про это нет (разве что refactored shadow API?)


Потому что оно .onlyShadow


Ну и да, автор как-то странно мотивировал: https://github.com/mrdoob/three.js/issues/7825#issuecomment-171686171


А стековерфлоу ничего не говорил про это?
Просто у меня 2 варианта — либо делать 2 источника света, причем один из которых не светит, но кидает тени это адский костыль, либо режим "только тени" можно включить как-то по другому

Да, спасибо, свойство, действительно, называется .onlyShadow. Это я ошибся при наборе текста. Исправил в статье.

На stackoverflow я не обращался. Автор движка достаточно красноречиво выразился, что, мол, это редко используемая фича, и она не нужна. Я читал его высказывание не только по ссылке, но также и где-то в других местах, где его пытались уверить в том, что это свойство таки необходимо. Но хозяин — как говорится, барин.

Поэтому, вариантов 2: оставаться на старой версии, либо допиливать в новой версии фичу самостоятельно. Надо будет попробовать что ли…
Просто у меня 2 варианта — либо делать 2 источника света, причем один из которых не светит, но кидает тени это адский костыль, либо режим «только тени» можно включить как-то по другому


Не совсем понял. Мне как раз и нужно, чтобы один источник светил, а другой только создавал тени. Не такой уж и адский это костыль. Их можно объединить в один объект и расставлять так по сцене. Производительность экономит отлично. А каким еще образом можно включить режим теней, я не представляю. Было бы неплохо, конечно, если бы у точечного источника, который светит во все стороны, тени можно было бы задавать только в определенном конусе…
Спрошу здесь у знатока. Хочу получить авторитетное мнение.

1. Как быть с тем, что объект (сложной формы) не может отбрасывать тень сам на себя? Мне приходилось дробить такие объекты на несколько, чтобы получить «самотени».

2. Правильно ли я понимаю, что граница тени может быть только чёткой, никаких размытий?
1. По этому вопросу вряд ли что-то подскажу. Я когда-то пробовал, но уже не помню, то ли это, действительно, невозможно, то ли эти тени были убогими. Я просто стараюсь избегать таких ситуаций и, да, дробить. Можно сделать объект составным, из некоторого количества мешей. И каждому из них поставить castShadow и receiveShadow. Но это будет один object3D.

2. В старых версиях Three.js — да, в новых — у света есть свойства размытия, затухания тени с расстоянием и другие. Все можно найти в документации. Свойства decay, exponent, distance… Но мне здесь в комментариях подсказали. Я работаю со старой версией r71. И там можно просто уменьшить для каждого источника света shadowMapWidth и shadowMapHeight, что делает тени более мягкими:

var sms=128;
o.shadowMapWidth=sms;
o.shadowMapHeight=sms;
o.shadowMap.width=sms;
o.shadowMap.height=sms;
o.shadowMap.dispose();
o.shadowMap = null;
o.shadowCamera.updateProjectionMatrix();

o — это, например, THREE.SpotLight.

Более мягкие тени будут в следующем обновлении моей игры.

Если же речь — о directionalLight, то мне помогало поместить его начало очень высоко (или далеко), что приводило к некоторому размытию теней.
Да, конечно же, две строчки здесь лишние:
o.shadowMap.width=sms;
o.shadowMap.height=sms;

Достаточно только:
var sms=128;
o.shadowMapWidth=sms;
o.shadowMapHeight=sms;
o.shadowMap.dispose();
o.shadowMap=null;
o.shadowCamera.updateProjectionMatrix();

И уточнение про directionalLight. Там, скорее, дело не в высоте, а в размере области его проекции на плоскость, принимающую тень. Просто чем выше, тем область больше. Но ее размер можно регулировать и вручную свойствами .shadowCameraRight, .shadowCameraLeft, .shadowCameraTop, .shadowCameraBottom
По-моему, это не то. Там, в итоге, речь идет о том, чтобы объект отбрасывал тень, будучи сам невидимым.
stackoverflow.com/questions/34381429/three-spotlight-onlyshadow-replacement
А нужно, чтобы света не было, а тень была.
Если же установить intensity света в =0, то и свет пропадает, и тень.
Мне кажется, автор движка не понял, чего от него хотели.

В итоге, появился еще какой-то ShadowMaterial, но это же надо, чтобы у всех плоскостей, принимающих тень, был такой материал. А если мне нужен стандартный, с текстурой или вообще какой-нибудь свой собственный на шейдере… И я не уверен, что на этом материале будет тень без света.
Отлично! Вобще платформер без стрельбы сразу выделяется на общем фоне, потому что таких, где что-то бегает и стреляет — миллион, геймплейно очень однотипные и жутко скучные. Плюс колорит. А особенно классно — вот эти переходы между измерениями подземелья. Всегда хотел платформер с возможностью частых точечных переходов вглубь, на другие, параллельные слои, чтобы доступное для исследований пространство как-то расширялось. И здесь это по сути и реализовано, но как переход в перпендикулярный слой.
Тоже хотелось бы чаще видеть всевозможные новые игры, развивающие хорошие старые концепции, углубляющие и разнообразящие их геймплей, и не являющиеся просто копиями один в один. Например, была вот отличная игра с ловушками Kagero Deception, ничего подобного нету сейчас. Или самурайский Bushido Blade с поединками до одного точного удара. Или чумовая Final Fantasy Tactics. Или воксельные игры вроде Вангеров и Периметра. Или игры с пререндеренными задниками, либо игры с фиксированной изометрической перспективой где все анимации персонажа и противников заранее записаны для оптимального количества направлений, чтобы в динамике всё смотрелось очень плавно и классно.
Вот, мне тоже не нравится обилие стрельбы, когда идешь по уровню и просто не отпускаешь кнопку выстрела. В моей игре, надо сказать, будут бои со скелетами и прочей нечистью на мечах. Но эпизодически и в более спокойном темпе — если так можно выразиться, в квестовом темпе, что ли. В общем, примерно как в оригинальном «Принце Персии».

На моих наработках можно потом написать и другие подобные игры. У меня уже есть пара идей.
Просто обычно даже если дают не стрелять, а что-то для тех же целей, но альтернативное, то становится намного интереснее. Ну вроде тех же напрыгиваний на голову из Марио или прыжков на трости из Утиных историй.
С ловушками же было Orcs Must Die, не подходит?
Совсем не то. Или попсовый цветастый слешер скрещенный с tower defence, где без всяких ловушек герой всех раскидывает. Или атмосферная история про таинственную девушку, охраняющую некий дом/замок, у которой ТОЛЬКО ловушки в распоряжении и сама она по факту беззащитна. Это просто не передать, как там приходилось бегать от врагов, которые почти все колоритные, приходят по-одному, вдвоём, втроём. А потом они умирают у неё на руках, и у многих довольно трагичная история — кто-то вовсе не хотел приходить, или искал что-то для другого человека или же пришёл отомстить за кого-то ранее убитого. Это великая игра, какие там орки, ну вы что.
Вот с одной стороны вроде выглядит приятненько, вы молодец, что не бросили на полпути.
Но с другой — JS, загрузка какого-то серверного Xeon «всего на 30%», «целых 7(семь!) источников света» — в чем была мотивация писать именно веб-игру? Все то же самое, но нативно было бы на порядок шустрее, да и комьюнити существующих движков намного больше, чем JS :)

Апдейт после 5 минут игры — фиг с неидеальной анимацией, тут все понятно, но то, что персонаж замирает в середине бега и не сдвигается с места несколько секунд — это бесит.
Xeon — это старенький серверный, на 775 сокете, на котором еще работал третий Пентиум… Машинка весьма слабенькая. GTA 5 на нем идет в 1280x720 на самых минимальных настройках 40-50 fps, практически загружая его на 100%.

В других играх, насколько я знаю, тоже используется мало динамических источников света, от 3 до 7-8… Типа — фонарик в руке персонажа и пара фонарей на столбах. В некоторых играх даже — ни одного источника, а весь свет запекается в текстуры.

Да, в нативе было бы шустрее. Возможно, я и перепишу код, чтобы скомпилировать под Windows. Но пока я планирую доделать все же то, за что взялся. Меня привлекает идея того, что игра будет загружаться с сервера в браузер, и ее не нужно устанавливать. По крайней мере, таким образом можно размещать демоверсии: кликнул по ссылке — и сразу начал играть. Хочу посмотреть, что из этого получится. А сама игра может подгружаться по уровням по мере прохождения.
Апдейт после 5 минут игры — фиг с неидеальной анимацией, тут все понятно, но то, что персонаж замирает в середине бега и не сдвигается с места несколько секунд — это бесит.

Есть такое — замирание в случае, если быстро и часто менять направление, нажимая стрелки влево-вправо. Но у меня это происходит, может быть, 1-2 раза на всем уровне. Я еще не разобрался, в чем причина.
А на каком железе играете и откуда качали? Сейчас я поддерживаю актуальную версию только в Steam, Itch и Indiexpo.
Качал из стима, железо вроде нормальное, 48Гб оперативки, GTX 1060, i5 какой-то четырехядерный, винда.

Происходило куда чаще 1-2 раз. Только когда по коридору над скелетом бежал, пару раз было. Туда-сюда вроде не нажимаю, просто бегу с зажатой «влево» и лагает.
Я вчера поработал над движением. Вот, буквально 10 минут назад залил обновление. Друзья говорят, что лагов больше нет.
А у вас были периодические лаги, с определенной частотой — типа строго раз в 2 секунды? Или хаотично?
Если все пройдет как запланировано, то, пожалуйста, в следующей игре сделайте мир как во Flashback — фантастический антураж многим игрокам нравится больше, чем исторический. Ну и сама игра была более разнообразна визуально и в плане разбросанных вещей.
Да, Flashback тоже выглядит потрясающе. Но я сам, конечно, такое не нарисую. Но если в процессе создания текущей игры я найду художника, то почему бы и нет.
Да, конечно. Я про краудфандинговый успех. Если один раз получится, то и второй раз попробовать нужно будет.
Отличная идея! Помнится, была такая плоско-трёхмерная игра «Гномы», тоже выглядела интересно и необычно. Отдельное спасибо за релиз на итче.
Шикарно и атмосферно выглядит уже сейчас. Удачи!
На симулятор бизнесмена залип. А это что за проект такой? 3D монополия с GTA Sim City?
Скорее, подобие Монополии, но с усовершенствованной экономической моделью, более приближенной к реальности.
Знаете почему оригинальный Принц Персии был настолько ужасно офигительным?

Смотрите это видео www.youtube.com/watch?v=ZW_eExHpTZI

Оригинальная игра так хороша, потому что в ней было убито невероятное количество времени на реалистичную анимацию. Ваш же принц похож на недоделанную куклу, которая кое-как меняет свое положение в пространстве.
Зашёл в комменты, чтобы написать тоже самое. Ротоскопированная анимация была ключевой фичей игры, и на тот момент это было действительно что-то особенное. Причём она же определяла и геймплей, т.к. действия и тайминги были завязаны на анимацию, а она была завязана на тайминги реального мира. В остальном же игра технологически очень проста — экран 10 на 3 клеток, герой перемещается исключительно из клетки в клетку с анимацией этого перемещения. То есть 10 фиксированных шагов в ширину, 3 в высоту, произвольного перемещения нет, но есть иллюзия реалистичности.
Да, я знаю историю создания этой игры. Я упомянул, что анимации еще не готовы. Я пока только еще нашел алгоритм внедрения анимаций в игру. Если я смогу создать их самостоятельно, то выпущу в ближайшем обновлении. Если нет — то тогда уже по результатам краудфандинга буду работать с 3D-моделером. В любом случае, на его протяжении я буду работать над анимацией.
Было бы супер-круто если бы вы взяли оригинальное видео и попробовали его переанимировать.
Из «Принца Персии»? Он был 2D, а анимация для 3D делается иначе. Мне, скорее, предпочтительнее взять какие-нибудь готовые 3D анимации и попробовать их отредактировать. Ну или самому заняться MotionCapture…
Самый бюджетный способ сделать реалистичную анимацию — как раз снять видео, и построить ключевые кадры анимации, ориентируясь по нему.
Не надо брать видео. Нужно вытащить просто ту серию изображений из оригинальной игры и повторить. Конечно же обязательно иметь совпадение по времени начало и конец анимации. Нет там никаких проблем по 2D проекции повторить это же в 3D. Там же по анимации прекрасно видно какая часть тела задействована.
Действительно. Можно попробовать и так, конечно.
Можно было забить на производительность и добавить настройку для теней, их качества и качества освещения и количества его источников. Это одни из основных вещей которые сильно влияют на производительность. Для них разработчики вводят специальные настройки.
Я вынес в настройки игры выбор количества источников — от 1 до 7. И в зависимости от мощности видеокарты, можно попробовать разные значения.
В настройках игры есть выбор количества одновременных источников. А тени в Three.js имеют настройки shadowMapWidth и shadowMapHeight, которые сейчас установлены в 512. Честно говоря, не пробовал их уменьшать. Но, вы правы, можно вынести в настройки и этот параметр.
Станут менее четкими границы, замылить и норм, может они автоматически замылятся. И производительность вырастет, а значит можно смело использовать новейшую версию THREE.js и избавить себя от всяческой мороки. А то, что переменные переименованы, то это решается быстро автозаменой. Обычно, за несколько версий, всякие вещи, которые будут убраны, уже имеют альтернативные аналоги и помечаются как deprecated, соответственно для них выводится warning. При большем разрыве в версиях, выкидывается ошибка с информацией, что свойство удалено и предложением использовать альтернативу.
Уменьшил размеры до 128x128. Особой разницы в скорости не заметил, ну, может быть, пару процентов. Но зато тени стали более мягкие. В общем, так все равно лучше.
Позже протестирую с новой версией Three.js: для нее тогда еще нужно собрать сцену.
Круто конечно, но прыжки с места выше головы выглядят совсем не естественно.
Все таки лучше если он будет в прыжке хвататься за край и подтягиваться как в оригинале.
Я так и планирую сделать. Это сложно для меня, так как я программист, и на это потребуется время. Но анимации в релизе, конечно же, не будут такими, как здесь.
Ладно, допустим, мне не трудно было во всем своем коде поиском-заменой поменять слово «ambient» на «color»

Как разработчик разработчику: запихните всё существенное, что зависит от библиотеки в один модуль, чтобы и менять потом в одном месте, а не по всему своему коду.
Могу частично поучаствовать, если хотите.
Писать обертку под каждое свойство и метод Three.js — тоже довольно непродуктивно. А свойство 'color', например, может иметь и участок геометрии уровня (меш), и персонаж, и текстура. Эти свойства — в каждом объекте сцены и доступ к ним идет по-разному. Собственно, во всех этих вызовах и прописано обращение к свойству. Не так уж и много…
Ну тогда надо код смотреть, Вам виднее. На гитхабе он есть?
Нет. Пока код не открываю.
Всегда приятно видеть людей с прямыми руками. Успехов с игрой!
Ну если и писать игру в 2019, то может лучше в VR?
Просто принц из персии по старинке не имеет смысла. Таких игр много…
Не соглашусь. Слышал от множества людей, что, как раз, не хватает игр, таких, какими игры были раньше. А то, что есть из современного — оно все равно не похоже на старые игры. Видимо, в них была какая-то особая атмосфера. Далеко не все игры, которые делают со стилизацией под старые, воссоздают ее.
VR — тоже неплохая мысль. Но здесь уже игра должна быть другая — в 3D с видом от первого лица.
VR — тоже неплохая мысль. Но здесь уже игра должна быть другая — в 3D с видом от первого лица.

А вот тут вы не правы. Есть вполне себе 2D игры в виртуальной реальности. Прошёл одну из таких. Суть в том, что смотришь, как бы на 2D картинку в очках, но можно посмотреть на неё с разных ракурсов и иногда объекты из 2D картинки вылетают из игры наружу. Т.е. это 3D переведённое в 2D иногда переходящее в VR. По моему наиболее перспективно для принца из Персии.

Ну и если вы пишете игру про принца, то нужно больше акцентировать внимание на движениях. Какой-то он у вас не естественный. На денди и то движения лучше проработаны. Именно благодаря этому он и стал популярен в своё время. Движения — это главное.
Случайно минусанул, извините. Плюсанул сообщение выше.
А как называется та игра?
VR, по-моему, есть даже в браузере. Но у меня нет VR железа. Ну и я не уверен, что целевая аудитория моей игры любит VR. Хотя, можно, конечно, попробовать такое продвинуть среди молодежи. Но, видимо, придется переделывать код под натив. Наверно браузер для этого — слишком «тяжело».
Про движения — уже упоминал, что они будут полностью переделаны, как и сам персонаж.
Witchblood
Ну и я не уверен, что целевая аудитория моей игры любит VR.

Любит, любит. Просто в VR всё что есть уже пройдено. Острая нехватка качественного контента. И ваша игра не будет слишком требовательна к системе и в неё смогут играть с любого телефона. Witchblood — я прошёл через galaxy s8+. Ещё много игр прошёл в виртуальной реальности, пока они не кончились))). Рекомендую. За VR будущее в любом случае.
Насчет будущего — не уверен. Все-таки, не каждый будет сидеть в шлеме. Целевая аудитория довольно ограничена. Но она есть, конечно. И сама тема довольно интересная.
Witchblood

Вместо скроллинга экрана использовать поворот, а что, тоже довольно интересно.
Да с графикой нужно немного поработать, первое впечатление когда смотришь видео-ролик прохождения первого уровня на YouTube канале видишь не принца Персии, а какого-то докторишку не то в белом халате, не то в белом костюме, или ученого-физика из экшен игр — Pray, DOOM 3.
Профиль Ван Дамма хорошо вписался в персонажа Jonny Cage (Mortal Combat).
Можете взглянуть на Babylon.js перед тем как создавать свой движок, там разработчики гарантируют обратную совместимость.
UFO just landed and posted this here
Three.js слишком монструозный (всё в одном) и непостоянный, он скорее подходит для небольших демок, которые сделал и забыл. В тоже время есть множество маленьких и быстрых библиотек типа picogl.js, regl.

А множественные источники света делаются с помощью технологии «Deferred Rendering/Shading».
Deferred Rendering Explained
https://regl-project.github.io/regl/www/gallery/deferred_shading.js.html
Посмотрел мельком эти два движка. Не уверен, что они поддерживают скелетную анимацию, во всяком случае, на каком-то уровне, пригодном для быстрого изучения.

С этой технологией относительно three.js не все ясно. Ее оттуда убирали когда-то, затем, кажется, встроили в стандартный рендер. Хотя, могу ошибаться.
Да, эти библиотеки чисто для упрощения работы с WebGL, для скелетной анимации придётся искать отдельное решение. Но, если соберётесь писать свой движок, то с анимацией придётся всё равно разбираться.

Ее оттуда убирали когда-то
Вот, было у меня ощущение, что в примерах когда-то видел, но вчера не нашёл. Ещё одно подтверждение, что Three.js застрял в вечной альфа-версии — ничего постоянного.
В целом мне понравилось. Замечания даже не столько к графике и анимации (понятно, что это лишь ранняя альфа), сколько к повествовательной стороне. Начинается игра хоть и банально («Где я?» «Кто я?» «Как сюда попал?»), но сразу интригует. Начинаешь отождествлять себя с персонажем и даже слегка за него переживать. И следующая же фраза «This chest gives you LIFE» напрочь рушит все погружение. Во-первых, от первого лица мы резко переключаемся на второе, что уже нехорошо. Во-вторых, в контексте произошедшего (изменившийся индикатор здоровья) текстовое сообщение и вовсе не нужно (для сравнения: когда герой находит кристаллы, этот факт никак не комментируется, что хорошо). Или, если уже очень хотелось, можно было приписать реплику самому персонажу («Что это за красный борщик? Я чувствую себя человеком»), что хоть и не менее банально, но слегка лучше способствует погружению.

Ну и добила меня фраза «You take the red key. It will open another door across the water.» Опять-же, второе лицо, но претензия не в этом. Понятно, на данном этапе хотелось дать игроку подсказку, а что ему собственно делать дальше (хотя хардкорным игрокам, любящим исследовать каждый закоулок, это и не нужно). Но все же (замечание не только к вашей игре относится — такое встречается повсеместно), откуда герою знать, какую конкретно дверь этот ключ откроет? В этой ситуации можно поступить двояко:
1. Если игрок ранее уже встречал запертую дверь, можно отметить (репликой персонажа) какую-то необычную деталь этой двери (помните Resident Evil с его «A club is etched under the keyhole» ?). Потом, когда ключ будет найден, добавьте другую реплику. («А вот и ключ. Возможно, он откроет ту дверь, что я видел ранее»).
2. Если игроку дверь еще не встретилась, то порядок реплик обратный. Сначала: «Что этот ржавый ключ делает внутри сундука в подземелье?» А уж потом: «А не попробовать ли мне ключиком в замочке пошуршать?.. Надо же, подошел...»

Я думаю, вы поняли суть. Со стороны подобные замечания могут казаться мелочными придирками (а на ранней стадии разработки они таковыми и являются), но, поверьте, внимание к деталям (в особенности, к сюжету) очень сильно повышает интересность игры. Пока текста еще мало, очень рекомендую выработать единый стиль (либо раздумья героя от первого лица, либо комментарии невидимого нарратора за кадром, либо еще что-то — я не настаиваю на конкретном варианте) и придерживаться его в процессе. Потом, когда текста будет много, переписывать его уже не захочется.

Удачи в разработке!
Спасибо за комментарий. Полностью согласен. Этот переход на втрое лицо — не то, чтобы такая задумка. Это, скорее, следствие процесса разработки. Мне нужно было создать какие-нибудь сообщения при взаимодействии с предметами, и я просто понаставил фраз типа — «сундук дает жизнь», «ключ открывает дверь». Действительно, лучше поработать над их стилистикой прямо сейчас, а не откладывать их редактирование на релиз игры.
Замечания очень даже не мелочные.
Здравствуйте. Очень красиво получилось. Есть 2 пожелания.
Оригинальная версия восхищала анимацией. Особенно как персонаж подтягивается, забираясь на отступ. Или делает малый шаг, подходя к обрыву, или большой прыжок. Тут, вижу, концепция движка немного отличается, но если получится сохранить эту особенность — было бы классно.
А ещё было бы здорово сделать альтернативный геймплей — не на время. Игра на время, как по мне, на любителя.
Здравствуйте. Анимация еще будет дорабатываться. При подходе к обрыву тоже будет маленький шаг, причем, его длина будет зависеть от расстояния до обрыва и выбираться автоматически. Это можно реализовать. Конечно же, можно будет и сигануть с обрыва, сделав большой шаг.

Что касается времени, так здесь тоже игра не на время. Просто в конце отображается время прохождения уровня, так, для статистики, если кому-нибудь вздумается посоревноваться в спидране. Время в игре будет задействовано, возможно, в отдельных квестах на каких-то уровнях эпизодически.
Благодарю за ответ. Это здорово, если так. Другое пожелание к 3д-моделеру — сделать персонажа поатлетичнее. Мне показалось, что текущий немного мешковато выглядит. Но может это уже вкусовое. Точно попробую себя в игре. При старте краудфайдинга, надеюсь, Вы уведомите сообщество.
Да. Персонаж будет чуть помоложе, но не такой юный, как в Принце Персии. Этот, действительно, грубоват и бежит как-то тяжело.

Реклама здесь запрещена, за исключением раздела «Я пиарюсь». Но какие там критерии, я еще не изучал.
Привет, есть старое видео Prince of Persia Classic -> www.youtube.com/watch?v=Dvzg_RSXKfg физика прыжков совсем адская и местами похожа на твою, очень надеюсь в твоей реализации она будет более плавно
Sign up to leave a comment.

Articles