Комментарии 29
Здесь globalTimer — это написанная мной система обработки событий по таймеру javascript setInterval.
какая практическая проблема вызвала создание этой системы?
0
Да. Можно просто запустить много setInterval-ов с разными периодами. Однако, я заметил, что это плохо сказывается на рендере. Движение становится рваным: видимо, браузер пихает выполнение этих интервалов в любое свободное время. И выполняются иногда они слишком долго и сбивают плавность фреймрейта. Даже requestAnimationFrame не помогает. А с одним интервалом в Хроме — все гладко. Однако, в Firefox все равно наблюдаются рывки. И пропадают только, если отключить setInterval вообще. Думаю, я вообще откажусь от setInterval и все его события перенесу в функцию рендера. И буду там уже управлять моментами вызовов вручную.
+2
НЛО прилетело и опубликовало эту надпись здесь
Касательно физики, почему не готовый движек?
Сравнение 2D js движков
github.com/cmann1/Javascript-Physics-Library-Tests
Сравнение 2D js движков
github.com/cmann1/Javascript-Physics-Library-Tests
0
У меня был опыт работы с Cannon.js, совместно с Three.js. Да, готовые движки — это тоже неплохо. Но в них есть свои ограничения, с которыми приходится мириться. А самому можно сделать, как тебе надо. К тому же, я стремлюсь уйти даже от Three.js, написав свою прослойку на GLSL. Поэтому путь в сторону очередного стороннего движка для меня видится неправильным. Мне, скорее, в противоположную сторону.
+2
А зачем запихивать игру в exeшник и если уж так, то, раз уж игра на js, почему не воспользоваться готовыми кроссплатформенными упаковщиками?
0
В идеале, я бы вообще хотел выпустить браузерную версию, которая бы работала просто в браузере на любой ОС. А чем и во что еще можно упаковать javascript, я что-то не совсем понимаю?
0
Electron, какой-нибудь, например. Webkit, по идее, тоже реально сбилдить под Mac, и например, в виде deb пакета. Просто, очень много ценителей "того" принца персии сидят сейчас не под виндой.
0
В оригинальной игре, кстати, анимация персонажа была лучше ;)
+3
В оригинальной игре разработчик снял на пленку самого себя во всех прыжках и прочих движениях и оцифровал все по кадрам. По этому там анимация такая хорошая.
0
С этим я согласен. Именно поэтому и ищу спеца по 3D анимации. У меня к этому нет таланта. Но если не найду, то придется все делать самостоятельно. Но то, что анимацию надо переделывать — это 100%.
+1
Еще один важный момент по поводу анимации — сейчас персонаж все время находится по центру. Малейшее движение — и фон сразу смещается. Это приведет к быстрому раздражению во время игры. Необходимо дать возможность персонажу перемещаться по текущему экрану в некоторых пределах без скроллинга. Дошел до края — начинается скроллинг. Пошел назад — и пока до противоположного края не дошел — экран стоит на месте.
0
А как же гонки и шутеры? Там такое движение не раздражает, а, наоборот, придает динамику. Или вы считаете, что целевая аудитория моей игры — абсолютная противоположность той? А как же пиксельные 2D платформеры, раннеры? Там тоже, в большинстве случаев, постоянно движется фон.
Ну и, мне кажется, с вашим вариантом у меня будет ломаться геймлей. Некоторые препятствия в игре будут представлять собой летящие предметы (камни и т.п.) с катапульт, к которым игрок будет приближаться. Если давать ему доходить до края, то останется слишком мало времени на реакцию. Хотя, конечно, можно эти орудия расставить в таких точках, при которых экран, как раз, подвинется и игрок окажется в центре…
В общем, я попробую сделать так, но не уверен, что эта возможность войдет в финальный билд.
Ну и, мне кажется, с вашим вариантом у меня будет ломаться геймлей. Некоторые препятствия в игре будут представлять собой летящие предметы (камни и т.п.) с катапульт, к которым игрок будет приближаться. Если давать ему доходить до края, то останется слишком мало времени на реакцию. Хотя, конечно, можно эти орудия расставить в таких точках, при которых экран, как раз, подвинется и игрок окажется в центре…
В общем, я попробую сделать так, но не уверен, что эта возможность войдет в финальный билд.
+1
Я не про отсутствие скроллинга совсем, а про небольшой люфт при мелких движениях. В пределах от 2-5 см, и до краев экрана, как лучше будет до геймлпея. Но минимальный все равно нужен. Иначе сильно рябит в глазах при мелких движениях. Создается впечатление, что персонаж на месте стоит все время, а движется только фон.
0
Вот идея не двигать экран при мелких движениях мне нравится. А когда игрок перемещается чуть дальше, тогда — чтобы экран как бы догонял его и с продолжением движения персонажа уже бы двигался, как сейчас. Надо будет попробовать. Можно даже сделать это как опцию.
Проблема еще может быть в мониторе. У меня он почти не оставляет шлейфов, а вот играл у друга — у него при скроллинге все размазывается.
Проблема еще может быть в мониторе. У меня он почти не оставляет шлейфов, а вот играл у друга — у него при скроллинге все размазывается.
0
Вообще, в платфомерах скроллинг был основной фишкой. На этом Марио и взлетел, в целом. Хотя в Принце персии, конечно, скроллинга не было…
+1
Выглядит очень круто. Отличная работа!
Не подскажите, как много ресурсов ушло на разработку?
Не подскажите, как много ресурсов ушло на разработку?
+3
Спасибо. А в чем бы вы предложили измерить эти ресурсы? В дошираках? Я занимаюсь этой игрой где-то с начала года. Но параллельно еще и работаю над своей библиотекой. Кроме того, немало времени уходило на то, чтобы найти решения всевозможных задач. Но, думаю, следующую игру буду делать уже намного быстрее.
0
В человеко-часах и деньгах, конечно)
Вы работаете в одиночку? Может отдавали что-то на аутсорс, покупали звуки или текстуры? Сколько еще придется потратить времени и денег по прогнозам?
Как, кстати, собираетесь монетизировать браузерную игру?
В общем, интересна финансовая сторона вопроса.
Вы работаете в одиночку? Может отдавали что-то на аутсорс, покупали звуки или текстуры? Сколько еще придется потратить времени и денег по прогнозам?
Как, кстати, собираетесь монетизировать браузерную игру?
В общем, интересна финансовая сторона вопроса.
0
Все делал один. Ничего не покупал. Текстуры сделал сам, звуки — какие-то бесплатные, какие-то сгенерированы самостоятельно. Как монетизировать подобную браузерную игру — пока не знаю. Но планирую выйти на краудфандинг со сборкой игры под Windows, она сейчас есть в Стиме. Далее, если что-то соберу, то уже на эти средства найму 3D моделера, чтобы улучшить графику и сделать нормальную анимацию персонажей. Релиз пока поставил на 3 августа 2020. Ну а вложенных средства там пока только $100 за размещение на Стиме. Сколько ушло моих человеко-часов — не считал.
+2
Может где упустил, но где можно потрогать в живую?
0
Можно набрать в поиске и поиграть на Steam или скачать с Itch. Домашняя страничка:
m3d.me/index.html?lang=ru&go=percylancaster
m3d.me/index.html?lang=ru&go=percylancaster
+1
del
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Новая игра со старой атмосферой на Three.js. Часть 2