Привет! Это новый выпуск девлога. За прошлою неделю в игру добавилось кое-что:
Карточка персонажа
Чтобы удобнее было назначать наиболее подходящего персонажа на пост, добавил окошко с информацией. Если нажать на плашку с именем персонажа - открывается окно, в котором можно посмотреть его характеристики.
Режим отображения: карта сектора
Если максимально отдалить камеру, то включается режим карты. Видно почти все планеты сектора. Корабль игрока и вражеские корабли показаны в виде маркеров.
Подсветка лута
После того, как игрок уничтожил вражеский корабль, все выпавшие из него полезные предметы помечаются маркерами, чтобы их было проще найти и собрать. Маркеры отображаются в режиме карты сектора.
Предметы обладают массой, на них действует гравитация планет. Они могут упасть на планету или сгореть в атмосфере. Поэтому нужно поторопиться, чтобы собрать их :)
Звезды и орбиты планет
Раньше в звездных системах не хватало одной значительной детали - там не было звезд. Теперь я это исправил. В центре каждой звездной системы теперь есть своя звезда, вокруг, которой вращаются планеты. (На видео сильно увеличенная скорость планет, чтобы показать наглядно)
Пока звезды довольно безобидны, я не подключил расчет температуры и гравитации. Но скоро звезды станут очень притягательными и горячими штуками, к которым без крайней необходимости не стоит подлетать. :)
На этом у меня пока все. Спасибо за внимание :)
Если хотите следить за проектом еще и в телеге, то подписывайтесь, пожалуйста: https://t.me/CubicPieLive
Объём космического мусора достиг критической массы и это мешает дальнейшему изучению вселенной — исследователи липнут. Постарайтесь свести к минимуму выходы в открытое пространство.
Да, именно эти предметы были использованы для создания звуков в игре Hotloop (кстати я тут уже писал о ней статейку, заходите глядите) Так уж получилось, что я не сильно богатый инди разработчик. Поэтому пришлось выкручиваться при помощи подручных средств, самым дорогим из которых является микрофон (да и тот зря, о чем ниже).
Вот он кстати
Собственно, когда игра обросла полетами, стрельбой и гравитацией, встала острая необходимость озвучить происходящее на экране. И не смотря на то, что я увлекаюсь написанием музыки, область такого звукоизвлечения была для меня абсолютно новой.
Ясно было одно: Нужно взять звуки из мира реального и преобразовать их так, чтоб они начали звучать как предметы из мира виртуального. И первым звуком стал эффект маршевых двигателей космического корабля. Нужен был звук максимально похожий по характеру на реактивную струю. Выбор пал на обычный... дезодорант!
Исходному звуку для придания мощности выкручен бас на максимум, наложен дисторшен (типа гитарной примочки для драйва), поверх которого намазан вокодер, и еще раз дисторшен (в любой непонятной ситуации юзай дисторшен). В итоге звук записанный микрофоном изменяется так, что даже если бы это была петличка за 500 рублей никто бы и не заметил.
Именно так выглядит надпись "долбит нормально"
Помимо этого было сделано отдельно три семпла со стартом работы двигателя, монотонным отрезком и окончанием работы, а в игровом движке написан скрипт, который эти кусочки подставлял в нужный момент. В итоге получилось следующее:
Зацени эмбиент на фоне кстати... ну зацени)
Вторым на очереди шел звук выстрела космодробовика!
Судя по описанию - надо брать!!!
Чтобы сделать звук, в который игрок сможет поверить, необходимо понимание, как предмет или его ближайший аналог работают в реальности. Так, у любого огнестрельного оружия в основе лежит обычная взрывающаяся петарда набитая порохом. Самым похожим на звук хлопка петарды, является... хлопок (ба-дум-тс) целофанового пакета (ставь лайк если в детстве тоже лопал пакеты доводя домочадцев до инфаркта жепы).
Не смотря на то, что выстрел - это очень короткий звук, для него работают те же правила. Нам необходимы три части: Резкий щелчок в начале, плотное тело и хвост с постепенным затуханием. Для этого одного хлопка маловато. Мне очень хотелось придать металличности звуку. И вот тут то и пошли в ход всевозможные столовые приборы, вилки, ножи, и выше упомянутые ложки.
Пропустив это все через несколько слоев реверберации, дисторшена и вокодеров, и сделав несколько вариаций, подвигав разные составляющие, чтоб звук не приедался, получаем звуковой эффект космодробовика, из которого снаряды вылетают буквально высекая искры.
Но все это еще не очень сайфайно, а на превьюшке ведь есть это чудное слово. Поэтому вот вам звук плазмогана и эффект включающегося энергощита. В отличае от предыдущих звуков, эти были семплированы не из подручных предметов, а из обычных танцевальных ударных, плотно обмазанных обработкой.
Ну и вишенка на торте - звук модуля ЭМИ. В нем был использован последний и самый необычный не рассмотренный предмет с превьюшки - массажерка для головы. Как оказалось, эта штука может делать приятно не только голове, но еще и ушам нищего инди разработчика.
Из прочего - звук разваливающихся астероидов был сделан из сминаемого плотного бумажного пакета, а самыми сложными звуками - были взрывы и столкновения корабля с препятствиями
Вот такой вот небольшой рассказ об одном из аспектов бюджетной инди разработки. Впереди еще много подобных историй про другие стороны разработки.
Ну и по случаю предлагаю ознакомиться с моей игрой про орбитки и гравитацию, поиграть в демку и добавить в желаемое (поговаривают, что у добавивших FPS во всех играх увеличивается на 10 единиц, а PP получает +1см к длине)
-Игра обновлена до версии 0.9.7.9 (2023 г.), представляющей обновленную и доработанную версию оригинальной версии 2017 г.
Far Out предлагает хардкорный ретро-футуристический захватывающий симулятор, вдохновленный классическими квестами, такими как Space Quest и The Dig. Приготовьтесь к испытанию старой школы, где стрелки на карте отсутствуют, а руководство скудно — настоящее испытание ваших инстинктов выживания.
Следуйте за единственным выжившим из команды «Селины», обычным лаборантом Заком Патерсоном. Он где-то проснулся, ему не следовало этого делать. Узнайте, что случилось с кораблем, командой и как выжить.
Это персональное шоу предоставляет полную свободу действий, позволяя вершить собственную судьбу в беспощадной PVE-среде.
Играйте и создавайте свою собственную историю.
ФУНКЦИИ
Полная свобода действий, приводящая к множеству возможных концовок.
Захватывающая и интерактивная футуристическая среда.
Невероятные музыкальные композиции, соответствующие темпу игрового процесса.
Наполнение контента в игре продолжается. Сейчас в игре игроку доступно более 10 видов кораблей. От легких истребителей, до крейсеров и дредноутов. Каждый со своими особенностями и вооружением.
С увеличением размера кораблей мы постарались передать чувство управления чем то тяжелым и неповоротливым. А если оно взрывается, то расталкивает всё вокруг! Мы решили использовать возможностями физического движка и добавили физику взрывов 🙂
Ложка дегтя
Новый контент - это хорошо, но еще надо следить и за производительностью. При тестировании новых кораблей были выявлены просадки FPS. Что весьма логично, ведь общее количество полигонов могло достигать 200 тысяч на экране. И с этим что-то нужно было делать. Мы решили упростить модели кораблей, чтобы более простые использовать в игре, а более детализированные - в предварительном просмотре в магазине. Таким образом, нам удалось уменьшить количество полигонов у каждого корабля с 4-8 тысяч до 1-2 тысячи.
1/3
Было - Стало.
Это не реклама, но в упрощении моделей очень помогла программа Polygon Cruncher. Она имеет триал-версию на 7 дней, но если программу не закрывать, то можно продлить этот период 😃 Итого, общее количество полигонов удалось снизить с 200 тысяч до 60 тысяч на экране! Это превосходный результат!
Мы также немного поработали над тем, чтобы уменьшить визуальное подёргание камеры и кораблей игрока: Код движения камеры перенесли в метод LateUpdate, а у кораблей в компоненте Rigidbody поменяли свойство Interpolate с None на Interpolate.
Сравнить и увидеть разницу можно с предыдущим видео
Itch.io
Мы решили опробовать новую платформу и опубликовали веб-версию игры. Для этого нам пришлось немного переделать интерфейс и добавить поддержку клавиатуры.
Конечно, не обошлось без ошибок. После релиза на itch.ioвыяснилось, что весь прогресс игрока пропадает после публикации новой версии игры. Дорогие инди-разработчики! Не используйте PlayerPrefs для WebGL. Под капотом оно сделано так, что Вы имеете доступ к PlayerPrefs, пока у Вас постоянная ссылка на сборку. На Itch.io при добавлении новой версии, сборка размещается в новой подпапке, что создает новую область для PlayerPrefs и считать старые значения будет уже невозможно.
Для исправления бага нам пришлось разработать сохранение данных в файл, причем со своими нюансами. Данные файла и PlayerPrefs хранятся в IndexedDB, после записи файла нужно правильно выполнить сохранение в БД. Вот такие костыли 😔 Надеюсь, это поможет сэкономить кому-то время.
Чтобы "триггернуть" сохранение в БД, нужно явно вызвать метод сохранения в PlayerPrefs
Главное - удалось исправить ошибки, пусть на это и было потрачено несколько дней.
На этом статья заканчивается. Надеюсь, было интересно! Впереди еще больше контента, пишите комментарии, замечания, отзывы - мы рады всем! А для тех, кто дочитал до конца - #комплиментдня
Разработка игры и подготовка материала занимает много времени. Но всё это сделано не зря, если в игру поиграл ты - мой самый требовательный игрок
UPD:
Поправили кусок кода сохранения в файл -> pastebin.com
Но не переживайте, из универа я просто выпустился, работу нашел новую, а игра мечты — это не клон GTA, а всего лишь небольшой космический шутер с видом сверху со своей уникальной механикой!
Никогда не думал что делать монтаж будет сложнее чем программировать...
Ну а в чем фишка то?
А фишка в честной физике. Да да, никаких ограничений по скорости, а корабль теперь не замедлится сам из за «трения». Помимо этого крупные космические тела вроде планет или звезд теперь обладают гравитацией. С ней игроку сначала предстоит совладать самому, а позже научиться использовать ее и против врагов.
"Мам смотри я без рук"
А дальше все по стандарту
В игре доступна прокачка корабля. Можно поставить разные пушки у каждой из которых свои особенности (например у некоторых есть отдача что не маловажно в вакууме). Также можно использовать разные вспомогательные системы типа грави-поля раскидывающего противников в разные стороны. А если их еще и грамотно скомбинировать… ну вы поняли))).
При взгляде на экран прокачки все начинают думать что это мобилка... Но это не так!
Ни и про разные локации я не забыл, игроку придется адаптироваться под каждую из них
А опробовать это чудо геймдева можно в бесплатной демке