Нова хПресс
23 subscribers
27 photos
13 videos
1 file
8 links
@lbrtgltfrtrnt - эт я
Download Telegram
Нова хПресс
Выкраивал как еврейский портной спрайты бекграундов шоб еще сильнее сократить число свопов (бо с компа всё окейнейше летает а на ноуте с выделенной видевоаппаратурой на 1 гигабут и то не свой шакалит периодами). По итогу перерезал все картинки, те шо были…
а еще жесточайшим образом вырезал почти все красоты. у меня была идея все интерфейсы сделать всякими картинами на околотематику. и под каждый чих была своя подложка гуишная. в итоге из 50+ штук я оставил 4. так что музея ИЗО не вышло
2😨11
во такую штуку надумал крч по звуку окружения. есть круги и есть экран. и есть вычисление, какую долю от 0 до 100% от экрана занимает каждый круг по 0Y. И у каждого круга свой шум. А его громкость - это его доля от экрана, т.е если камера показывает так, шо 30% круга 1 в нее попадает и 70% круга 2, то идет так называемый микс с 30% громкостью круга 1 и 70% круга 2. Звуки на видеве рандомные для теста
1
Media is too big
VIEW IN TELEGRAM
маленько звуков накинул
3321
Придумывается такая система ниппель. для будок некоторых (почти всех) делаю фоновый звук (тарахтелка). И чтоб это не превращалось в кашу, вычисляю х и у на карте, на которые смотрит центр камеры. дальше от каждого здания считается расстояние до точки центра камеры. и это расстояние делю на половину диагонали камеры (тож по физическим точкам на карте, а не от разрешения). Получается доля от 0 до 1, показывающая, насколько близко будка от точки, в которую смотрит центр камеры. Возвожу в квадрат и вычитаю из единицы. Получается громкость, с которой играет звук будки. Над квадратом еще думаю, плюс мб добавлю какую-то константную часть, чтобы здания совсем «сбоку» имели не околонулевую, а хотя бы 10-15% громкость гарантировано.
3
тащемта вот так вота получается. добавил еще зависимость от зума, еще пару коэффициентов и убрал квадрат расстояния от центра экрана в пользу простого расстояния. а ну и убрал включение по выбору, теперь здание звучит всегда, а громкость зависит от расчета
1111
Я просто оч впечатлился. Прозвучка оказалась самым интересным, шо я делал над этой игрой так называемой
11
Если шо все звуки я обрабатывал во фрути лупс🥹
11
использовал передовые технологии прошлого поколения и мощнейший аудиошоп и получил вот такое кино. Нашел какойто лютейший сайт со звуками из 2003 года, нарезал еще с утуба звуки вёдер, колодцев, старых бабок и иной красоты.

Еще сегодня побалансил начало и смог сносно поиграть в собственную стрелялку
🙏2👾1
итоги такие шо сча побалансю чучуть начало, потестирую маленько еще и закину на итчево и господину из херокрафт, а то как-то заболел и не ответил ему уже неделю как(
2👾1
пока тестил на сносность кусок из 10 раундов для демо/теста - решил проверить, как будет вести себя эта забава под нагрузкой. и получилось так, что при значительном увеличении числа юнитов начинались просадки по фпс.

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

получилось, что работает это так, что есть fps и real_fps. fps это то, что видит игрок - та частота, с которой обновляются картиночки на экране. она у меня залочена на стандартные 60. то есть, каждые 1/60 секунды движок совершает кучу вычислений, которые в конечном итоге результируются в картинку на экране. и так 60 раз в секунду.


real_fpr - это сколько "кадров" обсчитывает проц за ту же секунду. если real_fps > fps - то всё ок. это говорит о том, что процессор может обработать большее количество кадров, чем нужно и значит картинка будет обновляться каждые 1/60. но если real_fps падает ниже, чем таргет по fps - то fps фактически идет вниз по капу real_fps. это значит, что вычисления каждого кадра занимают больше, чем 1/60 секунды, соответственно за это время игра не может обсчитаться как следует, просит на это больше времени и частота смены кадров дропается. как если бы я сказал, что могу есть по 60 сосисок в день, а по факту могу съесть 90. но меня просят съесть только 60. но если вдруг размер сосисок увеличится в два раза, то моя реальная сосисковместительность составит 45 штук в день, и вместо старых 60 на счетчике я буду показывать 45.


так вот. эти поганые лаги. с одной стороны были понятно, что лагает при большом числе инстансов потому шо я плохо все оптимизировал - часть объектов и партиклов жила своей жизнью даже если объект был вне экрана (т.е. их можно деактивировать), еще часть вычислений проводится каждый фрейм, хотя можно заменить эти вычисления на вызовы по требованию и т.д. но с другой стороны траблы с фпс наблюдались при низком уровне загурзки ЦПУ и РАМа. а это уже ни в какие ворота!!! т.е. сидишь на 14 ядрах в цпу с моднейшей видеоебучкой и огромным запасом по рам, нагрузка по игре тебе показывает 20% по цпу, 5% по рам и 15% по видеве, но при этом фпсы дропаются и из аналитичекой тулзы ты видишь, шо дроп происходит из-за большого времени на вычисления в каждом фрейме (т.е. не видева!)

пошел смотреть в чем обман. оказалось, шо в новой модной версии GameMaker компилятор модный, но крутит четотам однопотоковое и работает на верхнеуровневом языке (тупа на жава скрипте по сути). отсюда он хорош для отладки и повседневной разработки, но билдить на нем для господ не стоит, если в игре есть сложные вычисления (не мой случай) и их много (мой случай).

пошел смотреть че таместь по SDK. и оказывается есть православный компилятор, который будет собирать всю хурму по кучу-лет, но на выходе отдаст МАШИННЫЙ КОД из твоих колхозных скриптов.
накатил 16 гигабут этого счастья. выдает 2000 ошибок компиляции сволочь. туды сюды из реальных осталось 3-4 штуки, так и не понял че он хотел, просто перевисал код инциализирующий один из объектов - и он заткнулся. в итоге на живом машинном коде то, что имело real_fps около 60 под нагрузкой на виртуально-машинном компилятор стало летать с 400-500 real_fps на машинном. во как.
ну при этом оптимизация у меня все равно ущербная, просто теперь ее можны скрыть за кулисами ноликоединичек
🙏32
В пятницу отправил приложение для плейтеста на проверку в стим. Проверяют 2-7 дней (были выходные). Ну и вчера думаю, открою регу на плейтест, пока висит проверка - может кто запишется. И, т.к. виши набираются по 0-1-2 в день, подумал, что будет неплохо, если как раз к завершению проверки приложения наберется штук 5 заявок на тест. А сегодня чекаю, а там 50 заявок, а проверка еще до 5 дней может идти... Обманул людей!
11
Нова хПресс
выложил тестово играбельное: https://busica.itch.io/abyssal-acres
а на итче никакой активности вообще. 4 скачивания: 2 или 3 из которых - мои, и 1 Дмитрия. Стим, конечно, в этом плане мощнейший аппарат по автопродвижению...
🗿11
таковые новости

ночу залаунчил плейтест в стиме. раздал 130 проходок (хз, сколько из них пришлись на ботов).

за неделю разобрал полностью код, обсуживающий все будки и все ресурсы. до этого каждый ресурс был в своем отдельном инстансе, и, например, если на складе возможно хранение всех 16 видов ресурсов - то изначально с будкой создавалось 16 инстансов-хранилок под ресы. и, соответственно, во всяких вычислениях нужно было обойти всех 16 хранилок, а в каждой хранилке были еще свои вычисляния и т.д. в итоге при большом количестве зданий этих хранилок старовилось оч много. они не много жрали, но объектов было много. в итоге сча сделал 1 здание - 1 хранилка на все ресы сразу. и много пофреймовых вычислений вынес в вычисления по запросу. например, раньше число доступных свободных ресов в хранилке вычислялось каждый кадр по примерно такой формуле: сколько ресов есть минус сколько ресов забронировано каким-нибудь демоном (он идет их забрать). или - возможность положить что-то в хранилку вычислялась по формуле: сколько емкость хранилки минус сколько ресов есть минус сколько ресов в нее несут минус сколько ресов производится и т.д. крч много запросов. вынес такие расчеты только на обращение к хранилке. т.е. никто не знает, скок там ресов доступно, пока не обратятся за этим расчетом. ну и соответсвенно число таких вычислений упало в тысячи раз, т.к. к какому-нибудь ресурсу юнит мог обратиться раз в минуту - и это одно вычисление в 3600 кадров, а не 3600 вычислений за это же время.
сделал это в целом просто для красоты, т.к. фризов из-за этих вычислений не было. просто почистил и сделал прозрачнее систему управления ресами в коде. осталась еще каша с юнитами, т.к. там для выбора спрайта и номера фрейма в нем у меня накостылено столько веток, что я сам не в курсе, че именно будет показываться. хоть и показывается корректно.

пока переписывал эту штуку поправил кучу багов. например, если у демона на руках было N единиц разных ресурсов, а емкость его личной хранилки тоже N - а он получается задание принести некоторый ресурс из А в Б - то он прыгал и скакал как сайгак!, если оказывалось, что у него нет места, чтобы собрать такой ресурс. и т.д.т.п.т.д.т.п... а ну и еще вычистил много созданий объектов чисто для красоты, если родительский объект находится вне экрана.

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

такие дела.
если кто-то тут хочет поиграть - то это можно сделать прям в стиме прям бесплатно через запрос участия в тесте. можно забесплатно почувствовать себя тестировщиком!
22
так, ну шо, ребяты, я продал свою разработку подписался с издательствой. Теперь у меня есть продусэр и абусальной акрой будут заниматься серьезные ЛЮДИ из индустрии игроведения. из андерграунда на экран, так сказать. ради сего обременения даже пришлось оформиться в качестве ИП. так что я теперь бизнес_мен. и съездить на южный вокзал, чтобы поставить свой модный акцепт на документе, подтверждающем, шо я не балабол.

коммерческие условия разглашать не могу, скажу лишь только, что завтра лечу на вертолете заселять цыган назад в поселок дорожный......

вопросы шрифтов для баннеров отныне не актуальны, т.к. из гильдии авто-прокламаторов я исключен за отсутствием компетенций. т.е. картиночки теперь будут рисовать специально обученные ремеслу люди. последний раз взглянуть на моё поделие в исконном аутентичном виде можно на странице распродажи издателя в секции каминсун. там некий Petrov Aleksei все еще значится в качестве автономной издательской единицы. такие вести
333