Дядя Миша писал: Так нет альтернативы. И не предвидится. У тебя есть какие-то идеи на этот счёт?
Локальный и глобальный поиск. Т.е. постройка навмеша налету вблизи нпц (что то вроде лидара), и использование какой то предрасчитанной очень простой модели для дальнего поиска, возможно какой то упрощенной геометрии карты, по типу как для радиосити и так же просто проверять соседние полигоны с нужным углом нормали.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
FiEctro писал: Т.е. постройка навмеша налету вблизи нпц (что то вроде лидара)
Поздравляю! Ты изобрел первый квейк, где монстры были тупыми как пробка. Впрочем в халфе они тем же самым занимаются, несмотря на наличие нодграфа.
Цитата:
FiEctro писал: использование какой то предрасчитанной очень простой модели для дальнего поиска, возможно какой то упрощенной геометрии карты
Упрощённая геометрия карты как раз и базируется на хулле. Никаким другим образом ты её не сузишь, чтобы монстр не тыкался в стены.
Цитата:
FiEctro писал: упрощенной геометрии карты, по типу как для радиосити
Если для радиосити использовать упрощённую геометрию - всё чорное будет.
К тому же твой подход худо-бедно работает, если на уровне несколько монстров, которые стоят и один преследует игрока. А если там толпа в сотню монстров ломится через полкарты?
Добавлено 12-04-2023 в 08:35:
И то что у тебя на видео - каждая точка это рейкаст. Причём здесь еще идеальный случай показан - пересечение с ландшафтом, которое легко оптимизировать. Можешь себе представить какой дроп нас ожидает хотя бы на 32-х машинках.
Добавлено 12-04-2023 в 08:38:
Справедливости ради стоит отметить, что в сталкере существовала т.н. оффлайн-сетка - сверх редкая, отмечающая только ключевые точки на карте. Она расставлялась только вручную и помечала всякие там базы долга, деревню новичков, квестовые места. Чтобы монстр на соседней карте мог перемещаться между этими местами. Но понятное дело игрок его увидеть не мог.
Дядя Миша писал: Если для радиосити использовать упрощённую геометрию - всё чорное будет.
У Геометрикс не черное.
Цитата:
Дядя Миша писал: Поздравляю! Ты изобрел первый квейк, где монстры были тупыми как пробка. Впрочем в халфе они тем же самым занимаются, несмотря на наличие нодграфа.
А как там в первокваке?
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Там через лайтпробы сделано. Я же приводил ссылку на пейпер в этой теме.
Добавлено 12-04-2023 в 13:17:
Зашол в дискорд и чуть не попутал. Наш-то Психопат там какой-то SMD v.3 пилит. Чтобы координаты лайтмапы хранить. Т.е. энтропию увеличивает.
Но я уже принял решение сделать формат CSM общедоступным, поскольку недавно его залочил для дальнейших изменений. XashNT в качестве рабочего будет теперь использовать формат USM - абстрактные контейнеры, а CSM я сделаю общим достоянием, XashNT его останется поддерживать только на чтение. Плюс в том, что это очень простой и удобный формат, который уже содержит всё необходимое и при этом не требует много кода для загрузки, он специально был таким создан. И под него уже существует плагин для Блендора.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
FiEctro писал: опиши подробнее структуру этого формата
Я создам специальную тему с подробной документацией, примерами и в комплекте будут идти конверторы.
К тому же у меня сейчас наступает ответственный момент - в каком формате будут хранится исходники ресурсов для уровней и моделей.
Именно исходники, прошу заметить.
Есть два варианта на ваше рассмотрение:
1. абстрактный бинарный формат-контейнер, который может хранить в себе любые данные, возможно, предрассчитанные в редакторе, которые в дальнейшем будет использовать компилятор уровней.
2. классический формат .map, такой собирательный образ, где я попытаюсь конечно учесть все возможности уже имеющихся.
Я сам больше склоняюсь к бинарному формату, однако у него есть минус - в блокноте его уже не отредактируешь. Так же возможен совмещённый формат из двух файлов - описание объектов в текстовом и бинарный контейнер.
Просьба поучаствовать и изложить своё виденье.
Добавлено 12-04-2023 в 17:40:
ЗЫ. Товарищи, которым я разослал приглашения на участие в телеге, могут разослать и своим друзьям тоже. Это такой ответственный момент, что чем больше народу - тем лутшее.
Дядя Миша писал: в блокноте его уже не отредактируешь.
Надо нормальный редактор писать, а не таким извратом заниматься
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Так, ну чтож, навскидку могу обозначить следующие принятые решения:
1. формат исходников будет бинарным
2. это будет нативный формат как для редактора, так и для компилятора - т.е. любая потеря точности при экспорте в промежуточный формат будет исключена. Что в редакторе, то и в готовом уровне.
3. Формат будет представлять собой универсальный мета-контейнер с возможностью его бесконечного расширения и одновременного сохранения как прямой, так и обратной совместимости.
4. Компилятор сможет полноценно использовать всю информацию, которая была задана в редакторе - например о группах.
Единственный минус подобного подхода, как уже и было сказано выше - отсутствие возможности текстового редактирования исходника. Но я думаю это не представит особенной проблемы.
Дядя Миша
Посмотри в сторону json он легко парсится даже на обычных крестах и при этом вроде как имеет как бинарное так и текстовые варианты представления. И довольно быстро работает в обоих вариантах. Зачем придумывать велосипеды, к тому же ни с чем не совместимые? К тому же универсальность Жсонов позволяет их использовать так же и для других вещей такие как сейвы и конфиги.
Цитата:
Дядя Миша писал: Там через лайтпробы сделано. Я же приводил ссылку на пейпер в этой теме.
Лайтпробы для динамики. А для статичной геометрии всё работает и без лайтпроб.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
FiEctro писал: Посмотри в сторону json он легко парсится даже на обычных крестах и при этом вроде как имеет как бинарное так и текстовые варианты представления. И довольно быстро работает в обоих вариантах. Зачем придумывать велосипеды, к тому же ни с чем не совместимые? К тому же универсальность Жсонов позволяет их использовать так же и для других вещей такие как сейвы и конфиги.
В целом, я с тобой согласен, BSON не такой уж плохой вариант, и парсить легко будет где угодно и на каком угодно языке. Для части языков есть даже парсеры которые для ускорения юзают SIMD. Ну и к тому же он стандартизованный.
FiEctro писал: Зачем придумывать велосипеды, к тому же ни с чем не совместимые?
Я не велосипеды придумываю, как может показаться, а продавливаю собственные стандарты. Не потому что мне хочется "что-то своё", а как раз потому что я вижу все объективные недостатки уже существующего, учитываю их и делаю форматы, лишённые всех этих недостатков.
И не просто делаю абстрактные форматы, а форматы, которые активно используются и с открытой документацией.
Сегодня все советуют использовать джейсоны, завтра точно так же будут советовать использовать мои форматы. Вопрос времени.
Добавлено 13-04-2023 в 13:08:
Цитата:
SNMetamorph писал: Для части языков есть даже парсеры которые для ускорения юзают SIMD
Вот это вот вообще не понял. Ускоряют инкремент массива на один байт?
Ускоряют проверку байта на сравнение с другим символом?
Дядя Миша писал: Не потому что мне хочется "что-то своё", а как раз потому что я вижу все объективные недостатки уже существующего, учитываю их и делаю форматы, лишённые всех этих недостатков.
А какие недостатки у жсона ?
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!