Форум программистов, компьютерный форум, киберфорум
Бета-тестирование
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Труд вопреки насмешкам
 Аватар для Etyuhibosecyu
363 / 181 / 41
Регистрация: 13.07.2017
Сообщений: 4,806
Записей в блоге: 14

Lineedge (Semi-Alpha) 0.75@20

06.05.2025, 02:03. Показов 21187. Ответов 309
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет в этом разделе! Невероятно долго шла разработка Lineedge (Semi-Alpha) 0.75@20, и вот теперь она завершена! Это победа! Вот что изменилось:
- Число ресурсов взяло мириа-масштаб! А это существенная отметка, учитывая, что в отличие от веса игры, который растет в 2-3 раза быстрее закона Мура благодаря гигантским пакетам, количество ресурсов так быстро расти не может, потому что каждый ресурс добавляет к этому счетчику лишь один ресурс, вне зависимости от того, весит он 1 КБ или 1 ГБ.
- Добавлено управление игрой с помощью речи. Разумеется, нестабильное и все такое, зато удобное. Разумеется также, что для этого нужен отдельный микрофон (так как на ноутбуках Lineedge плохо идет), либо хороший смартфон и приложение в стиле WO Mic (но тогда команды будут сильно запаздывать). Также желательно выключить радио и/или телевизор и музыку в самой игре (насчет последнего не уверен, но субъективно при приближении, например, к Белой Звезде уровень "галлюцинаций" растет).
- Число редакций чуть менее, чем удвоилось, вместо четырех - семь: EXE, скрипты для Linux, для Android, EXE (без речи), скрипты для Linux (без речи), EXE (платиновая редакция) и скрипты для Linux (платиновая редакция). Да, и для Android тоже, но нужен ОЧЕНЬ мощный телефон - с 16 ГБ ОЗУ, плюс нужно выставить 16 ГБ RAM Plus в настройках. Разумеется, на Android можно пользоваться микрофоном напрямую, учитывая, что альтернативы, например, для возврата в город или переключения между ходьбой и бегом практически и нет вследствие отсутствия клавиш в традиционном понимании на смартфоне. Также можно эмулировать с помощью речи нажатие клавиш Ctrl и Shift, для чего в Android также нет альтернативы (в Windows и Linux речевая команда инвертирует состояние клавиши).
- Удалены кубы, тетраэдры, треугольные призмы, октаэдры и VILO у игрока, исправлены некоторые ошибки (подробнее здесь).
- Добавлено существенно больше разнообразия в удары боссов, теперь несколько минут просто стоять около босса и "тыкать" не выйдет, нужно уворачиваться от его способностей.
- Удалены ячейки для экипировки в меню хранилища, теперь экипировка отображается сразу в том виде, в котором она будет на игроке. При этом подсказки с характеристиками сохранились и отображаются при клике по экипировке.
- Можно применить сразу два кольца, эффект от них будет суммироваться.
- Можно переназначить действия на клавиши со стрелками.
- Изменена начальная экипировка у бойца обоих групп - NAKIS и BLOCKERATOR теперь скрыты, на передний план вышла экипировка второго слоя. Не знаю, не опустило ли это игру до уровня WoW, но хотелось бы думать, что нет.
- Существенно улучшена производительность игры - на моем сравнительно современном и быстром компьютере с 63-65 до 78-79 FPS (на большинстве компьютеров будет меньше). Причем "узким местом" оказалась, как ни странно, не графика, а логика. Даже в платиновой редакции. Я запускал сбор статистики в наполовину отладочном режиме (Standalone) - FPS там меньше, но, как правило, идет в пропорции с FPS в EXE, примерно в два раза - так вот даже в платиновой редакции со всеми графическими наворотами и со всеми оптимизациями логики она занимает 25 мс на кадр, а графика - 22 мс (уполовиньте эти числа для EXE). Парадокс какой-то...
- Завершено наполнение мебелью GREENFORD и BADFORD! Это была титаническая работа, и вот наконец она завершилась успехом! Интересно, теперь хотя бы города не пустые? А над полями еще предстоит поработать...

Системные требования


Легенда: процессор (ядра x ГГц) / видеокарта (разбивка идет по моделям от NVIDIA, так как они знакомы большему числу пользователей) / RAM (ГБ) + подкачка (ГБ) / прочее.
Минимальные (обычные редакции, низкая графика, 1024x768 (меньшее разрешение не поддерживается), будут сбои, зависания и рассинхронизация): любой 64-разрядный (даже медленный процессор рано или поздно заданную ему программу выполнит) / хотя бы встроенная не старше 5-7 лет / 8+16.
Средние (обычные редакции, низкая графика, 1920x1080): 4x3 / 1060 6 GB / 24.
Рекомендуемые (обычные редакции, средняя графика (а хорошая в стандартной редакции ничем не отличается), 1920x1080): 6x3.5 / 3060 8 GB / 32.
Высокие (платиновая редакция, средняя графика, 2560x1440): 8x4.5 / 4080 / 64 / DirectX 12, SM6.
Эпические (платиновая редакция, хорошая графика, 3840x2160): 8x5 (не знаю, задействует ли игра больше 8 ядер) / 5090 / 96 / DirectX 12, SM6, HDR.
Вы можете свободно скачивать все обычные редакции, неважно - с речью или без речи. А вот платиновые редакции доступны только по запросу, так как сразу закачивать 38-40 ГБ, не зная, пригодятся ли эти редакции - и смысл?
Прошу отнестись к тестированию серьезно, так как эта версия - веха в истории Lineedge, и осталось всего две версии до альфы!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.05.2025, 02:03
Ответы с готовыми решениями:

Lineedge (Semi-Alpha) 0.55 (а то и 0.6) возвращается!
И снова всем привет! Если кто-то помнит, я утверждал, что сделаю Lineedge в версии Semi-Alpha с...

Lineedge. Посеяны семена нового потомка "линейки"
Игра под прозвищем "линейка" стала одной из вех в истории игровой индустрии. Причина этого,...

Что нужно сделать с Lineedge, чтобы она перестала быть мусором и говном?
Раньше господин Usaga писал, что квинтэссенция игры - это сетевой код, и что почему-то его нельзя...

309
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6278 / 3002 / 1051
Регистрация: 01.06.2021
Сообщений: 11,230
18.07.2025, 14:07
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
это как называется
это может называться "штатная работа говно-игры"

Добавлено через 24 секунды
Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
но пять минут ничего существенного не происходит
как ты это определил?
0
Труд вопреки насмешкам
 Аватар для Etyuhibosecyu
363 / 181 / 41
Регистрация: 13.07.2017
Сообщений: 4,806
Записей в блоге: 14
18.07.2025, 14:10  [ТС]
Цитата Сообщение от Royal_X Посмотреть сообщение
как ты это определил?
Во всяком случае, визуально. Только крутится пение птиц и заглушка анимации.
0
42 / 45 / 6
Регистрация: 21.10.2022
Сообщений: 607
Записей в блоге: 2
18.07.2025, 14:15
Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
didgik, поясните, в чем "фишка" в вопросе выше? Я вроде ответил, как смог, а в ответ мне пишут "забудь". Честно, не понимаю, как нужно было отвечать.
Фишка в бессмысленности изначального запроса о проверке скорости загрузки игры и термометра.
0
Труд вопреки насмешкам
 Аватар для Etyuhibosecyu
363 / 181 / 41
Регистрация: 13.07.2017
Сообщений: 4,806
Записей в блоге: 14
18.07.2025, 14:25  [ТС]
Royal_X, didgik, интересно, если окно загрузки висит, пока не загрузятся ключевые взаимодействующие объекты в мире, может ли конкретный объект тормозить весь процесс при помощи огромных циклов в BeginPlay? Разумеется, загрузка мира не многопоточна, так как плагин для многопоточности приводит к крахам.
0
6 / 45 / 1
Регистрация: 08.12.2024
Сообщений: 232
18.07.2025, 14:25
Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
А если на команды свернуть и закрыть реагирует, но пять минут ничего существенного не происходит - это как называется?
Однопоточный г*вно-софт без cancel-токенов.
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6278 / 3002 / 1051
Регистрация: 01.06.2021
Сообщений: 11,230
18.07.2025, 14:48
Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
загрузка мира не многопоточна
это плохо. Тебе нужна либо многопоточная загрузка, либо асинхронная загрузка

Многопоточная загрузка даст лучший результат (ибо ресурсы будут загружаться на отдельных потоках и главный поток не будет блокироваться + будет использоваться преимущества многопоточного процессора), но реализовать будет сложнее. Нужно хорошо разбираться в С++, понимать многопоточное программирование, а также разбираться в апи движка, в частности в FRunnable, FRunnableThread Я не знаю, ты вообще пишешь на С++ или используешь блюпринты?

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

Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
огромных циклов в BeginPlay
я так понимаю, при старте игры ты в циклах загружаешь много ассетов. Проблема даже может быть не в самой загрузке, а в последующем добавлении на сцену. Практика показывает, что именно добавление объектов на сцену более ресурсоемком, чем просто их загрузка в память. Как какое-то слабое решение можно добавить маленькие паузы в циклах, чтобы немного дать отдохнуть процессору)
0
Труд вопреки насмешкам
 Аватар для Etyuhibosecyu
363 / 181 / 41
Регистрация: 13.07.2017
Сообщений: 4,806
Записей в блоге: 14
18.07.2025, 15:00  [ТС]
Цитата Сообщение от Royal_X Посмотреть сообщение
Тебе нужна либо многопоточная загрузка, либо асинхронная загрузка
Я купил плагин для многопоточности (хотя я редко что-то покупаю, стараюсь брать по 100-процентным скидкам), но он почему-то приводит к крахам. Может быть, плагин был фейковый, потому что под 5.6 так и не обновился.
Цитата Сообщение от Royal_X Посмотреть сообщение
Я не знаю, ты вообще пишешь на С++ или используешь блюпринты?
Использую Blueprints, и можно уже записать это где-то в Блокноте и не спрашивать столько раз? Извините, если вам это кажется обидным, но мне тоже обидно много раз отвечать на один и тот же вопрос.
Цитата Сообщение от Royal_X Посмотреть сообщение
Проблема даже может быть не в самой загрузке, а в последующем добавлении на сцену. Практика показывает, что именно добавление объектов на сцену более ресурсоемком, чем просто их загрузка в память.
Я вот нашел, что для каждого боевого персонажа при добавлении на сцену вызывается GetActorOfClass. Я так понимаю, это вызывает перебор всех взаимодействующих объектов в мире? Чем это можно заменить, чтобы не "дернуть" GameState и GameMode (я стараюсь сделать игру хотя бы немного модульной, чтобы все не ссылалось на все, так вот Player, MyPlayerController, GameState и GameMode ссылаются на все, поэтому я стараюсь делать минимум ссылок на них)?
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6278 / 3002 / 1051
Регистрация: 01.06.2021
Сообщений: 11,230
18.07.2025, 15:05
Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
Использую Blueprints, и можно уже записать это где-то в Блокноте и не спрашивать столько раз?
А что тебе так сложно еще раз просто ответить? Я разве обязан запоминать все, что говорят на этом форуме.
0
Труд вопреки насмешкам
 Аватар для Etyuhibosecyu
363 / 181 / 41
Регистрация: 13.07.2017
Сообщений: 4,806
Записей в блоге: 14
18.07.2025, 15:07  [ТС]
Закачались все редакции пятого билда, прошу не только шутить, но и тестировать. Это ВАЖНО для меня!

Добавлено через 1 минуту
Цитата Сообщение от Royal_X Посмотреть сообщение
А что тебе так сложно еще раз просто ответить? Я разве обязан запоминать все, что говорят на этом форуме.
Не сложно, но неприятно. По поводу последнего абзаца #187 есть, что написать?
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6278 / 3002 / 1051
Регистрация: 01.06.2021
Сообщений: 11,230
18.07.2025, 15:12
Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
Я так понимаю,
не нужно гадать на кофейной гуще, в UE есть профилирование
0
Труд вопреки насмешкам
 Аватар для Etyuhibosecyu
363 / 181 / 41
Регистрация: 13.07.2017
Сообщений: 4,806
Записей в блоге: 14
18.07.2025, 15:13  [ТС]
Цитата Сообщение от Royal_X Посмотреть сообщение
в UE есть профилирование
Которое абсолютно неинформативно. Вы сами пробовали им пользоваться?
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6278 / 3002 / 1051
Регистрация: 01.06.2021
Сообщений: 11,230
18.07.2025, 15:41
Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
Вы сами пробовали им пользоваться?
Я UE вообще не пользуюсь, хоть он у меня установлен. Я просто когда-то исследовал этот движок.
Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
Которое абсолютно неинформативно.
Неправда. Вы просто не знаете, как пользоваться. Помимо всего прочего, есть Unreal Insights - очень мощный инструмент.
https://dev.epicgames.com/docu... eal-engine
Там можно подробно все посмотреть и найти, что именно тормозит игру.
0
Труд вопреки насмешкам
 Аватар для Etyuhibosecyu
363 / 181 / 41
Регистрация: 13.07.2017
Сообщений: 4,806
Записей в блоге: 14
18.07.2025, 17:59  [ТС]
Royal_X, я объединил мебель в домах в один взаимодействующий объект с домом, и время загрузки уменьшилось чуть больше, чем на 9%. Это нормально? Действительно ли может тормозить именно действие "добавить в мир взаимодействующий объект", вне зависимости от количества полигонов и логики?
0
Труд вопреки насмешкам
 Аватар для Etyuhibosecyu
363 / 181 / 41
Регистрация: 13.07.2017
Сообщений: 4,806
Записей в блоге: 14
18.07.2025, 18:55  [ТС]
Royal_X, вот специально сделал скриншот с Unreal Insights, Stat Named Events включено:

Почти все время (см. справа) занимает GameThreadIdleTime. Это информативно? Или что я делаю не так?
0
Труд вопреки насмешкам
 Аватар для Etyuhibosecyu
363 / 181 / 41
Регистрация: 13.07.2017
Сообщений: 4,806
Записей в блоге: 14
18.07.2025, 19:04  [ТС]
Вот более общий план, 0 бит полезной информации.
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6278 / 3002 / 1051
Регистрация: 01.06.2021
Сообщений: 11,230
18.07.2025, 19:13
Цитата Сообщение от Etyuhibosecyu Посмотреть сообщение
Почти все время (см. справа) занимает GameThreadIdleTime.
это время бездействия, игнорируй его. Ты смотри на остальных. Нужно, наверное, растянуть элементы, чтобы они были видны.

Etyuhibosecyu, вообще, я когда пытался понять, что именно тормозит в моей игре, то я просто выводил логи в консоль. Например, типа так:
- загрузка ассетов, 100 мс
- добавление зданий в игру 58 мс
- добавление деревьев в игру 72 мс
- и т.д.
На блюпринтах не знаю как, но на С++ мерять время не составит труда.

В итоге понял, что самый ресурсоемкий процесс в играх это добавление и удаление объектов в рантайме.
Полагаю, что и у тебя, тормоза не из-за загрузки ресурсов, но из-за их добавления на сцену.
0
Труд вопреки насмешкам
 Аватар для Etyuhibosecyu
363 / 181 / 41
Регистрация: 13.07.2017
Сообщений: 4,806
Записей в блоге: 14
18.07.2025, 19:14  [ТС]
Цитата Сообщение от Royal_X Посмотреть сообщение
это время бездействия, игнорируй его. Ты смотри на остальных. Нужно, наверное, растянуть элементы, чтобы они были видны.
Вот правая панель, все элементы отсортированы по среднему эксклюзивному. Начиная с какого не игнорировать?
0
Труд вопреки насмешкам
 Аватар для Etyuhibosecyu
363 / 181 / 41
Регистрация: 13.07.2017
Сообщений: 4,806
Записей в блоге: 14
18.07.2025, 19:17  [ТС]
Цитата Сообщение от Royal_X Посмотреть сообщение
вообще, я когда пытался понять, что именно тормозит в моей игре, то я просто выводил логи в консоль.
Для этого нужно хотя бы примерно знать, в каких местах выставлять индикаторы, а для этого нужно знать, что и в каком порядке загружается. В игре же порядок загрузки ресурсов неизвестен.
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6278 / 3002 / 1051
Регистрация: 01.06.2021
Сообщений: 11,230
18.07.2025, 21:37
Etyuhibosecyu, мне кажется, нужно выставлять какие-то закладки для отслеживания в блюпринте, чтобы потом в Unreal Insights увидеть нужные данные.

Etyuhibosecyu, я создавал процедурный лабиринт в годот. Там трехмерный лабиринт генерируется из маленьких блоков в рантайме при запуске игры. И вот при добавлении блоков на сцену (т.е. при добавлении лабиринта) я заметил, что лабиринт добавляется быстрее, если в цикле добавить паузу на 10 мс (имею в виду блокировку потока). Скорость добавления лабиринта значительно вырос. Т.е. несмотря на то, что у меня добавление блоков и так было многопоточным, этот трюк тоже увеличил скорость добавления.
Попробуй, может тебе тоже поможет.

Добавлено через 13 минут
Etyuhibosecyu, вроде нод называется Delay и обрати внимание, что там в секундах. Нужно прописать 0,01
0
Модератор
Эксперт Java
 Аватар для alecss131
2890 / 1396 / 412
Регистрация: 11.08.2017
Сообщений: 4,460
Записей в блоге: 2
18.07.2025, 21:45
Цитата Сообщение от Royal_X Посмотреть сообщение
И вот при добавлении блоков на сцену (т.е. при добавлении лабиринта) я заметил, что лабиринт добавляется быстрее, если в цикле добавить паузу на 10 мс (имею в виду блокировку потока). Скорость добавления лабиринта значительно вырос. Т.е. несмотря на то, что у меня добавление блоков и так было многопоточным, этот трюк тоже увеличил скорость добавления.
В данном случае можно было бы использовать Инстансы (UInstancedStaticMeshComponent и добавлять через AddInstance(FTransform()), я свой процедурный лабиринт на нем делал. Для кучи однотипных объектов самое то. В годоте похожее должно быть.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.07.2025, 21:45
Помогаю со студенческими работами здесь

Генеральный план развития Lineedge
В настоящее время Lineedge является перспективной, быстро развивающейся, но все еще имеющей только...

Поздравьте с подключением Lineedge к системе контроля версий!
Кому-то эта цитата: - показалась бы мимолетно брошенными словами, не стоящими внимания. Но меня...

Оцените "лик" Lineedge
С каждым месяцем в Lineedge добавляется все больше красоты, и только в окне выбора репрезентации...

Где показать Lineedge, чтобы получить тестирование, а не флуд?
Показ Lineedge (Semi-Alpha) 0.74/0.75 закончился неудачей. Ни один человек не захотел обнаружить в...

Продам плату Stream Alpha Plus + Alpha Pro 2.0 + Tele 2.2 б/у
Плата Stream Alpha Plus немного б/у, CD-диск Alpho Pro 2.0, CD-диск TELE 2.2, USB-ключ защиты для...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
200
Закрытая тема Создать тему
Новые блоги и статьи
Транскрипция 55-минутного видео через Whisper: WhisperDesktop облажался, спас Google Colab[
anaschu 01.06.2026
Понадобилось получить текст из свежезагруженного видео на YouTube. Казалось бы, задача на пять минут. Заняла полтора часа. Делюсь опытом — может кому пригодится последовательность решений. . . .
21 мат мед. Планы на развитие модели здравоСохранения
anaschu 01.06.2026
AnyLogic: план развития симуляционной модели рабочего коллектива — динамический абсентеизм, реальные данные, три сценария сравнения Продолжаю серию постов о дискретно-событийной модели рабочего. . .
20. Мат мед. Абсентеизм как отдельный тип простоя
anaschu 29.05.2026
Апдейт модели: исправленные баги, абсентеизм и новые механизмы Продолжаю развивать ранее описанную модель рабочего коллектива на AnyLogic. За последние несколько дней был проведён серьёзный. . .
19. здоровье, усталость и психотип работника влияют на производительность предприятия, и наоборот, производительность на здоровье, усталось и психотип
anaschu 28.05.2026
Дискретно-событийная модель рабочего коллектива на AnyLogic: здоровье, выгорание, психотипы и микростимуляция Привет, коллеги. Хочу поделиться итогами нескольких недель работы над симуляционной. . .
"Прокси" для последовательного порта
Eddy_Em 28.05.2026
Эту штуку написал я достаточно давно. Но сейчас вот понадобилось настроить датчик грозы, но при этом не отключать его от "метеодемона". Соответственно, надо запустить этот "прокси": метеодемон будет. . .
Рефакторинг программы уравнивания.
Massaraksh7 26.05.2026
Пример по предыдущей записи в блоге. Но, надо заметить, что, во-первых, там оптимизация не только математики, но и работы с базой данных, и с графами, а во-вторых, это ещё не всё.
Использование TThread в Lazarus для математических вычислений.
Massaraksh7 25.05.2026
Производя рефакторинг своих программ на предмет ускорения их работы, обратил внимание на такой аспект, как сокращение времени матвычислений. Дело в том, что приходится работать с большими матрицами. . .
Модель здравосохранения 18. Чем здоровее работник, тем быстрее выгорает
anaschu 24.05.2026
Имитационная модель корпоративного здравоохранения: что показывает математика Сегодня в модели рабочего коллектива на AnyLogic появились три новые механики — выгорание через накопленную усталость,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru