FiEctro писал: А нет как с директом готового транслятора гл в вулкан?
Есть. zink в Mesa.
Насколько я знаю, некоторые производители железа ориентируются на него, типа чтобы не писать драйвер, а провраппить GL в Vulkan. Но я даже не уверен насколько он юзабелен.
Добавлено 07-08-2024 в 21:01:
Цитата:
FiEctro писал: Цитата:
Дядя Миша писал:
На десткопных Макинтошах нашей ЦА практически нет.
Это и я могу подтвердить. Судя по форку, маководов почти нет. Сомневаюсь что мак версия настолько хорошо работает, чтобы не писать багрепорты. Это в сравнении с виндой и линуксом, конечно.
К тому же, ушло несколько лет на то, чтобы нашелся кто-то, кто захотел бы заняться macOS портом. И то, я попросил человека хотя бы CI настроить, а он пропал.
Ну а с линуксом проще. На данный момент XashNT вполне хорошо работает под Wine, проблем с производительностью нет.
Таким образом остается только задача порта под Андроид, но сперва надо дописать ядро.
a1batross писал: Это и я могу подтвердить. Судя по форку, маководов почти нет. Сомневаюсь что мак версия настолько хорошо работает, чтобы не писать багрепорты. Это в сравнении с виндой и линуксом, конечно.
Ты же вроде публиковал что поддержка макоси завершена из-за отсутствия нужных разработчиков или что то в таком духе? Та что я скинул выше работает не плохо, баги есть конечно, но ваш форк я так понимаю но новых макосях вообще не завести? Или вы совместно с этим челом делаете?
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
FiEctro я, наверное, не совсем правильно объяснил когда-то.
Нормально поддерживать macOS не имея Mac невозможно. Это факт. Ни строчки кода связанного с нашим собственным портом на macOS удалено не было. Это факт номер 2.
Мне лично неинтересно работать с macOS. Я бы приобрёл железку, но для иных целей, либо ковырять Asahi, либо что-то древнее времён PowerPC
Всё что я ожидал и ожидаю от маководов, что кто-то из них уделит своё собственное время и силы и хотя бы время от времени будет проверять работоспособность и как-то способствовать исправлению ошибок. Увы, никто за это не взялся.
Да, эти чуваки сделали сборку, запаковали всё в бандл, но решили не отправлять изменения нам. Скорее всего причина этому банальная нехватка времени, так как судя по их гитхабу они занимаются ещё стопицот других игр. Мне больше не нравится тот факт, что багрепорты тоже слать никто не стал. Ни им, ни нам. Отсюда я и делаю вывод, что маководов просто возможно не существует в природе. Или им не интересны игры 25-летней давности.
__________________
Kiss my ass if you don't like my Ford!
------------------------------------------ Game Area51 Update 1
First Person Shooter Released Jul 24, 2017
The game is a 3d shooter with the elements of the quest.
a1batross
Пиши мне в дискорд, я могу тестировать. Есть МакбукПро 2015года, в целом новые операционки на него пока ещё ставятся. Едиственное это всё интел, на М2 пока не накопил
Цитата:
a1batross писал: Всё что я ожидал и ожидаю от маководов, что кто-то из них уделит своё собственное время и силы и хотя бы время от времени будет проверять работоспособность и как-то способствовать исправлению ошибок. Увы, никто за это не взялся.
Да, эти чуваки сделали сборку, запаковали всё в бандл, но решили не отправлять изменения нам. Скорее всего причина этому банальная нехватка времени, так как судя по их гитхабу они занимаются ещё стопицот других игр. Мне больше не нравится тот факт, что багрепорты тоже слать никто не стал. Ни им, ни нам. Отсюда я и делаю вывод, что маководов просто возможно не существует в природе. Или им не интересны игры 25-летней давности.
Ну видишь, а я думал что вы просто закрыли эту тему.
Многие видимо тоже.
(_-=ZhekA=-_) писал: А что будет по графике? RTX? DLSS?
Спрайтовые монстры из первого дуума и вертексная анимация
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Абстрактные сетевые механизмы успешно созданы. Больше нет этой лютой привязки к entity_state_t. Теперь с сервера на клиент (а значит и в систему материалов) можно передавать какие угодно поля.
Однако встаёт немаловажный вопрос. Хранить переданные поля предполагается так же - в клиентской энтите, чтобы пользователь мог иметь к ним доступ. Это может оказаться полезным. Но тогда их придётся прописывать вручную. Т.е. выполнять эту работу два раза - на клиенте и на сервере. Нельзя сказать, чтобы прописывать надо было много кода - одна строчка на сервере и одна на клиенте. Но сейчас вон какие программисты избалованные - слово void написать ленятся. Так что в качестве рабочего варианта приму такой, что ответные части на клиенте прописывать надо.
Ну а там посмотрим.
Дядя Миша писал: Однако встаёт немаловажный вопрос. Хранить переданные поля предполагается так же - в клиентской энтите, чтобы пользователь мог иметь к ним доступ.
Для такого ДонтДестрой сцена в Юнити и нужна. Чтобы там были объекты которые не зависят от того что происходит в игре. Например тот же UI для меню и hud можно было бы там хранить, а не верстать всё это в коде. При этом можно например через него объекты со сцены на сцену таскать, к примеру если ты захочешь сделать инвентарь как в сталкере, при этом все эти объекты сохранят свои свойства на момент когда их подобрали (например теже трупы у которых есть свой инвентарь).
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Как я понял что ты просто захардкодил некий абстрактный объект для хранения сетевых переменных на клиенте?
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
FiEctro писал: Как я понял что ты просто захардкодил некий абстрактный объект для хранения сетевых переменных на клиенте?
Нет, неверно. У сети есть два состояния - прошлый кадр и текущий кадр.
Между ними осуществляется интерполяция, за время когда клиент принял новый кадр и ждёт следующего. Переменные прошлого и текущего кадра хранятся в абстрактных rаw-массивах, доступ к ним осуществляется по дельта-таблице, которые присылает сервер. Таким образом у нас есть данные чтобы корректно интерполировать значения. И тут встаёт вопрос - а куда записать результат этой интерполяции? Результат будет применён при рендеринге, очевидно. Я могу завести в структуре энтити ещё один точно такой же абстрактный raw-буффер и сохранять результаты туда.
С этим проблем нет. Но тогда в клиентской программе пользователь не сможет иметь к ним доступ, а это было бы полезно, например для создания каких-то чисто клиентских эффектов.
Таким образом пользователь в клиентской программе на Шоте должен самостоятельно объявить эти переменные, а движок их подхватит и запишет туда интерполированные результаты для каждого кадра. Это всё хорошо и вопросов не вызывает. Вопросы вызвает только что делать, если пользователь полинился и не объявил какие-то переменные.
С точки зрения движка ничего страшного не случится. А пользователь может долго гадать, почему у него ничего не обновляется.
Здесь нужен какой-то простой и понятный подход к обработке этой ситуации. И мнение пользователя, чего он бы ожидал в таком случае.
Вот и спрашиваю.
Дядя Миша
А как у тебя вообще интерполяция работает? Ну вот допустим у нас на клиенте какой то объект красиво перемещается интерполяцией с точки А в точку Б, что нам нужно чтобы воспроизвести тоже самое на клиенте? Я думал что там просто передавать булеву нужно клиенту, а он сам уже своими силам интерполирует. Ведь он знает уже куда движется. Т.е. ты пересылаешь значение 2х кадров, но в в каком виде? И потом говоришь движку это интерполироливать? Хотелось бы глянуть на то как это выглядит в скрипте.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Дядя Миша писал: Таким образом пользователь в клиентской программе на Шоте должен самостоятельно объявить эти переменные
что делать, если пользователь полЕнился и не объявил какие-то переменные.
пользователь может долго гадать, почему у него ничего не обновляется
А что должно обновляться? Поля внутри сущности скрипта? Если он их не объявил, зачем он будет ждать их обновления. Как то не очень понятно про что речь.
FiEctro писал: Ну вот допустим у нас на клиенте какой то объект красиво перемещается интерполяцией с точки А в точку Б, что нам нужно чтобы воспроизвести тоже самое на клиенте?
Цитата:
FiEctro писал: допустим у нас на клиенте
Цитата:
FiEctro писал: воспроизвести тоже самое на клиенте
Переформулируй, я не понял.
Цитата:
Unit писал: Если он их не объявил, зачем он будет ждать их обновления
Эти же переменные используются дважды. Схема такая:
1. читаем переменные с сервера
2. интерполируем от старого кадра к новому, пока ждём нового апдейта от сервера и рисуем кадры
3. рендерер берёт интерполированные значения и подаёт их в юниформы
4. интерполированные значения хранятся в пользовательской сущности.
5. если пользователь их не объявил, то и на рендеринг ничего не попадёт.
6. в самой виртуальной машине к ним можно и не обращаться, это просто такое место хранения. Т.е. с ними в основном движок взаимодействует, но хранятся они в user-space на случай если пользователь захочет их прочитать. Вот о чём речь. Теперь представим, что пользователь полИнился и не прописал. Как на это должен реагировать движок?
Ваши варианты.