-
Dark Engine Viewer
Программа-просмотрщик ресурсов движка Dark Engine, основана на игровом движке Force Tech:
— Открывает уровни, модели объектов и персонажей, текстуры и звуки.
— Имеет режим свободной камеры для быстрого просмотра уровней.
— Имеет игровой режим (режим симуляции), с реализацией базовых геймплейных механик.
— Проигрывает встроенные анимации объектов и скелетные анимации персонажей.
— Открывает текстуры форматов DDS (DXT*), PNG, TGA, PCX, GIF, JPG, BMP.
— Позволяет прослушивать звуки WAV, поддерживаемые оригинальным движком Dark Engine.
— Не требует установки и предварительной настройки. Может размещаться в любом удобном месте системы.
— Работает на OpenGL 3.2 (есть режим совместимости с OpenGL 2.1).
(https://forcesw.com/static/files/010/260/169023411260010.jpg) (https://forcesw.com/static/files/446/159/169023411159446.jpg) (https://forcesw.com/static/files/147/140/169023411140147.jpg) (https://forcesw.com/static/files/050/217/169023411217050.jpg)
Скачать актуальную версию можно на моём сайте:
https://forcesw.com/rus (https://forcesw.com/rus) (там все подробности)
Ссылки на другие соцсети:
ВК: https://vk.com/forcesoftware
DTF: https://dtf.ru/u/687837-force-software
Telegram: https://t.me/forcesoftware
Twitter: https://twitter.com/Force_Software
Буду очень признателен за распространение информации о проекте!
-
Супер! :up:
-
Бложики разработчиков — это круто!
-
Честно прочитал и попытался понять все, но особенно зацепило почему-то именно это:
лог файл должен всегда создаваться в каталоге программы
Отдельное спасибо за эту незначительную (казалось бы) мелочь!
-
Сообщение, перенесенное из первого поста
Приветствую всех, друзья тафферы! ;)
В этот радостный день, в 21-ю годовщину Thief: The Dark Project хотел представить вам результат своей годичной работы: ровно год назад я опубликовал первую публичную тестовую версию своей программы - Dark Engine Viewer. Теперь, спустя целый год, казалось бы, можно выкатить крутейший работающий билд с целой кучей новых фич, с реализацией всех хотелок и вообще...
Но я не буду. :o
Потому что я не успел подготовиться. Да и что греха таить, не успел реализовать всех пожеланий... Да что там, если запустить программу, вы не увидите там никаких существенных изменений относительно предыдущей версии.
В общем, я решил действовать открыто и теперь планирую выкатывать обновления регулярно, обсуждая, какую штуку приделать следующей. В сегодняшний знаменательный день начать мы не успеем, поэтому я буду менять этот первый пост по мере продвижения.
В моих планах первоочередная задача сейчас - переписать загрузку моделей, добавить поддержку моделей персонажей. Это довольно крупная задача. Следующая крупная задача - сделать интерфейс изменяемым динамически, а не как сейчас - загружать заново для каждой новой модели. Это позволит вводить текст и приделать наконец контрол для быстрого поиска.
Для самых нетерпеливых выкатываю не очень стабильный билд (http://forcesw.com/deviewer_thief_21th_anniversary.zip), исследуйте на свой страх и риск.
Ещё раз всех поздравляю с годовщиной! И да, сообщение скоро обновится! ;)
--------Оригинальное сообщение--------
Обновил TODO в первом посте и исправил несколько критических ошибок программы. Можно перекачать архив.
Хотелось бы сказать пару слов об изменениях последнего года, что не очень понятно из лога TODO (в который, кстати попадает не всё).
- Добавилась поддержка каталогов игры.
Это значит что можно открыть любую миссию прямо из каталога игры и увидеть все статичные объекты и текстуры. Ничего распаковывать для этого не требуется, ура! :) При этом динамически будут сгенерированы все лайтмэпы для всех источников света, если вы на них повернете камеру (сейчас это приводит к кратковременным тормозам). Это делается один раз за загрузку миссии, ВСЕ лайтмэпы кэшируются, поэтому дальнейший рендеринг должен быть быстрым. Из-за того, что генерируются ВСЕ лайтмэпы миссии, их размер выставлен в 256х256 пикселей, чтобы они гарантировано влезли в видеопамять. Вряд ли удастся посмотреть современные ФМки, поскольку (об этом уже неоднократно говорилось) разработчики New Dark Engine изменили формат миссий и держат его в тайне. Эта тема требует дальнейших исследований и разработки.
- Загрузка миссии осуществляется с отображением интерфейса и без индикатора загрузки, поэтому, если вам показалось что программа зависла, проверьте загруженность диска в диспетчере задач, скорее всего просто загрузка миссии занимает продолжительное время. После загрузки вы можете увидеть черный экран или нагромождение объектов - это нормально. Если вы видите в правом верхнем углу появившуюся кнопу "Free camera mode" - можете нажать её, это спрячет интерфейс и даст возможность повертеть головой. Если всё равно ничего не видно, возможно вы находитесь в неосвещённой комнате - нажмите клавишу "i", чтобы отключить освещение (по аналогии с режимом light_bright в DromEd'е).
- Программа принимает на вход путь открываемого ресурса, будь то объект или миссия. Например так:
dark_engine_viewer_x64.exe "D:\Games\Thief 2 - The Metal Age\MISS13.MIS"
Разумеется, таким образом можно передать параметр, перетащив нужный файл на значок программы, либо на её открытое окно. В будущем добавится возможность передавать туда пути к каталогам или архивам.
Прошу сообщать о всех найденных ошибках, багах, пожеланиях и предложениях прямо в эту тему.
Об организации последующих билдов ещё предстоит подумать, скорее всего, они будут выкладываться отдельными архивами по мере добавления фичь, что потенциально может приводить к ошибкам ранее работающего функционала.
-
Исправлено падение программы в режиме LEGACY HARDWARE при попытке просмотра корня диска.
Архив юбилейной сборки в первом посте обновлен в последний раз. Дальнейшие его модификации не планируются. Сборки будут выпускаться в новых архивах.
-
разработчики New Dark Engine изменили формат миссий
То есть они и в компилятор уровней залезли?
-
nemyax
Да, они же чинили DromEd, расширяя ограничения, улучшая статические лайтмэпы и т.п.
У нас есть два варианта: попытаться реверснуть их новый формат (не думаю, что это шибко сложно) и надеяться, что они его больше не поменяют; либо самим компилировать уровни уже так, как нужно нам, приобретая целую гору преимуществ: можно будет убрать все существующие костыли - сейчас есть ворох дополнительных файлов для уровней и текстур, которые дёргаются во время каждой загрузки ресурсов, можно эту информацию интегрировать в откопилированный уровень в удобном для рендеринга виде, при этом не нужно будет портализовать миссию дромедом, все изменения будут видны сразу после сохранения, но это сложнее, надо найти этот код где-то в недрах доступных исходников (если он там есть) и попытаться разобраться в нём. Это CSG - constructive solid geometry.
-
Обновил первый пост, собрал там всю (вроде бы) актуальную информацию по разработке. Если кто что-то ещё вспомнит, скажите, добавлю.
Теперь сборки будут поставляться в обновляемом файле http://forcesw.com/deviewer_build.zip
Особая историчность версий, на мой взгляд, не нужна, поэтому архив сборки будет обновляться, и все желающие получать последнюю версию, должны будут перекачивать один и тот же архив.
-
Последние изменения
2019-12-10 15:00 MSK
+ исправлена распаковка нормалей моделей, теперь все объекты корректно освещаются источниками света
Обновил описание в первом посте. В архив сборки добавил readme на русском и английском языках. Буду признателен, если кто-нибудь, свободно владеющий английским, просмотрит английский текст на наличие ошибок! :yes:
-
Нифига-се - поддержка объёмных текстур :o :up:
Даа, глядя на обширный список "сделать", можно поразиться масштабам. А всё начиналось с утилитки для простых нужд.
Force, ты так скоро свой NewDark запилишь ;D
Вот бы ещё Вор поддерживал "окклужн" текстурки.
Концепт, нарисованный Чужим, к которому мы сейчас подбираемся
Хорошо получилось в итоге. До сих пор нравится получившийся минимализм. Я правда ещё не пробовал качать более поздние версии.
Поиск прикручен - это здорово. А ты вроде говорил, что такая мелочь потребует многих усилий.
Сходу просится в глаза кое-что, что хочу внести как предложение. Сущая мелочь. Но я не уверен, что это правильно и прям нужно, поэтому тут зависит от поддержки большинства. Ну и тебя, как автора, естественно. Если они видят, что это хорошо, то пусть.
Так вот: на твоём скрине с моделью Будды как раз выделено слева название модели. Но выделение можно улучшить чисто визуально для чёткого отделения от остального хаоса названий, если помимо этой серой полоски, шрифт названия будет красного цвета или жёлтого (но только таких цветов). Желательно такого же оттенка красного, как применённый для написания названий сторон текстур. Вот эти, где "BUDDHA_X - not found"
Это мелочь, чисто косметическая фишка, но глазу будет особенно удобно. Выделение же менять по цвету не надо. Только само название. Можно и такого же оттенка синего, как то же указание сторон текстур, но красный, а особенно жёлтый, исходя из серой гаммы всего остального - мне кажется будут лучше.
-
Даа, глядя на обширный список "сделать", можно поразиться масштабам. А всё начиналось с утилитки для простых нужд.
Ну, не совсем, для меня началось всё ещё в 2011-м... А мечта сформировалась так вообще в 2004-м... Утилитка была лишь поводом применить наработки и опубликовать результат, чтобы работать не "в стол".
Force, ты так скоро свой NewDark запилишь ;D
К тому и движемся ;). Хотя, по-любому, масштабы у меня поскромнее и цели немного другие. В первом посте всё написано.
Вот бы ещё Вор поддерживал "окклужн" текстурки.
Если ты про NewDark - то тут вопрос не ко мне. Если про DEViewer - то можно, если очень захочется. Вообще, PBR в планах и обычно там не используются оклюжн-текстуры, но сложности никакой нет, если что. Скажете - сделаем :).
Поиск прикручен - это здорово. А ты вроде говорил, что такая мелочь потребует многих усилий.
Не прикручен, в том то и дело, я писал, что это в ближайших планах:
Следующая крупная задача - сделать интерфейс изменяемым динамически, а не как сейчас - загружать заново для каждой новой модели, это позволит вводить текст и приделать, наконец, контрол для быстрого поиска, который так просил Максим :).
Сейчас я занялся поддержкой моделей персонажей. Только после этого возьмусь за интерфейс и поиск.
Но выделение можно улучшить чисто визуально для чёткого отделения от остального хаоса названий, если помимо этой серой полоски, шрифт названия будет красного цвета или жёлтого (но только таких цветов).
Красным нельзя - это цвет ошибки, синим вроде как планировалось отображать ресурсы из архивов (надо посмотреть, как это будет всё выглядеть). Бледно желтым - можно. Надо чтобы Чужой высказал свое мнение и доработал концепт, при необходимости.
-
Последние изменения
2019-12-11 16:00 MSK
+ исправлена ошибка компиляции шейдера depth_tree на картах AMD
+ расширено логирование при ошибках поиска текстур для упрощения анализа логов
Обновлен первый пост, добавлена информация о версиях linux и legacy, добавлены благодарности (как я умудрился их забыть? :eeeh:).
Chuzhoi призывается в тему для обсуждения предложения Максима по поводу цвета имени текущей модели в списке файлов.
-
Я пока не перерисовывал концепт, т. к. в цветах и деталях он довольно сильно отличается от программы, и ограничился редактированием скриншотов.
По мне, текущее имя файла и так достаточно хорошо видно. Но если общественность просит... В общем, я согласен, что если выделять, то только желтым:
(http://chuzhoi.city/images/darkfate/de-viewer-yellow-left.jpg)
(Я бы еще немного потемнее сделал информацию о текстурах и прочем - оставив верхнюю строчку на прежнем уровне яркости; это тоже отражено на скриншоте.)
Можно еще выделить имя файла в этой самой строчке:
(http://chuzhoi.city/images/darkfate/de-viewer-yellow-left-top.jpg)
(Xотя, по-моему, это уже излишество. Лишние цвета во вьюпорте ни к чему).
Буду признателен, если кто-нибудь, свободно владеющий английским, просмотрит английский текст на наличие ошибок!
Я, конечно, не носитель языка, но я прочитал пару полноразмерных книжек и чувствую себя вправе давать некоторые советы. В целом текст мне показался весьма грамотным и понятным, каких-то грубых ошибок вроде отсутствия -s в третьем лице ед. числа или вопиющей нехватки артиклей не просматривается.
Бросилось в глаза следующее:
creating an association of model and mission file extensions (BIN and MIS) with a the viewer
When the a mission is opened
(Я бы также сделал это предложение в новом абзаце).
clicking on it and the program enters the "free flight" mode - надо как-то переформулировать, например: clicking on it switches the program in the "free flight" mode
In this mode the camera is controlled by the following keys:
WASD and arrows - camera movement, mouse - rotation along the x and y axes
C - move the camera down
SPACE - move the camera up
The effects that are turned off by default do not work correctly
It's planned to regularly publish updates.
-
Мне нравится с желтым выделением в колонке. Да, видно и без того хорошо... но, на мой взгляд, это одна из тех деталей, что отличают совершенный продукт от просто хорошего.
Вот во вьюпорте- действительно лишнее. И это выделение логически ничем не оправдано. Да еще и перечеркивает тут плюсик к комфорту, что дает желтый цвет в колонке. Видишь два одинаковых выделения - и невольно начинаешь сравнивать и искать разницу, отвлекаясь от основной задачи.
-
Chuzhoi
Отлично! Спасибо! Кстати, хочу сделать окантовку вокруг букв во вьюпорте, чтобы читаемость не страдала от светлого фона.
Zontik
Ты не проверял? У тебя работает последняя сборка? Какие перспективы на апгрейд у тебя? ;)
-
Нет, я сейчас категорически не успеваю ничего лишнего. Увы.
Перспективы на апгрейд у меня вполне определенные: однажды он станет неизбежен. Морально я уже к этому готов. Но, увы, пока не материально.
хочу сделать окантовку вокруг букв во вьюпорте
Не знаю, что ты называешь окантовкой, но если в буквальном смысле (буквы с контуром) - мелкие довольно плохо читаются. Полупрозрачный темный фон в этом смысле воспринимается куда лучше.
-
Не знаю, что ты называешь окантовкой, но если в буквальном смысле (буквы с контуром) - мелкие довольно плохо читаются. Полупрозрачный темный фон в этом смысле воспринимается куда лучше.
Можно оба варианта попробовать. Также можно попробовать окантовку вокруг букв сделать размытой, если это технически возможно.
-
Всё-таки жёлтый бледноватый сделали. Его можно либо насыщеннее сделать, выбрав эталонный жёлтый, либо сместить чуть ближе к оранжевому. Будь моя воля - сделал бы красно-оранжевым, но раз это цвет ошибки...
Таким я себе представляю идеал:
(https://i.ibb.co/SnjRwQV/DE-viewer-conc.png)
Цветовая легенда:
(https://i.ibb.co/Zzqx1TM/DE-viewer-color-legend.png)
1)
HTML: fffc00
RGB: 100 99 0 (%)
HSV: 59,4 100 100 (%)
---
2.
HTML: ff9939
RGB: 100 60 22,4 (%)
HSV: 29,1 77,6 100 (%)
---
3.
HTML: ffbc39
RGB: 100 73,7 22,4 (%)
HSV: 39,7 77,6 100 (%)
Так же у выделения есть окантовка в значении 0,25 (опционально)
Окантовку же вокруг букв размытой делать нельзя, при данном дизайне.
В общем, показанное — при желании/времени. А так, вполне нормально и то что есть.
-
Окантовку же вокруг букв размытой делать нельзя, при данном дизайне.
Имеется в виду окантовка для букв в самом вьюпорте - на тот случай, если просматриваемая модель или миссия будет светлой. На черном фоне ее не будет видно. Окантовка же для букв и других элементов на панели файлов совершенно не нужна.
Что касается желтого цвета, то, возможно, он и несколько бледноват, и можно сделать его немного поярче. Но насколько - вопрос дискуссионный, поэтому я предлагаю высказаться остальным заинтересованным. Мне кажется, что твой вариант слишком ярок. Оранжевый, кстати, тоже неплох - но только тот, который снизу, а не сверху (желто-оранжевый).
-
Да, это хорошая мысль. Спасибо за разъяснение.
Кстати, а какова конечная цель проекта? Что в идеале программа должна уметь делать?
-
Забавно, но на представленном скрине лучше всего читается именно средняя строка, желтая. Оранжевый на сером размывается.
Была бы еще указана цветовая формула для четвертого элемента (фона) - можно было бы и глаза не напрягать, а просто проанализировать числа.
При этом ярко-желтый читается так же хорошо, как и бледно-желтый, но из сдержанного дизайна выбивается.
Может показаться, что мы тут цепляемся к мелочам. Ну да, после того, что сделали в последних версиях Премьера, слово "читабельность" вообще лучше забыть. И не такие дизайнерские причуды приходится терпеть. Но если уж вы спросили...
-
Есть возможность добавить нечто вроде статистики? Открываешь карту и видишь - на карте столько-то мобов (типы мобов), столько-то аммо (тип аммо). и тд.
-
spy
Есть возможность, рекомендую обговорить это сейчас всем вместе, что конкретно нужно, и это можно будет разместить на экране сразу после загрузки миссии, как у моделей. Информации много, поэтому всё может не влезть, а городить сейчас дополнительный интерфейс пока некогда.
Maxim
Кстати, а какова конечная цель проекта? Что в идеале программа должна уметь делать?
Мне видится конечная цель просмотрщика - это реализация ТЗ. Из ТЗ не хватает лишь поиска, некоторых информационных фич, типа цветной подсветки ресурсов из архива, расширенной информации о моделях и миссиях... Всё остальное идет бонусом - всякие тени, прозрачности, съемка скриншотов. А конечная цель ВООБЩЕ - прототип игры с ресурсами Thief. Это описано в первом посте. Но принимаются к рассмотрению любые предложения ;)
-
Да, я читал про всеобщую цель, но если честно, она мне показалась как бы с запасом на дальнее будущее. Не типа грёз, а что-то такое... сложное в достижении. Просто если рассматривать это на фоне того, что даже поиск трудно сделать, оказывается. И что, действительно может получиться в итоге?
И есть ещё одна вещь, которая любопытна чисто в теоретическом плане. Как мы знаем, француз Le Corbeau (или как пишется его имя... всё время забываю), по странному стечению обстоятельств получил исходники Thief. Так вот, при должных навыках программирования можно ли благодаря им настолько улучшить Thief, чтобы например модернизировать скелет моделей, сделать анимацию лица или какую-нибудь динамическую погоду? Как я понял, для этого не хватает исходников. И на этом фоне интересует и твоя конечная цель. Прототип игры с ресурсами Thief это как? Типа можно даже полноценную игру сделать? Или это так и остаётся всё равно каталогом по своей сути?
-
Не типа грёз, а что-то такое... сложное в достижении.
Да, так и есть.
И что, действительно может получиться в итоге?
Покажет время :). Очень на это надеюсь. Всякие специфические хотелки для просмотрщика (не лежащие в направлении игрового движка), несколько отдаляют этот момент.
Так вот, при должных навыках программирования можно ли благодаря им настолько улучшить Thief, чтобы например модернизировать скелет моделей, сделать анимацию лица или какую-нибудь динамическую погоду? Как я понял, для этого не хватает исходников.
Всего им хватает, они же собрали проект в итоге. И можно сделать абсолютно всё что только пожелаешь, вопрос в том, нужно ли? Как я уже когда-то говорил, пусть Thief остается Thief'ом, ему совсем ни к чему динамическая погода и т.п. навороты. Он есть, его у нас никто не отнимает. Вот например, пришел ты к Баффорду и фигакс, утро наступило, все проснулись, ходят по особняку, а там ты - слабый и беззащитный, что делать? Ныкаться до ночи или валить всех и брать скипетр? Короче, это уже совсем другая игра.
Но если пофантазировать, например, мы на официальной основе делаем ремейк Thief, нам зарплаты платят, мы фулл-тайм занимаемся только им, почему бы тогда не сделать всё современно и хорошо? Ну мы берем и делаем. Лицевую анимацию, погоду, управление транспортом, портальная пушка, все дела... Вот и всё. Да, если говорить в разрезе оригинальных исходников Thief, то пришлось бы повозиться, потому что обычно старые форматы ресурсов совсем несовместимы с нынешними технологиями, их банально неудобно использовать, поэтому пришлось бы писать конвертеры, а это в свою очередь, привело бы к значительному изменению оригинального кода, в итоге куча лишней работы, непонятно зачем сделанной, намного проще взять готовый движок и сделать всё заново на нём и это опять будет уже другая игра. Как было с Thief 3.
И на этом фоне интересует и твоя конечная цель. Прототип игры с ресурсами Thief это как? Типа можно даже полноценную игру сделать?
Ну, например, так: https://www.youtube.com/watch?v=DG9C4ouE1Fw только с графикой посовременней. Я не говорю что так и будет, просто чтобы было понятно, как это может выглядеть. Я сам ещё не знаю :).
Или это так и остаётся всё равно каталогом по своей сути?
Даже сейчас "каталог" - это дополнительный функционал, а не основной. Архитектура заточена именно на игровой движок, просмотр ресурсов - это лишь внешняя сторона программы (можно воспринимать это как меню в игре). Пока просто она отнимает всё основное время разработки, но код пишется так, чтобы всё это работало во время игрового процесса.
-
spy
Есть возможность, рекомендую обговорить это сейчас всем вместе, что конкретно нужно, и это можно будет разместить на экране сразу после загрузки миссии, как у моделей. Информации много, поэтому всё может не влезть, а городить сейчас дополнительный интерфейс пока некогда.
Только хотел написать про отдельное меню, как увидел выделенное. Не знаю насколько это сложно, хватило бы всплывающего окна, шифт-s (stats). Появляется окошко с инфой. Я примерно так представлял себе это. Смотришь и видишь - ага -
================
зомби - 15 штук,
призраки - 3,
хаунты - 8.
водяные стрелы - 20.
=============
Хотя решать тебе.
Меня в нынешнем воре устраивает почти всё. Еслиб можно было прикрутить тени как Т3 и сделать новые модели в замен существующих с квадратными плечами, было бы просто замечательно. Нравится идея которую в свое время вычитал у гоблина, который говорил, что мобы на эксперте, после оглушения через некоторое время приходят в себя, и начинают искать игрока.
-
Нравится идея которую в свое время вычитал у гоблина, который говорил, что мобы на эксперте, после оглушения через некоторое время приходят в себя, и начинают искать игрока.
Именно из-за подобных мобов я и бросил System Shock 2, не доиграв. Патроны конечны, а враги бессмертны - вот и вся убогая суть этой идеи, как я ее понял.
Хотя движок Вора даже в текущем варианте позволяет добиться подобного поведения AI, к счастью, у подавляющего большинства авторов хватает ума этого не делать.
-
Zontik
Именно из-за подобных мобов я и бросил System Shock 2, не доиграв.
А не приходила мысль связывать их или запирать где-нибудь? Ну то есть, это как бы получается "полуторный" вариант ghost-прохождения, когда ты можешь оглушать, но при этом вынужден морочиться с телами, либо искать место где их можно было бы запереть, либо связывать (а веревка конечный ресурс), в итоге проще оказывается играть ghost'ом, но в случае крайней необходимости - вот такой вариант. На мой взгляд, техника интересная, да и "мобы" конечны, они не спавнятся, а лишь "воскресают", но этот процесс можно контроллировать.
--------------------------
Кстати, по поводу нововведений. Вчера подумал об управлении навигацией с клавиатуры, предлагаю изменить её следующим образом:
- стрелки влево-вправо - переключают модель предыдущая-следующая
- стрелки вверх-вниз - просто смещают курсор
- клавишей ENTER можно открыть модель, на которой находится курсор
- клавиша BACKSPACE открывает родительский каталог
Таким образом у нас появляется возможность открывать каталоги при помощи клавиатуры..., короче, всю привычную логику работы с каталогами позволяет реализовать, плюс остается возможность листать модели, а поскольку список вертикальный, перемещение курсора стрелками вверх-вниз тоже выглядит логично.
-
Именно из-за подобных мобов я и бросил System Shock 2, не доиграв. Патроны конечны, а враги бессмертны - вот и вся убогая суть этой идеи, как я ее понял.
Хотя движок Вора даже в текущем варианте позволяет добиться подобного поведения AI, к счастью, у подавляющего большинства авторов хватает ума этого не делать.
Оффтопик: Зонт, ну ты тоже тот еще перец. Насажал дверей которые невозможно открыть, но которые простукиваются и вводят в заблуждение. Совершил простейшую геймдизайнерскую ошибку, хотя сам - тертый калач в этом деле.
Механика возрождения врагов работает в тандеме с возрождением игрока и поддерживает в постоянном напряжении. В воре ты хозяин положения, потому ты можешь и локации зачищать и двигаться незаметно, а в сисшоке ты - жертва. Всё там отлично разработчики реализовали.
-
Оффтопик:
А не приходила мысль связывать их или запирать где-нибудь?
Подобная система была в Cold War. Там, если оглушить врага обычным способом, он через некоторое время очухивается (более того, он будет приводить в чувство остальных оглушенных, которые попадут к нему в поле зрения). Но его можно усыпить насовсем (ну по крайней мере, до окончания миссии), вколов ему снотворное. А со снотворным, понятное дело, в игре напряженка...
Что касается SS2, то да, помню такую досадную мелочь, как респаун врагов. Но не помню, чтобы это сильно раздражало - по крайней мере, не до такой степени, чтобы из-за этого бросить игру. Тем более что там есть "будки воскрешения", которые за весьма умеренную плату (или, может, вообще бесплатно?) дают тебе почти (или полное?) бессмертие.
Зонт, ну ты тоже тот еще перец. Насажал дверей которые невозможно открыть, но которые простукиваются и вводят в заблуждение.
Это где?
-
Я вам больше скажу — в SS2 для меня даже необходимостью было, чтобы враги возрождались. Потому что ни раз попадал в такую ситуацию, когда деньги нужны для получения той или иной модификации и без которой не пройти, а они закончились, так как никогда не знаешь что ждёт в будущем и соответственно не можешь оптимально спланировать трату нанитов. Причём, эта ситуация возникла у меня даже в повторном прохождении, учреждённом через какое-то время. И снова именно на палубе возле лифта, в который надо попасть, чтобы двигаться дальше по прохождению истории. И приходилось бегать по палубе туда-сюда , отстреливать врагов и ожидать новых, дабы надыбать нанитов и сетуя каждый раз, если попадается "пустой" зомбак с бутылкой спиртного или пачкой чипсов, или же двумя патронами, вместо заветных нанитов. Я даже жалел, что они не возрождаются чаще, потому что набирать сумму было крайне однообразно и долго. ;D
-
Кстати, по поводу нововведений. Вчера подумал об управлении навигацией с клавиатуры, предлагаю изменить её следующим образом:
- стрелки влево-вправо - переключают модель предыдущая-следующая
- стрелки вверх-вниз - просто смещают курсор
- клавишей ENTER можно открыть модель, на которой находится курсор
- клавиша BACKSPACE открывает родительский каталог
Таким образом у нас появляется возможность открывать каталоги при помощи клавиатуры..., короче, всю привычную логику работы с каталогами позволяет реализовать, плюс остается возможность листать модели, а поскольку список вертикальный, перемещение курсора стрелками вверх-вниз тоже выглядит логично.
Да, я думаю, что это хороший вариант.
-
Это где?
Оффтопик: Ну как где? Как минимум в первой миссии его новой кампании.
-
Оффтопик:
А не приходила мысль связывать их или запирать где-нибудь?
Ты так пошутил, что ли, или я чего-то не ухватил из базового интерфейса?
"мобы" конечны, они не спавнятся, а лишь "воскресают", но этот процесс можно контроллировать.
Этого вообще не понял. Я бы и рад установить контроль над рождаемостью, но... как-то забыли обеспечить механизмом реализации.
Насажал дверей которые невозможно открыть, но которые простукиваются и вводят в заблуждение. Совершил простейшую геймдизайнерскую ошибку, хотя сам - тертый калач в этом деле.
Никто не совершенен. Хотя двери, которые невозможно открыть, у меня, как правило, не активны, что их и отличает. А простукивать у меня можно и стены с тем же успехом. Впрочем, это не оправдание, потому что есть и другие вещи, которые я бы сейчас сделал по-другому.
В воре ты хозяин положения, потому ты можешь и локации зачищать и двигаться незаметно, а в сисшоке ты - жертва. Всё там отлично разработчики реализовали.
Не спорю, просто мне такая игра удовольствия не доставляет. Одну боль.
Ладно, вернемся к теме.
- стрелки влево-вправо - переключают модель предыдущая-следующая
- стрелки вверх-вниз - просто смещают курсор
То есть в какой-то момент курсор и выделение оказываются в разных местах? На первый взгляд это как-то алогично. На тот же самый по счету взгляд - логичнее смещать курсор и выделение одновременно со сменой модели. Но в случае длинных списков это может привести к невозможности их листать, так?
- клавиша BACKSPACE открывает родительский каталог
Вот это правильно. А клавиша всегда будет работать, независимо от последних 1операций и смещения фокуса?
-
То есть в какой-то момент курсор и выделение оказываются в разных местах? На первый взгляд это как-то алогично.
И это верно. Как и то, что перемещаться между моделями клавишами "вверх" и "вниз" интуитивно понятнее (поскольку используется вертикальный список).
Я думаю, что все-таки стоит оставить нынешнюю систему, но иметь возможность перемещаться и по папкам, заходя в них Enter'ом. Когда выбрана папка, в центре вьюпорта можно писать ее имя в квадратных скобках тем же шрифтом, что и сообщение об ошибке (но только не красным цветом).
При вхождении в папку лучше, если будет открываться сразу первая модель, минуя папки (как сейчас). А клавиша Home может работать как сейчас - выбирать первую модель, но с рядом уточнений:
1. Если первая модель уже выбрана, то нажатие Home приведет в выбору папки [..].
2. Точно так же, если выбрана любая папка, кроме [..], нажатие Home приведет к выбору [..].
3. Если выбрана папка [..], нажатие Home приведет к выбору первой модели.
Таким образом, используя Home, можно будет попасть как на первую модель в списке, так и на папку [..]. Многократное нажатие Home будет приводить к циклическому переключению между папкой [..] и первой моделью.
Поведение клавиши PageUp аналогичное, но попроще - если листать дальше некуда, выбирается сначала первая модель, при следующем нажатии - папка [..]. И все. (Сейчас, кстати, PageUp переключает на конец списка, что неправильно; поведение PageDown корректное.)
И да, клавиша Backspace должна переходить на папку верхнего уровня.
На тот же самый по счету взгляд - логичнее смещать курсор и выделение одновременно со сменой модели. Но в случае длинных списков это может привести к невозможности их листать, так?
Не понял, почему?
Это где?
Оффтопик: Ну как где? Как минимум в первой миссии его новой кампании.
Оффтопик: А где именно? Не помню ни одной активной двери в кампании, в которую невозможно было бы войти.
-
Последние изменения
2019-12-18 23:30 MSK
+ пути к ресурсам игры удаляются из программы, если мы выходим из каталога игры (чтобы ресурсы разных игр не перемешивались при загрузке)
+ исправлено падение программы при клике или скролле на странице ошибки при первом запуске
+ окно программы при запуске располагается по центру экрана
+ исправлено поведение клавиши PgUp, перематывающей список в самый конец, при нажатии в верхней части списка
-
Я бы сделал перемещение через WSAD. В некоторых игровых эмуляторах, например, встречал навигацию в интерфейсе схожую игровой, что является как бы продолжением из одного в другое. Ну и привычно и тянуться рукой к стрелкам не надо.
-
Цитата: Zontik от Вчера в 16:18:25
На тот же самый по счету взгляд - логичнее смещать курсор и выделение одновременно со сменой модели. Но в случае длинных списков это может привести к невозможности их листать, так?
Не понял, почему?
Возможно, я что-то упускаю, но раз нельзя смещать курсор отдельно - значит, попасть в нижнюю часть списка можно, только пролистав его весь и посмотрев принудительно все промежуточные модели. Или тут есть альтернатива?
Я бы сделал перемещение через WSAD
А что будут делать в этом случае клавиши A и D? Список-то не трехмерный. И даже не двух.
Хотя на самом деле я приму любой интерфейс, поскольку уже ясно, что откровенно дурацким он все равно не будет. Но даже дурацкий интерфейс можно было бы простить за функциональность. Есть хороший пример, называется DromEd.
-
Возможно, я что-то упускаю, но раз нельзя смещать курсор отдельно - значит, попасть в нижнюю часть списка можно, только пролистав его весь и посмотрев принудительно все промежуточные модели. Или тут есть альтернатива?
Альтернатив достаточно: PageUp/PageDown, Home/End. Ну или воспользоваться мышью. (У тебя медленно открываются модели?)
Хотя, в принципе, и Форсов вариант с вверх/вниз - навигация только по списку и вправо/влево - навигация с переключением модели тоже неплох. Просто потребует немного привыкания, и не каждый сразу догадается, что так можно. Выделение открытой модели (желтый шрифт) отдельно от выделения текущего файла в списке (серый фон) у нас теперь, по крайней мере в теории, есть.
В общем, я колебаюсь. Или колеблюсь.
Я бы сделал перемещение через WSAD.
Мне эта идея, скажем так, не особенно нравится. Я вот вообще не играю через WSAD. Тогда мне, пользуясь этой логикой, надо выбирать предыдущий файл правой кнопкой мыши, а следующий - клавишей M. Или выбирать нужный файл джойстиком. Нет уж, давайте лучше по-классически, стрелками.
-
Force, а ты уже выходил с этой программой, так сказать, на международную арену? TTLG в курсе твоих наработок?
-
Да я не настаиваю на предложении, делайте как угодно, лишь бы всё работало :agree:
А как ты, Chuzhoi, играешь не с WSAD это занимательно. Ты же не только в авиасимуляторы играешь. Учитывая, что с точки зрения эргономики WSAD не просто так появилось. Находится в таком месте, где остальные клавиши, кои так же участвуют на исполнении других команд, располагаются по правую сторону и до них той же управляющей рукой легко дотягиваться. Со стрелками же предполагается, что основное управление сдвигается сугубо в правую, остаточную зону клавиатуры. А управлять правой рукой, а левой исполнять остальные команды это какая-то мозговыносящая фигня. Тем более, что в таком случае важные исполнительно-подтверждающие клавиши, которые должны быть в стороне от всего, оказываются именно в той зоне дотягивания правой рукой до них, как это было бы в случае левой руки и WSAD. То есть это не совсем правильно. Ибо что у тебя остаётся для дотягивания правой рукой на назначение остальных команд? /, ., \, ', ], Enter, Backspace, Delete, End, PgDn, PgUp, ну и правая цифровая клава. Большинство клавиш являются не свободными буквенными, а "системными", которым хорошо бы как раз отдельные команды исполнять. Либо руку искривлять, дотягиваясь куда-то. Всё это полная дичь и я всегда везде, где только можно, первым делом убираю дурацкое управление стрелками. В случае же использования буквенных клавиш на остальные команды левой рукой, ты лишаешься управления мышью. В общем, стрелки это архаика. Как правило, можно встретить в древних играх.
Можно предложить сделать возможность произвольного назначения клавиш на ту или иную команду, но предполагаю, что это воплотить в жизнь технически сложно. Force знает ответ. Это получается нужно пользовательский интерфейс иметь с опциями.
-
Maxim
Я тоже играю не на WSADе ;D
Chuzhoi
Нет, хотел модели персонажей приделать и пойти.
-
Оффтопик: Если разобраться, ESDF так-то функциональнее, чем WASD. Но почему-то не прижилось.
-
У тебя медленно открываются модели?
Я пока на правах теоретика. В предыдущих версиях открывались околомгновенно.
-
хотел модели персонажей приделать
Вот это будет прорыв. Понятное дело, что интерфейс, который мы обсуждаем - дело важное, но все же уже сейчас у него лицо вполне человеческое, и речь идет скорее о его полировке. А персонажи - это будет уже совсем здорово.
А анимация будет показываться? Или пока это совсем фантастика?
В общем, стрелки это архаика.
Оффтопик: Макс, я играю не стрелками. У меня ПКМ - вперед, M - назад, <> - вправо-влево. Остальное вокруг. Могу и WASD'ом играть (мне попадались игры, в которых управление не переназначается), но мне это не так привычно.
-
Ковыряюсь тут в модельках, пока фиксил ориентацию костей друг относительно друга, выяснил одну любопытную вещь...
Я вижу исправление бага позиционирования костей в отдельной модели:
(http://forcesw.com/i/reports/object_transform_bug_3.jpg)(http://forcesw.com/i/reports/object_transform_fix_1.jpg)
(http://forcesw.com/i/reports/object_transform_bug_4.jpg)(http://forcesw.com/i/reports/object_transform_fix_2.jpg)
Но, по всей видимости, в DromEd'е есть некий дополнительный параметр ориентации модели, который я не учитываю, некоторые проблемные модели в миссиях так и остались кривыми:
(http://forcesw.com/i/reports/object_transform_bug_1.jpg)(http://forcesw.com/i/reports/object_transform_bug_2.jpg)
Кто-нибудь может подсказать, что это за параметр может быть, или где он хотя бы в меню DromEd'а находится?
-
Force
Там в модели массив матричек 3х4, и у каждого чайлда индекс в туда. Но жизнь была бы пуста, если бы вместо единичных матричек не попадались бы массивы нулей.
Трансформы вроде в системе координат родителя.
-
nemyax
Матрицы разве не 3х3?
С нулями в родителе я разобрался, а вот в остальных местах - посмотрю. Надо эти бажные модели исследовать.
-
3x3, а сразу после неё вектор трансляции.
Ну вот оно (matrixs.h):
typedef float mxs_real;
typedef struct mxs_vector {
union {
struct {mxs_real x,y,z;};
mxs_real el[3];
};
} mxs_vector;
typedef struct mxs_matrix {
union {
struct {mxs_real m0,m1,m2,m3,m4,m5,m6,m7,m8;};
struct {mxs_vector vec[3];};
mxs_real el[9];
};
} mxs_matrix;
typedef struct mxs_trans {
mxs_matrix mat;
mxs_vector vec;
} mxs_trans;
Насчёт массива гоню, прямо на подобъекте хранится трансформ. В массиве там настройки лимитов вращения-скольжения. Забыл уже всё.
-
Ву-ху! :yay:
Исправлена давнишняя проблема ориентации объектов на миссии. Теперь все объекты должны четко стоять на своих местах, как задумано!
Было и стало:
(http://forcesw.com/i/reports/object_transform_bug_1.jpg)(http://forcesw.com/i/reports/object_transform_fix_3.jpg)
Связано это было с какой-то загадочной особенностью инициализации кватернионов в библиотеке glm. В механизме считывания самих моделей всё было нормально.
Сборка будет чуть позже.
-
Последние изменения
2020-01-04 00:55 MSK
+ исправлена ошибка вращения объекта сразу после его открытия, без предварительного движения мышью
+ исправлена ориентация некоторых объектов в миссиях, связанная с особенностью указания ориентации кватернионов в библиотеке GLM
+ исправлено построение AABB и OBB для объектов и их костей
+ шейдеры теперь умеют принимать на вход массивы данных
+ добавлена заготовка схемы отрисовки для дебажного вывода bounding boxes
Последняя актуальная сборка:
deviewer_build.zip (http://forcesw.com/deviewer_build.zip) 2020-01-04 00:55 MSK
Первый пост обновлен.
-
В формате уровней используются кватернионы?
-
Нет, углы Эйлера. Я просто преобразую их в кватернионы для ориентации объектов, а GLM, имея конструктор кватерниона из углов Эйлера, накладывает их в порядке x, y, z. В общем, какая-то дурацкая ситуация. Как можно правильно наложить трансформацию на объект по углам Эйлера по дефолту, когда ты не знаешь договоренности, в какой последовательности это надо делать? Короче, зачем в GLM такой конструктор? Может ты, как опытный моделлер прольешь свет? Я чего-то не понимаю?
-
Ну скорее всего в глм дефолтный порядок углов - xyz. Ты такой эйлер создал, он так дальше и живёт.
А в движке какой используется порядок для эйлеров? Если взять не тот порядок, то само собой будет фейл. И зачем промежуточные кватернионы, если ты можешь переводить эйлеры сразу в матрицы, не накапливая ошибок.
http://www.songho.ca/opengl/gl_anglestoaxes.html
-
А в движке какой используется порядок для эйлеров?
Я полагаю, такой же, только из-за того что оси другие, накладывать их надо в другой последовательности. Я преобразовывал оси, но это были условия для декартовых координат. Подумал сейчас, надо будет ещё кое-что попробовать. Спасибо за ссылку :).
И зачем промежуточные кватернионы, если ты можешь переводить эйлеры сразу в матрицы, не накапливая ошибок.
Ну, ошибки там смешные, это ж не техническое моделирование. :) А кватернионы - просто удобнее и все зависит, в первую очередь, от физического движка. Во вторую - от анимаций вора, которые я ранее не планировал, но раз вы тут все про них знаете, то почему бы и нет? В общем, когда физический движок подключу, станет понятнее, как дальше быть и в чем хранить.
-
Раз другие оси, домножал бы на матрицу-переориентировалку. Если пытаться в кватернионах что-то тасовать, можно себе такое адище устроить.
-
Раз другие оси, домножал бы на матрицу-переориентировалку. Если пытаться в кватернионах что-то тасовать, можно себе такое адище устроить.
Да, сами модели я так и переориентирую в итоге. Но размещение их на уровне надо обрабатывать через отдельные повороты по углам Эйлера в исходной последовательности. Я подумал и пришел к выводу, что тут ничего нельзя сделать из-за того что оси другие - только исходные оси и исходные повороты. Сейчас работает, насколько я могу судить, но всё равно есть странные модели, выглядящие разобранными (Thief 2):
camera02.bin
camera03.bin
camera04.bin
но они, вроде как, не используются в игре... Но всё равно, подозрительно.
Из используемых странно выглядят:
turnew0.bin
turnew1.bin
turnew3.bin
-
turnew0.bin
Эта состоит из одного подобъекта, там нечему разваливаться.
turnew1.bin
turnew3.bin
У этих иерархия корень-дочка-внучка, притом у turnew1.bin ориджины дочки и внучки чёрти где. Впрочем, их оси X проходят как надо для локального вращения.
-
nemyax
А у тебя есть возможность открыть эту модель в каком нибудь редакторе и посмотреть, целая ли она?
-
Я их импортировал в блендер, чтобы посмотреть. У turnew0.bin нету ни одного чайлда. Там разрушенная турелька единым куском, как я понял.
-
Так я про turnew1.bin
Можешь и фотку приложить
-
Force
Да удобнее будет тебе скачать блендер 2.79b и мой импортёр да и проверить.
-
Тебе - удобнее, да. Ничего делать не придется. :lol:
-
camera02.bin
camera03.bin
camera04.bin
turnew0.bin
turnew1.bin
turnew3.bin
Все они используются в игре, только динамически. Разные уровни тревоги = разные модельки (цвет лампочки).
-
Всё это планируется реализовать с ресурсами Dark Engine, поэтому логично ожидать от этого проекта появления какого-то игрового прототипа, внешне похожего на Thief.
Ты не думал вместо прямой поддержки этого шыта сделать конвертор в твои собственные форматы и избавить движок от совместимости со мрак-мотором?
-
Так я и использую по факту конвертер. У меня что структура миссии, что моделей - своя. Все загружаемые ресурсы на лету складываются в нужные структуры данных, и движок с ними работает. Когда достигну определенного запланированного этапа (когда набор данных устоится) - начну кэшировать эти структуры на диске после первого чтения. Для миссий это вообще позволит добиться практически мгновенной загрузки, поскольку будет грузиться только нужный кусочек уровня. Так что, да, фактически можно использовать любые форматы ресурсов - главное лишь написать для них "ридер" в формат движка.
-
Последние изменения
2020-01-14 15:00 MSK
- исправлено отображение уровней на видеокартах AMD
- отрефакторен рекурсивный обход BSP-дерева при открытии моделей, убрана рекурсия
- исправлено падение программы при открытии некоторых старых или поврежденных моделей
- откорректирована простановка доступных для выборки mipmap-уровней текстур
- добавлена отладочная схема отрисовки
-
Актуальная сборка
deviewer_build.zip (http://forcesw.com/deviewer_build.zip) 2020-02-05 23:30 MSK
Последние изменения
2020-02-05 23:30 MSK
+ исправлено отображение некоторых проблемных моделей, состоящих из нескольких костей
Наконец-то удалось выловить и исправить неприятный баг, способный весьма усложнить отображение моделей персонажей, состоящих из множества костей. Понимаю, что затянулось это значительно дольше чем ожидаемые две недели, но уж больно баг был досадный, нельзя было его игнорировать и приступать к персонажам. Теперь путь открыт. Наконец-то!
-
Актуальная сборка
deviewer_build.zip (http://forcesw.com/deviewer_build.zip) 2020-02-17 23:00 MSK
Последние изменения
2020-02-17 23:00 MSK
+ добавлена поддержка цветных полигонов в моделях
+ исправлено отсечение пути к текстурам, находящимся в одном подкаталоге с открытой моделью (информация о текстурах, отображаемая на экране)
+ различные внутренние оптимизации
В списке изменений информации не густо, но изменений много, хоть и мало заметных на первый взгляд. Была проведена довольно серьезная работа с моделями, устранены некоторые ошибки при поиске текстур. Исправлено падение программы в определенных ситуациях. Самыми заметными изменениями стали поддержка цветных полигонов моделей и исправление информации о текстурах, отображаемой на экране (если текстура находится в одном подкаталоге с моделью, абсолютная часть пути к текстуре отсекается).
-
Небольшой анонс для тех кто следит за темой. Это скриншот-загадка для внимательных тафферов, способных догадаться ЧЕГО ИМЕННО это анонс. Предлагайте свои варианты :)
(http://forcesw.com/i/dev_054_teaser.jpg)
-
Я угадал! Это анонс новой версии :yay:
-
:lol:
Да, так и есть :biggrin:. Но смена циферок скорее следствие ЭТИХ изменений. Каких? На всякий случай скажу, что это не модели персонажей. :suspect:
-
Тени мне на скрине нравятся. Может динамическое освещение? И да, я невнимательный, поэтому это последняя попытка.
-
Тени мне на скрине нравятся. Может динамическое освещение? И да, я невнимательный, поэтому это последняя попытка.
Хотел тут ещё понаписать всякого... чтобы облегчить поиски отгадки, но решил повременить пока.
Скажу только, что динамическое освещение и такие вот тени были с самого первого релиза просмотрщика :). Проблема только в том, что пока не добавлено интерактивное взаимодействие, никто не узнает что тени динамические :biggrin:.
-
Анонс грядущего прохождения "Патриота"?
Из необычного же на экране вижу только тень от AI (хотя можно ли приравнивать модель игрока к AI - вопрос для меня спорный). Выглядит все безупречно, практически как в редакторе (за исключением веселой рожицы). Раньше просмотрщик не позволял такого? Насколько я помню, были различные проблемы с отображением миссий. Здесь же никаких проблем не вижу.
-
Zontik
Насколько я помню, были различные проблемы с отображением миссий. Здесь же никаких проблем не вижу.
Всё верно, это практически ответ :), не хватает только сформулированного логического вывода, резюме так сказать :).
Из необычного же на экране вижу только тень от AI
Да, сейчас тени рисуются вообще от всего, даже от чего не надо...
Выглядит все безупречно, практически как в редакторе...
Приятно слышать! :)
-
Резюме - анонсируется полноценный просмотрщик миссий?
сейчас тени рисуются вообще от всего, даже от чего не надо...
На скриншоте видно не очень хорошо, но, кажется, тень есть даже от пламени свечи?
-
Рассказываю. ВНЕЗАПНО пишет мне PinkDot (Juliusz Kaczmarek, ему не очень нравится его ник) и говорит, что он знает как открыть миссии New Dark'а! Мы пообщались с ним, я поковырялся и всё получилось! Это было так неожиданно и так круто! Так что да, теперь это полноценный просмотрщик миссий, поддерживающий все их форматы!
На самом деле, требуется ещё воз и маленькая тележка доработок, чтобы действительно назвать просмотрщик полноценным, особенно это касается считывания всяких специфических связей и свойств объектов и правильного их применения. Но уже очень скоро выйдет новый билд, в котором можно будет открыть (на этот раз любую) миссию, увидеть все её текстуры и объекты, и полетать по ней.
Это выглядит ещё большим достижением на фоне моих (и всех, кто мне в этом помогал) неудачных попыток связаться с разработчиками New Dark и их уходом от ответственности (и от помощи).
Так что, я очень рад! :yay: Огромная благодарность выражается тафферу TTLG с никнеймом PinkDot aka Juliusz Kaczmarek! Его имя будет увековечено в благодарностях! :agree:
-
А меня всё подмывает спросить: а какой в этом всём замечательном и интересном, собственно, практический толк? К чему всё это можно приспособить с пользой для дела? Просто... открыть миссию и полетать можно и в дромеде.
-
Maxim
Уже сейчас у меня меньше проблем с просмотром миссии в просмотрщике, чем в ДромЕде. Я открываю эту же миссию, в папке FMs о она вся в Jorge. Ну и в софтваре, и мышку не поддерживает и в микроскопическом окошечке. Я спрашивал в теме, как со всем этим быть и как исправить, никто не ответил.
-
Здорово. Кстати, вот что ещё мне надумалось. Это более удобное создание скринов-анонсов. Летаешь такой по миссии и в нужном месте останавливаешься с "камерой". Опять же, можно и в дромеде, но не столь удобно будет.
-
А как выглядят AI в твоем просмотрщике? Поза по умолчанию? Если так, то ни о каких скриншотах с людьми и речи быть не может.
Для просмотра миссии в Дромеде вообще-то используется игровой режим, а не превьюшечный глазок. Так что с ним и надо сравнивать.
Насчет Jorge могу сказать только одно - такого не должно быть (да ты и сам догадывался). Где-то конфликт ресурсов. Но я не Борис, так что готового рецепта у меня нет.
-
Zontik
AI надо подождать. Да там и без этого ещё куча лишних объектов висит в воздухе - все триггеры видны, споты в виде лопат :lol:. Так что идея Максима со скринами не очень прокатывает пока.
Скажу так, если получится подключить AI-модели и их анимацию, можно будет сказать - дело в шляпе. Потому что сейчас только это осталось неизведанной территорией. Но ещё я видел, чего добился Juliusz (PinkDot) - это впечатляет, и если он подскажет, думаю, все будет хорошо. У нас будет всё. Это лишь вопрос времени.
-
Актуальная сборка
deviewer_build.zip (http://forcesw.com/deviewer_build.zip) 2020-02-26 20:00 MSK
Последние изменения
2020-02-26 20:00 MSK
+ добавлена поддержка миссий формата New Dark Engine! Ура! Особая благодарность выражается Juliusz Kaczmarek aka PinkDot!
+ незначительно ускорена загрузка миссий
+ при открытии миссии, камера позиционируется в стартовой позиции
+ класс цвета переделан на хранение данных в векторе с плавающей точкой, это обеспечивает лучшую точность
+ отключено "залипание клавиш", для предотвращения накопления смещений камеры при управлении интерфейсом
+ увеличена яркость режима просмотра миссий
-
Актуальная сборка
deviewer_build.zip (http://forcesw.com/deviewer_build.zip) 2020-03-06 14:00 MSK
Последние изменения
2020-03-06 14:00 MSK
+ уменьшен радиус SSAO и соответственно, bent normals. Последние теперь включены в финальную картинку, отчего она выглядит немного зашумленной. Отключить вклад SSAO и bent normals можно клавишей k.
+ увеличено значение FOV c 50 до ~74 градусов по вертикали, что соответствует FOV New Dark Engine.
+ переработано взаимодействие с объектной иерархией. Считываются свойства Render Type и Self Illumination, это позволило не рисовать лишние объекты миссии и исправило отображение теней от светильников.
+ исправлено смещение полигонов для обратного буфера глубины. Это предотвращает мельтешение теней (артефакты) при повороте или перемещении камеры.
Работа с объектной иерархией оказалась очень увлекательной. Я наконец-то разобрался со связями и увидел, как фантастически досконально DromEd позволяет взаимодействовать с объектами! Это обещает быть очень интересным!
Уже сейчас миссии должны выглядеть почти как в игре. В том плане, что теперь ничего лишнего не висит в воздухе. :)
Можно заметить, что я добавил в финальный рендер такую штуку как искривленные нормали - bent normals. Это фэйковый эффект, симулирующий некое подобие глобального освещения. Он добавлен временно и в будущем планируется он него уйти. Дело в том, что миссии вора в оригинале (даже в New Dark'е) отображаются с использованием статических лайтмэпов, которые считаются по сложным алгоритмам, на подобие рейтресинга в момент построения уровня (вы это прекрасно знаете и без меня :)). Это построение создает эффект мягкого освещения, особенно на перпендикулярных стыках стен, в углах.
(http://forcesw.com/i/reports/butler_original.jpg)
Когда же мы говорим про прямое освещение, которое обычно используется в реалтайме, то картинка начинает значительно уступать предрасчитанному лайтмэпу даже при тех же равных...
(http://forcesw.com/i/reports/butler_bent_normals_off.jpg)
Поэтому чтобы хоть как-то минимально скомпенсировать недостаток вторичного освещения, я добавил искривленные нормали:
(http://forcesw.com/i/reports/butler_bent_normals_on.jpg)
Да, результат получился очень спорным. Скорее всего, я даже использую эти нормали некорректно. Но, ещё раз повторюсь, в будущем их вообще можно будет выбросить в угоду глобальному освещению, а пока, если они так сильно мешают, их можно отключить клавишей k. Так что вопрос освещения остается открытым, но высказывать свои пожелания вы всё равно можете. Возможно, у вас будет какая-нибудь прекрасная идея, которую я не учел. ;)
-
C нормалями определенно не хуже, чем без них, хотя все равно достаточно плохо. Зачем и кому может понадобиться их отключать?
Но больше всего именно на этой картинке по глазам бьют даже не даркмодовские тени, а черная лампа. С этим-то можно что-нибудь сделать, надеюсь? DromEd каким-то образом интерпретирует данные текстур и заставляет светиться те из них, которым соответствующее свойство добавлено в 3D-редакторе.
-
Zontik
Да, черная (неосвещенная сама собой) лампа - это решаемо. Надо только найти как :). Мне в DromEd'е "удалось" только что сделать вот такое:
(http://forcesw.com/i/reports/lanterns.jpg)
Причем, мне не удалось сделать по-нормальному, хотя я ничего особенного для этого не делал. Просто поменял яркость у включенного и выключенного светильников. Надо найти свойство, которое отвечает за "свечение" самого объекта. Если ты или кто-нибудь ещё мне подскажет, буду очень признателен! :)
P. S. Таааакс... Вскрылись новые подробности, оказывается, это и есть свойство Self Illumination... Только что-то у него с наследованием не то :(.
P. P. S. Хотя не, всё то. Это я накосячил... простое решение не прокатывает, увы :(. Ну, зато, наступила ясность, знаю как починить лампы! :)
-
Я бы написал сразу, если хотя бы предположил, что ты этого не знаешь. Извини.
-
Zontik
Я почти ничего не знаю. У меня есть потроха, все видно, но как они взаимодействуют - приходится искать в туториалах по редактору для новичков. Поэтому, я буду рад любым пояснениям по любым вопросам, касающимся редактора.
-
У меня есть потроха, все видно
Ты и компилятор уровней накопал?
-
nemyax
Да не, я просто говорю про листинг чанков. У них у всех имена говорящие - одноименные с полями в редакторе. Сложность только в расковыривании формата их хранения, и какая логика стоит за ними. Если со вторым помогут местные умельцы, или не только местные, то вот с первым - как повезет. Пока что всё нужное мне встречалось в OPDE, но я недавно забрел в DromEd'е в такие интересные места, что OPDE такое и не снилось! :sly:
-
статических лайтмэпов, которые считаются по сложным алгоритмам, на подобие рейтресинга в момент построения уровня
Любопытно. То есть ты хочешь сказать, что в оригинальных алгоритмах учитывается переотражение света от объектов, поэтому светотень такая мягкая (т. е. используется radiosity lighting)? Действительно, в Dromed есть опции RayCast и ObjCast Lighting (никогда их не включал) - получается, это оно и есть?
Вторая картинка похожа на TDM. Кажется, я, наконец, начинаю понимать, почему там все выглядит таким угловатым (хотя в последние, гм, годы стало вроде бы получше). А третья в углах выглядит неестественной вообще (осветленный угол стены слишком бросается в глаза).
-
Chuzhoi
Любопытно. То есть ты хочешь сказать, что в оригинальных алгоритмах учитывается переотражение света от объектов, поэтому светотень такая мягкая (т. е. используется radiosity lighting)?
Вот ты сказал и я сам задумался. А ведь нет, действительно! Оно МОГЛО БЫ БЫТЬ ТАМ, но его нет.
(http://forcesw.com/i/reports/lanterns_no_radiosity.jpg)
Думаю тогда проблема в другом. В обратном подходе. Лайтмэп накладывается на абсолютно освещенную поверхность, тогда как реалтаймовое освещение пытается рассеять абсолютную тьму. В итоге лайтмэп не учитывает нормаль к поверхности, отсюда и равномерность освещения на всех "гранях" стены.
А третья в углах выглядит неестественной вообще (осветленный угол стены слишком бросается в глаза).
Меня тоже как раз это коробит, поэтому я и сделал эту штуку выключаемой, кому совсем плохо от неё станет :). Она ещё и исчезает у границ экрана при поворотах камеры как SSAO :cheesy:.
-
ВНЕЗАПНО!!! :aaa: На меня снизошло откровение! Убрал учет нормалей, поставил честную формулу затухания света и вот:
(http://forcesw.com/i/reports/butler_without_normals.jpg)
Идеально! :yay:
Ну, это работает так только с условием, что никаких других эффектов нет... Ну что, оставить пока так?
-
Думаю тогда проблема в другом. В обратном подходе. Лайтмэп накладывается на абсолютно освещенную поверхность, тогда как реалтаймовое освещение пытается рассеять абсолютную тьму. В итоге лайтмэп не учитывает нормаль к поверхности, отсюда и равномерность освещения на всех "гранях" стены.
А может, просто дело в элементарном разбавлении теней эмбиентом? На второй картинке эмбиента нет или он недостаточен, поэтому и углы такие резкие.
Любопытно, кстати, что тогда означают эти RayCast и ObjCast Lighting, если не radiosity. Кстати, в последнем нет ничего такого фантастического - уже в Quake 2 этот способ использовался.
Оффтопик: Кстати, вспомнил, что еще мне напоминает вторая картинка: освещение в классическом Unreal Engine (до второй версии включительно; в третьей, кажется, алгоритмы поменялись) с отключенной опцией Dark Corners (которая была включена по умолчанию). В этом движке использовался свой способ "оживления" освещенных примитивными компьютерными алгоритмами полигонов - затемнение углов. Видимо, по замыслу разработчиков, это должно было создать ощущение полумрака. Кстати, в редакторе на пустых комнатах это выглядело довольно неестественно, но в реальных игровых уровнях это вполне неплохо работало, придавая картинке своеобразный анриловский шарм.
Ага, обновление... Ну не знаю. На первый очень беглый взгляд вроде и неплохо, но на самом деле получается слишком примитивно - ведь между полигонами все-таки должны быть границы, а их тут совсем нет...
-
Вот еще два скрина.
New dark (тут видно, что учет нормалей уже сделан):
(http://forcesw.com/i/reports/butler_original_new.jpg)
Без нормалей, эта же миссия, исправленная для New Dark:
(http://forcesw.com/i/reports/butler_without_normals_new.jpg)
Да, в общем, надо это дело тюнить и обкатывать. Искать/составлять алгоритмы, удовлетворяющие нашим потребностям.
За себя могу сказать так: мне нравится вот этот, последний алгоритм затухания света, но когда он используется с нормалями в лоб, как раньше, он выглядит очень темным. Надо его как-то настроить, что ли?
P. S. Кстати, с этим затуханием искривленные нормали выглядят не так вырвиглазно. Гармонируют...
-
Действительно, в Dromed есть опции RayCast и ObjCast Lighting
Фактически это одно и то же, только в последнем прочитываются тени еще и от объектов, а в первом - только от брашей. Но они в корне отличаются от первого режима Quick Lighting, где все делается как-то неаккуратно (но резких теней там все равно нет, если не считать артефакты).
Как говорится, чем могу... Листинг чанков лучше обсуждать не со мной.
-
А какое свойство отвечает за то, чтобы фонарный столб начал отбрасывать тень хотя бы от других светильников? А то сейчас все фонари не отбрасывают теней вообще. Или это где-то в движке захардкожено?
-
На ttlg нашел:
the object itself casting a shadow (Object System > Immobile: TRUE)
Это оно! Кажется, даже Zontik уже про это говорил когда-то...
-
...вот только... Это совершенно унылый критерий для отбрасывания теней в современном проекте, потому что любой потенциально подвижный объект, типа ящика, бочки и т.п. тень отбрасывать не будет, потому что свойства Immobile у него быть не может. Пожалуй, приберегу это свойство до момента прикручивания физики, там оно даже семантически больше подходит, а для теней всё-таки использую Self Illumintation.
Насколько это будет объективная замена логики?
-
Не получится ли в результате этой логики так, что светильник при выключении перестанет отбрасывать тень? Просто не знаю, что происходит со свойством в результате включения/выключения. Это уже задача движка - интерпретировать действия игрока, в редакторе этого не посмотришь.
-
Zontik
А сейчас именно так и есть. Абсолютно все объекты, у которых нет свойства immobile, тень не отбрасывают никогда. Среди них все светильники, независимо от того, включены они или нет. Я же предлагаю наличие тени навесить на наличие свойства self illumination, причем даже с нулевым значением. Таким образом тени не будет только у светильников, которые могут или горят. "Мертвые" светильники, без свойства self illumination тень отбрасывать будут.
-
Это какая-то инопланетная логика.
Я же предлагаю наличие тени навесить на наличие свойства self illumination
"Мертвые" светильники, без свойства self illumination тень отбрасывать будут.
Так наличие приравнять к наличию или все-таки к отсутствию?
В общем, сначала действительно хотелось бы понять логику, чтобы потом уже ее обоснованно разгромить. Потому что решение такое представляется более чем спорным: какая вообще связь между способностью светиться и способностью отбрасывать тень? Это имело бы смысл только в случае, если бы в помещении допускалось не более одного источника света - тогда понятно, что самому от себя тень отбрасывать затруднительно. (И то спорно.)
-
В общем, сначала действительно хотелось бы понять логику, чтобы потом уже ее обоснованно разгромить.
Ты очень категоричен.
"Мертвые" светильники, без свойства self illumination тень отбрасывать будут.
Тут всё верно.
Я же предлагаю наличие тени навесить на наличие свойства self illumination
self illumination = 1.0 - тени нет.
self illumination = 0.5 - тени нет.
self illumination = 0.01 - тени нет.
self illumination = 0.0 - тени нет.
свойства self illumination нет вообще - тень есть.
Вот что имелось в виду.
Почему так? Предположим, если рядом стоят два фонаря, столбы, на которых они стоят не будут отбрасывать тень. Если один фонарь погасить рубильником, его self illumination станет 0.0 и он просто погаснет. Если же привязать тень к значению 0.0, то как только мы выключим один фонарь, у его столба внезапно появится тень, которой не было видно даже частично, хотя он горел очень тускло и её было бы видно, а это некрасиво и неправильно. Поэтому мы все потенциально работающие фонари теней лишаем, как и было в оригинале. Но даем тени никогда не работающим, чего в оригинале не было. Так же даем тени всем остальным объектам просто потому что можем, а Dark Engine не мог. Вот и вся логика.
Да, это тоже, в общем-то костыль, связанный с тем, что в оригинале светильники теней не отбрасывают вообще. Но это более логично, чем вешать тени только тем объектам, которые immobile.
Я планировал повозиться и сделать тени от всего вообще, только пофиксить светящиеся поверхности, которые раньше заслоняли свет, сделать так чтобы они тень не создавали и тогда всё станет почти как в реальности, но станет сильнее отличатся от оригинала, потому что теней станет больше, чего не предусматривали дизайнеры. Вот это вот решение и кажется спорным. В правильности же описанного в предыдущих абзацах я не сомневаюсь. Уверен, если бы не заговорил об этом, никто ничего бы и не заметил.
-
Ну и self illumination все таки связано с освещением. Другого подходящего свойства я не знаю.
-
Теперь понял. Ладно, разгром отменяется, раз уж придерживаемся подхода "как в оригинале". Меня смущает только то, что свойство Self Illumitation может назначаться не только светильникам, но и, например, огромному бойлеру с маленьким светящимся индикатором. Или вообще может быть назначено по ошибке объекту, которому оно вовсе не нужно. В то время как Immobile - это только слово, которое в реальности не имеет никакого влияния на подвижность/неподвижность объекта: его можно назначить хоть ящику, который поднимут и унесут, а тень от него останется лежать. То есть это слово-описание, а не слово-индикатор.
-
Меня смущает только то, что свойство Self Illumitation может назначаться не только светильникам, но и, например, огромному бойлеру с маленьким светящимся индикатором.
Гм, а ведь и правда! Об этом я не подумал... Почему-то решил, что такие части есть только у светильников. Можно поступить более топорно - смотреть на родителей объекта, если, к примеру, это lanterns - тогда тени не рисовать. Но это уже hard code и этого бы не хотелось. Но я сейчас пока не вижу другого способа сделать красиво и правильно. Потому что Immobile нет у половины объектов, а значит и теней не будет у половины объектов. Да это будет выглядеть как в оригинале... но для этого тогда есть New Dark.
В то время как Immobile - это только слово, которое в реальности не имеет никакого влияния на подвижность/неподвижность объекта: его можно назначить хоть ящику, который поднимут и унесут, а тень от него останется лежать. То есть это слово-описание, а не слово-индикатор.
Ну не, оно ведь имеет функциональное значение, хоть и немного странное - рисовать тени. А ещё странно, что объект при этом можно взять... Он же немобильный... :confused:
-
А вообще в чем задача: сделать движок для каких-то будущих проектов или для еще одной имитации оригинала? Потому что в первом случае аргумент "Immobile нет у половины объектов" звучит по меньшей мере неубедительно. Нет - так пускай автор сделает, в чем проблема?
С другой стороны, если имитировать оригинал, а в особенности ФМ - это означает, что выглядеть должно как минимум похоже на задуманное авторами. И где тени не запланированы - их как-то не совсем правильно добавлять.
В общем, я, наверное, чего-то не понимаю, так что тебе виднее.
-
"Immobile нет у половины объектов" <...> Нет - так пускай автор сделает, в чем проблема?
Immobile не подходит по семантике для всех объектов. Почему - я уже объяснял, если человек выставляет свойство "объект недвижим" - он таким и должен быть, иначе это профанация, а не редактор свойств.
Хотелось сделать "и нашим и вашим", но если консенсуса нет, я могу и не спрашивать. А то у меня такое чувство, что я не спрашиваю, а уговариваю, а это действительно странно.
-
Я вовсе не протестую, просто хочу, чтобы ты яснее представлял себе ситуацию перед принятием решения.
А вот эта фраза -
если человек выставляет свойство "объект недвижим" - он таким и должен быть, иначе это профанация, а не редактор свойств.
заставляет сомневаться, что ты все понял правильно и до конца. Ну, может, это просто игра слов. Уточню в последний раз, что свойство Immobile никак не обеспечивает неподвижность предмета и только путает не вполне адекватным названием.
А если ты нацелен в будущем на движок с физикой, то там это свойство станет исчезающе редким, если в нем вообще останется какой-то смысл.
-
Уточню в последний раз, что свойство Immobile никак не обеспечивает неподвижность предмета и только путает не вполне адекватным названием.
Я из этого сделал такой вывод - dark engine неправильно обрабатывает свойство Immobile, нужно сделать так, чтобы объекты, которым выставлено это свойство, оставались на своих местах всегда.
Но можно сделать другой вывод (который, судя по всему, ты и продвигаешь) - в DromEd'е свойство Cast Shadow названо Immobile и всё сейчас в игре совершенно нормально. Да, если считать так, то всё правильно, за тем лишь исключением, что у половины предметов нет теней. Даже у тех, которым бы они точно не помешали (стулья например). Отсюда снова напрашивается вывод, что свойство Immobile неправильно воспринимается дизайнерами миссий.
А раз в обоих случаях мы пришли к выводу, свойство Immobile всеми воспринимается неправильно, то нам ничего не остается, как сделать всё правильно самим - зафиксировать за свойством ровно то поведение, какое оно и обозначает своим названием - объект должен оставаться на своем месте абсолютно всегда. А это настенные факелы, бойлеры, баннеры, какой-нибудь закрепленный декор, который игрок не должен просто подойти и взять голыми руками. И если, например, бойлер нельзя будет взять из-за его массы, то факел - как раз из-за этого свойства. Ах да, логика DromEd настроена противоположным образом, ну, значит теперь будет иначе. По крайней мере до тех пор, пока не всплывут новые подробности или более подходящие свойства. Иного более элегантного выхода я не вижу. Есть ли они?
-
Но можно сделать другой вывод (который, судя по всему, ты и продвигаешь) - в DromEd'е свойство Cast Shadow названо Immobile и всё сейчас в игре совершенно нормально.
Ну да, лажанулись, когда придумывали название. А потом кривое название криво поняли дизайнеры.
-
А раз в обоих случаях мы пришли к выводу, свойство Immobile всеми воспринимается неправильно
Почему неправильно? Зонтик всё правильно объяснил. Свойство Immobile = true добавляет постоянную тень неподвижному объекту. В данном случае Immobile - означает, что предмет, которому добавляется это свойство, должен быть неподвижным. В принципе его можно добавить любому объекту, но в этом случае, если взять объект, тень останется на месте, поэтому его добавляют только неподвижным объектам. Или добавляют со значением false, если надо, чтобы неподвижный объект не отбрасывал тень.
И если, например, бойлер нельзя будет взять из-за его массы, то факел - как раз из-за этого свойства.
За это отвечает другое свойство (FrobInfo), Immobile - на это никак не влияет.
Да, если считать так, то всё правильно, за тем лишь исключением, что у половины предметов нет теней. Даже у тех, которым бы они точно не помешали (стулья например).
У стульев это свойство стоит.
-
Glypher
Ты не понял, видимо. Я говорю о том, что Immobile, по-хорошему, разрабам надо было бы переименовать в Cast Shadow. Всё.
Предположим, я - новичок, добавляю бочке свойство Immobile, ожидая, по названию свойства, что она будет неподвижна. Включаю игру, да у неё появилась тень, ура! Но что это, я толкаю бочку, она сдвигается, а тень остается на месте... Никакой это не Immobile, извините. И я не согласен с тем, что так и надо это дело оставить. Переименовать в DromEd'е я не могу, значит, у меня в движке это будет недвижимый объект. А уж с тенями придумаем что-нибудь.
При всем при этом, как новичок должен догадаться, что Immobile - означает "нарисовать тень от объекта"? А никак! Это ошибка именования свойства, как nemyax и сказал. Если ни у кого никаких новых соображений нет, предлагаю на этом вопрос Immobile закрыть.
-
И я не согласен с тем, что так и надо это дело оставить.
Почему не надо? Мало ли на свете дурацких формулировок. Их на нём даже большинство.
Если тебе надо самому отображать свойства, то переименуй у себя в Cast Shadow или Affect Lightmap. А обездвиживание обзови Static, например, чтобы не путалось с иммобайлом.
-
Я говорю о том, что Immobile, по-хорошему, разрабам надо было бы переименовать в Cast Shadow. Всё.
Теперь ясно. :) Согласен.
-
добавляю бочке свойство Immobile, ожидая, по названию свойства, что она будет неподвижна. Включаю игру, да у неё появилась тень, ура! Но что это, я толкаю бочку, она сдвигается, а тень остается на месте... Никакой это не Immobile, извините
Вот у меня такая же песня была всегда. И до сих пор, добавляя эту опцию, каждый раз думаю о нелогичности названия.
-
Все-таки уточню еще один нюанс. FrobInfo отвечает за взаимодействие игрока с объектом. Игрока, а не его физической модели! То есть позволяет объекту подсвечиваться и ожидать каких-то действий. А в примере с бочками взаимодействует именно физическая модель. Бочку можно зафиксировать флагами Location, Rotation или дико увеличить массу (сработает ли?), чтобы она не шевелилась при столкновении. Но нормального, адекватного, логичного способа "сделать объект неподвижным" (буквально!) как не было, так и нет. Те же упомянутые флаги не используются сами по себе, а входят в состав одного из физических свойств объекта (забыл название).
-
Zontik
Но нормального, адекватного, логичного способа "сделать объект неподвижным" (буквально!) как не было, так и нет.
Обожди, в игре же есть неподвижные объекты (почти все). Факелы, генераторы, стулья, столы... Скорее это у бочки есть какие-то свойства, которые делают её подвижной, разве нет?
-
У бочки отключены эти флаги - Location, Rotation, плюс физ модель тоже косвенно на это влияет. У бочек - сфера. Будучи приподнятой над уровнем пола (об этом должен позаботиться автор), при старте миссии она начинает падать, пока на столкнется с поверхностью. Это и дает ей подвижность. Если ее не приподнять, есть высокая вероятность, что при запуске миссии она провалится сквозь пол в бесконечность.
У столов и стульев модель OBB, при этом флаги фиксации установлены по умолчанию. Как и у всех подобных объектов.
То есть свойство, управляющее фиксацией, есть у всех, при этом у большинства объектов фиксация по умолчанию включена. Чтобы сделать тот же стол подвижным, придется превратить его в сферу, что может прокатить с более-менее кубическим столом, но совершенно не подходит для узких, длинных или низких. И положить на такой стол ничего будет нельзя. И выходит, что подвижность обеспечивается с куда большим напрягом, чем неподвижность.
Если же просто отключить флаги фиксации у того же стола, при входе в миссию ты в лучшем случае успеешь увидеть его крышку, прежде чем она провалится сквозь пол вслед за ножками.
-
То есть получается, что подвижные объекты в Dark Engine физически могут быть только сферами? А когда мы делали разрушающийся завод, его обломки тоже были сферами?
-
Zontik
Спасибо за информацию!
Какие-же всё-таки неудачные названия у свойств в DromEd'е! Совершенно неинтуитивные. При этом использовать их с толком будет довольно затруднительно как раз из-за их крайне специфического поведения в оригинале. Ну, то есть, я не могу в дромеде пометить стол как подвижный - у него либо тень пропадет либо он провалится сквозь пол :lol:, при этом мне не поможет даже сделать его физическую модель сферой - у меня он проваливается сквозь пол наполовину...
В общем, ладно, будем отстраиваться от того, от чего это в принципе возможно, на остальное успешно забьем... :embarassed:
-
А когда мы делали разрушающийся завод, его обломки тоже были сферами?
Конечно. Поэтому в подобных эпизодах нужно всеми силами не допустить игрока в зону поражения, иначе несоответствие видимой формы реальной сведет его с ума. Или делать обломки совсем мелкими, чтобы несоответствие не так бросалось в глаза.
То есть получается, что подвижные объекты в Dark Engine физически могут быть только сферами?
Точнее, сдвигаемые. Лифты - подвижны, двери - подвижны, анимированные модели - также подвижны. Их просто сдвинуть телом нельзя. Так что убогость вполне скомпенсирована.
Не буду врать - кажется, есть еще какая-то редко используемая форма (с почти всеми недостатками сфер) - кажется, именно она использована у ящиков, благодаря чему на них можно залезать. Но в целом это картину не меняет. И выстроить из ящиков пирамидку по-прежнему остается нетривиальной задачей.
-
Лифты - подвижны, двери - подвижны, анимированные модели - также подвижны.
Но ничто из перечисленного не вступает в коллизию с миром. Только с другими объектами и довольно специфически, избирательно.
-
Верно, я просто отмечаю, из-за чего Thief не кажется нам таким примитивным, как, казалось бы, должен.
-
Zontik
Верно, я просто отмечаю, из-за чего Thief не кажется нам таким примитивным, как, казалось бы, должен.
Да, у него уникальная система наследования архетипов. В ней ничего сложного нет, но она позволяет добиться невероятной гибкости, какая редко встречается в играх. В современных играх/движках, скорее всего, она есть и даже более совершенна, но на тот момент, с полной уверенностью могу сказать, аналогов у неё не было. Тут фактически вся логика выстраивается за счет связей, свойств и иерархии. В других движках за это отвечали отдельные компилируемые модули.
-
Сегодня, в день двадцатилетия второй части нашей любимой игры, я рад предложить вашему вниманию очередную юбилейную сборку Dark Engine Viewer'а, которая теперь поддерживает модели персонажей! Ура!!! :yay:
(http://forcesw.com/static/files/440/087/158491990087440.jpg)
Актуальная сборка:
Thief 2: The Metal Age 20th Anniversary build (http://forcesw.com/deviewer_thief2_20th_anniversary.zip) 2020‒03−23 01:50 MSK (UTC+3:00)
Последние изменения
2020‒03−23 01:50 MSK Thief 2: The Metal Age 20th Anniversary Build
+ добавлено отображение моделей персонажей (выражается благодарность Juliusz Kaczmarek aka PinkDot и Randy Sybel aka Shadowspawn).
+ затухание в шейдере переключено на квадратичное. Теперь свет затухает по законам физики, но от этого стало темнее.
+ клавишами "+" и "-" теперь можно менять яркость изображения в режиме свободной камеры.
+ исправлено наследование свойств объектной иерархии.
Кроме того, я обновил мой вебсайт: forcesw.com (http://forcesw.com/rus) На нем можно найти много новых скриншотов, и в будущем там будет появляться больше интересной технической информации о проекте и вообще... :biggrin: Буду рад, если вы расскажете о новой версии просмотрщика и моем вебсайте своим друзьям и в социальных сетях :)!
Хочется выразить благодарность Juliusz Kaczmarek aka PinkDot и Randy Sybel aka Shadowspawn, которые помогли приделать поддержку моделей персонажей. Возникла странная ситуация, когда формат прочитать можешь, все данные имеешь, а они не складываются в целостную картину. И так соберешь, и эдак - ну никак не получается. Помогли исходники BinToE, любезно присланные Shadowspawn'ом. В результате решение было получено, но результат нуждается в рефакторинге для поддержки анимаций персонажей. Мы же хотим анимацию?
Теперь, когда, наконец-то, долеланы все модели, мы достигли некоей устойчивой стадии готовности проекта. Была создана тема на форуме TTLG (https://www.ttlg.com/forums/showthread.php?t=150408), где я презентовал Dark Engine Viewer. Посмотрим что скажут англоязычные тафферы :).
Еще на повестке дня стоит запрос Максима о текстовом фильтре. Есть у меня мысли, как это можно сделать в рамках существующей реализации:
в интерфейсе начинаем писать символы и они сразу же появляются в строке поиска (не надо на нем кликать мышкой и делать фокус). А как только символов стало больше одного, список перестраивается и сразу же открывается первая модель этого нового списка. Следовательно, клавиша BACKSPACE не возвращает нас в предыдущий каталог, а стирает символ поиска. Как-то так.
Какие у кого мысли?
-
Увидел скриншоты на сайте и понял, что свет играет ТАК МНОГО. Только вот у меня вопрос, есть возможность создать такой динамический свет на движке?
Приеду в город обязательно посмотрю программу. А для каких целей она будет использоваться? Или это вещь сугубо для редакторов?
-
Увидел скриншоты на сайте и понял, что свет играет ТАК МНОГО. Только вот у меня вопрос, есть возможность создать такой динамический свет на движке?
А можно конкретнее, что именно имеется в виду? Какой свет? Какие скриншоты?
Приеду в город обязательно посмотрю программу. А для каких целей она будет использоваться? Или это вещь сугубо для редакторов?
Вообще, хотелось сделать вещь именно для игроков, дать им новый игровой и визуальный опыт. Я писал о некоем игровом прототипе в первом сообщении темы. А пока мы к этой цели движемся, разработчики миссий могут использовать Dark Engine Viewer для своих нужд, например, для поиска моделей. Сейчас, насколько мне известно, Dark Engine Viewer стал единственной программой, способной просматривать оригинальные модели персонажей без плясок с конвертерами, прямо из ресурсов игры. Обычные модели вроде как можно было, но это не точно. :)
-
Именно что "вроде как". Был просмотрщик, который как-то что-то иногда показывал.
Поздравляю с релизом! Ну а остальных - с тем, что остался год до совершеннолетия (компания-то американская, а по их законам Thief все еще числится в подростках).
-
Force, с релизом! :up:
Force, есть в планах сделать, чтобы показывалось и разрешения текстур, наложенных на модель?
-
Спасибо за поздравления!
Glypher
Force, есть в планах сделать, чтобы показывалось и разрешения текстур, наложенных на модель?
Не было, но если надо - не проблема. Боюсь только, как бы вьюпорт не стал слишком захламленным.
-
Поздравляю с майлстоуном!
А как только символов стало больше одного, список перестраивается и сразу же открывается первая модель этого нового списка. Следовательно, клавиша BACKSPACE не возвращает нас в предыдущий каталог, а стирает символ поиска. Как-то так.
Какие у кого мысли?
Я бы не хотел, чтобы фильтрация списка мне переключала текущую модельку. Лучше сам кликну куда надо.
-
Поздравляю с майлстоуном!
Спасибо! :agree:
А как только символов стало больше одного, список перестраивается и сразу же открывается первая модель этого нового списка. Следовательно, клавиша BACKSPACE не возвращает нас в предыдущий каталог, а стирает символ поиска. Как-то так.
Какие у кого мысли?
Я бы не хотел, чтобы фильтрация списка мне переключала текущую модельку. Лучше сам кликну куда надо.
Разумно, принимается!
А еще я подумал, что имеет смысл начинать поиск не со второго вбитого символа, а с первого, типа чтобы сразу "слистнуть" к нужной букве... Кстааааати! А ищем мы с начала строки или из любого места? Потому что из любого места найдет все-все вхождения, которые, скорее всего, не то что мы ищем, но с другой стороны мы можем помнить именно середину названия, а не начало. При этом на нужный символ начала строки можно просто промотать скролом. Поэтому, думается мне, что искать надо из любого места и всё-таки со второго вбитого символа...
-
Не было, но если надо - не проблема. Боюсь только, как бы вьюпорт не стал слишком захламленным.
Было бы неплохо. Можно завязать на хоткей - Показать/скрыть.
-
Поэтому, думается мне, что искать надо из любого места и всё-таки со второго вбитого символа...
А то и с третива. По-моему, если человек не в состоянии воспроизвести нужные ему три символа подряд, то он сам не знает, какого ч0рта он ищет.
-
Force, поздравляю с очередным релизом! И всех тафферов - с 20-летием Thief II: The Metal Age!
PS. Надо, наконец, запомнить, что Бассо одет в бордовое. А то мне все время кажется, что он в зеленом.
-
Chuzhoi
Спасибо!
Да, я тоже путаю его со слугой :).
-
Актуальная сборка:
Thief 2: The Metal Age 20th Anniversary build (http://forcesw.com/deviewer_thief2_20th_anniversary.zip) 2020‒03−28 13:00 MSK (UTC+3:00)
Последние изменения
2020‒03−28 13:00 MSK (UTC+3:00) Thief 2: The Metal Age 20th Anniversary Build
+ улучшен механизм определения каталогов с ресурсами игры. Теперь миссия, расположенная внутри любой директории игры, легко находит путь к ресурсам.
+ улучшен механизм поиска текстур для моделей. Добавлена поддержка вложенных каталогов по названию языка (правда, пока ищется только "english").
+ добавлена поддержка замещаемых текстур, описываемых параметром TxtRepl r*, где * - номер текстуры [0, 3].
+ увеличен максимальный лимит экспозиции (для повышения яркости клавишами + и -).
+ теперь в миссиях Thief 1 отображаются высокополигональные модели (при наличии).
+ добавлена поддержка открытия программы в нужном каталоге через передачу параметра в командной строке или перетаскиванием каталога на окно программы.
-
Актуальная сборка:
Thief 2: The Metal Age 20th Anniversary build (http://forcesw.com/deviewer_thief2_20th_anniversary.zip) 2020‒04−06 14:30 MSK (UTC+3:00)
Последние изменения
2020‒04−06 14:30 MSK (UTC+3:00) Thief 2: The Metal Age 20th Anniversary Build
+ исправлено отображение имен файлов и каталогов в списке навигации, они больше не переносятся на новую строку.
+ для режима LEGACY HARDWARE теперь требуется версия OpenGL 1.0 вместо 2.1. Но работа в этом режиме не тестировалась. Буду благодарен за отклик.
+ добавлено отображение свечения объектов, имеющих свойство Self Illumination.
+ добавлена поддержка свойства Anim Light. В некоторых режимах оно влияет на Self Illumination объектов. Полноценная анимация этого свойства пока не реализована, применяется только начальное состояние.
+ добавлена поддержка языков, прописанных в dark config файле. Ресурсы будут искаться в соответствующих подкаталогах по приоритету, указанному в darkinst.cfg или install.cfg.
Это последняя юбилейная сборка. Дальнейшие сборки будут размещаться в другом файле.
Я понизил требуемую версию OpenGL в режиме LEGACY до 1.0 вместо 2.1, но у меня нет возможности проверить работоспособность программы в этом режиме. Если у кого-нибудь есть комп с видюхой уровня DX8 и он сможет запустить Dark Engine Viewer в этой конфигурации, я буду признателен!
Спасибо!
-
Force, на ТТЛГ уже выпустил?
-
Да. Правда, предлагают сменить раздел - разместить его в гильдии редакторов. Но у меня же нет возможности перенести тему...
-
Да. Правда, предлагают сменить раздел - разместить его в гильдии редакторов. Но у меня же нет возможности перенести тему...
Так просто дай согласие и обратись к модераторам в постом в теме, или в личку Ники/Таннару. :)
Полезная... утилита? Или как это называется. В актуальной версии исправлено зависание? В старой есть проблема, когда прокручиваешь длинный список моделей до нужной, потом нельзя ни на что кликнуть. Таким образом сначала при открытии списка моделей надо кликнуть на ближайшую и потом уже прокручивать.
-
Soul_Tear
Спасибо!
В актуальной версии исправлено зависание? В старой есть проблема, когда прокручиваешь длинный список моделей до нужной, потом нельзя ни на что кликнуть. Таким образом сначала при открытии списка моделей надо кликнуть на ближайшую и потом уже прокручивать.
А можно подробнее? Какое именно зависание, насколько большой список моделей? Зачем кликать на ближайшую, что это меняет?
-
А можно подробнее? Какое именно зависание, насколько большой список моделей? Зачем кликать на ближайшую, что это меняет?
В рабочей папке более 1800 бинов и 1900 текстур. Кликанье на любую модель в списке кажется странным решением, но помогает. Будто бы из-за нехватки памяти виснет, поскольку сразу много информации обрабатывает от прокрутки списка. Все три экзешника дают такой эффект.
-
Актуальная сборка:
Thief 2: The Metal Age 21st Anniversary build (http://forcesw.com/deviewer_thief2_21st_anniversary.zip) 2021‒03−23 15:00 MSK (UTC+3:00)
Последние изменения
2021‒03−23 15:00 MSK (UTC+3:00) Thief 2: The Metal Age 21st Anniversary Build
С момента последнего публичного релиза прошел почти целый год. За это время было внесено огромное количество изменений. Вот основные из них:
+ реализован простой плеер для воспроизведения звука на основе OpenAL
+ добавлен режим просмотра изображений (всех поддерживаемых форматов текстур)
+ добавлено освещение в режим просмотра объекта
+ переделана работа интерфейса, он теперь загружается частями и работает значительно быстрее
+ реализован фильтр для поиска файлов в меню с простым вводом текста
+ сделан экран помощи, открывающийся клавишей F1
+ добавлена обводка шрифта для текста во вьюпорте для улучшения читаемости
+ добавлена поддержка системных указателей мыши над элементами интерфейса
+ в режиме просмотра объектов реализована прозрачность и альфа-тест
+ для миссий, имеющих поддержку Low Sky, отображается skybox
+ добавлен экран загрузки для меню и для миссий
+ рендеринг переделан на стриминг геометрических данных
+ реализовано построение octree, которое сейчас используется пока только для оптимизации отсечения геометрии за пределами кадра
+ переработана система управления параллельными потоками
+ масштабный внутренний рефакторинг, введена система управления текущим состоянием приложения
+ переработана система логирования
+ множество косметических улучшений и исправлений
Поздравляю всех с очередной годовщиной Thief 2! Последняя игра на Dark Engine стала совершеннолетней! :yay:
Жду ваших замечаний и предложений по поводу работы новой версии программы!
P. S. Обнаружена проблема со скачиванием архива программы с моего сайта в браузере Chrome. Для тех, кто хочет скачать, нажмите правой мышкой на ссылке и выберите "Сохранить ссылку как..." и в выпавшем предупреждении выберите "Сохранить". Буду пытаться решить эту проблему с гуглом...
P. P. S. Можно скачать архив, перейдя на мой сайт: forcesw.com (http://forcesw.com), и скачав его оттуда, тогда проблема не возникает.
-
Актуальная сборка:
Thief 2: The Metal Age 21st Anniversary edition (http://forcesw.com/deviewer_thief2_21st_anniversary.zip) 2021‒03−27 16:00 MSK (UTC+3:00)
Последние изменения
2021‒03−27 16:00 MSK (UTC+3:00) Thief 2: The Metal Age 21st Anniversary Edition
+ переделана загрузка BIN-моделей. Теперь можно просматривать модели с нарушенной структурой дерева.
+ незначительно переоформлены экраны помощи.
+ добавлена возможность открыть в проводнике каталог текущего просматриваемого объекта горячей клавишей O.
+ в лог теперь выводится тип сообщения.
Эта версия значительно лучше умеет открывать статические модели, поскольку теперь открывает даже такие, у которых повреждена внутренняя иерархия взаимосвязей подобъектов.
Плюс, добавилась очень полезная функция: клавишей O можно открыть каталог, в котором будет выбрана просматриваемая модель. Если модель находится в архиве - откроется каталог с архивом.
-
Тестировать пока не пробовал, но скачал, распаковал и кое на чем споткнулся. В архиве три исполняемых файла: dark_engine_viewer_x64.exe (все понятно), dark_engine_viewer_legacy.exe (уже знакомо, да и в Readme объясняется) и... dark_engine_viewer.exe. Вот что за зверь последний? Для 32-разрядных систем?
Вообще подобные вещи жутко раздражают, к примеру, на 4PDA. Найдешь какую-то программку, проходишь по ссылке на скачивание... и попадаешь в пост с десятком различных версий, имена которых порой вообще ни о чем не говорят. Какие-то билды, подверсии, моды... А что конкретно мне скачивать? Надо спрашивать, да еще не всегда ответят сразу, иногда кинут ссылку на такую же страницу, где файлов числом поменьше, но все равно не один.
Здесь о раздражении речь идти не может по определению, просто любопытно: кто этот третий? Бегло просмотрел Readme, ответа не нашел. Возможно, было когда-то раньше, но память не резиновая и трудно вспомнить то, с чем давно дела не имел. И уж точно хотя бы в Readme об этом стоило написать. Или добавить три символа к имен файла (если я угадал правильно, конечно).
-
Ну, это вопрос обсуждаемый, стоит это писать явно или нет. Хотя, конечно, если предположить логически, методом исключения, то никаких иных вариантов не остается, как x86 (32-битное приложение). Да и, какая разница? Запускаешь то, которое работает, и всего делов :). Сейчас legacy-версия устапает основной только отсутствием освещения. Зато у неё сейчас есть и объективное преимущество - в ней поддерживается полупрозрачность в режиме просмотра уровня, в отличие от основной версии. А готовящийся ближайший патч добавит в неё ещё и mip-mapping, что сделает её совсем приятной для глаз. :yes:
-
Вообще подобные вещи жутко раздражают, к примеру, на 4PDA.
Оффтопик: А, тебя тоже выбешивают эти простыни со ссылками, ведущими на другие простыни со ссылками...
-
Оффтопик: Chuzhoi, они не то чтобы выбешивают, но оставляют неприятное послевкусие не до конца решенной задачи. Ну и чувствую себя идиотом, поскольку подозреваю, что всем остальным посетителям эти буквы и цифры в именах файлов вполне понятны и у них проблема выбора не стоит вообще. А это неприятно. С другой стороны, разбираться во всех этих делах при наличии разовой задачи никакого желания нет.
Force, а в чем принципиальная разница между legacy и x32? Я вообще полагал, что это одно и то же. Я не программист, мне такое невежество простительно, но раз уж можно это выяснить - то почему бы не сейчас.
Освещение касается только целиковых уровней или модели тоже подсвечиваются? Спрашиваю, потому что подсветка порой - один из самых сильных раздражителей: как ни крутишь модель, а рассматриваемый фрагмент всегда оказывается в тени. Этим сильно грешил Анимэйтор, насколько я помню. Естественно, у тебя если подобное и сделано, то с умом. Но пока я подсветки на моделях не видел, и меня это вполне устраивает.
Уровень - да, кажется плоским в режиме LightBright. Но это как бы и не инструмент для работы, так что нормально и так. Попробовал вчера загрузить один из своих уровней. Грузился ужасно долго (около полутора минут), зато потом любые перемещения - без всяких тормозов. Вообще. Просто сказка.
Некорректно отображаются только отдельные места - где текстура неба была наложена на внутренние браши (за которыми уровень продолжается). Но это и сам по себе подход некорректный, поэтому без претензий. Тем более что редактор эти места искажает куда сильнее.
Что сильно не понравилось: предпросмотр по наведению. То есть достаточно курсору оказаться на файле, как запускается предпросмотр. А если в папке несколько файлов с миссиями, происходит epic faill из-за невероятно долгих задержек. То есть опустил курсор на файл - все как бы повисло. Нормальный человек не станет ждать, а нажмет еще что-нибудь, нажатие запомнится в буфере и после первого развисания последуют еще несколько зависаний - во всех местах, куда успел ткнуть. То есть все, что остается в такой ситуации - это принудительное завершение работы программы.
Конечно, я делаю поправку на то, что у меня и видеокарта не отвечает современным требованиям, и процессор устарел, и вообще это legacy. Но вот лично в моем случае было бы, наверное, удобнее метод "осознанного тыка" - чтобы без явного выбора файла ничего не грузилось. Это выкручивает мозг как в папке с миссиями, так и при наличии звуков, которые начинают самопроизвольно проигрываться. Тормозов в последнем случае никаких нет, но мне просто не нравится, когда что-то начинает звучать само, без приглашения.
При этом я понимаю, что если каким-то образом изменить этот порядок, может стать менее удобной работа с моделями, что вообще-то в программе на сегодня - главный функционал. Поэтому от выводов воздержусь, просто отрапортовал, что есть такая незначительная проблемка, и умываю руки.
А теперь чуть-чуть о том, что может быть глюками, а может быть просто недостаточно развитым функционалом.
Первым же делом открыл папку с King's Story, в ней зашел в подпапку Fam. И... завис. На минуту, наверное, если не больше. После чего получил наконец список подпапок семейств текстур и сообщение в смысле "Нечего больше показать". При это во все подпапки семейств заходил уже мгновенно. С отображением проблем не возникло, но я так и не понял, что это было. С чего вдруг такая долгая загрузка, если внутри - только очередные папки и ни одного файла. При этом в саму папку King's Story провалился без задержек, сломался только на FAM.
После этого я уже просто боялся тыкать куда попало. Вдруг опять застрянет.
Ну и еще добавлю кое-что. Естественно, я не ограничился игровыми текстурами и полез смотреть фотографии и картинки. И вот тут меня поджидал сюрприз. Примерно три четверти изображений отображаются неправильно, с сильным смещением рядов по горизонтали. То есть картинки не превращаются совсем в кашу, но выглядят так, словно их сложили в параллелограмм с очень острыми углами. При этом оставшаяся четверть отображается без искажений. Я попытался найти какую-нибудь зависимость, но не обнаружил никакой закономерности - ни в формате, ни в размерах изображения (подумал было, что искажения связаны с заточенностью просмотрщика на определенные длины сторон - степени двойки, как в игре, но это совершенно не подтвердилось: без искажений показывались даже некоторые фотографии с произвольным количеством пикселов по сторонам). Файлы GIF и JPG, если что, было несколько PNG - они отобразились без ошибок, но их там было буквально пара штук.
При этом в любой из проверенных папок с играми все четко и без проблем.
Ради интереса проверил версию х64 - на другой машине и, к сожалению, на другом наборе файлов - в основном JPG, но тоже совершенно разнородные, из разных источников, с разным разрешением и даже в разных цветовых моделях. Ни одного сбоя. Похоже, проблема есть только в версии Legacy. Но, опять же, свою основную функцию программа выполняет исправно, все, что относится к игре - показывает без ошибок, так что не работает только бонусный функционал. Даже не знаю, можно ли называть это проблемой.
-
Что сильно не понравилось: предпросмотр по наведению. То есть достаточно курсору оказаться на файле, как запускается предпросмотр.
Странно. У меня нет никакого предпросмотра по наведению. У меня предпросмотр исключительно по клику.
-
Zontik
Большое спасибо за обстоятельный отзыв! Это очень ценная информация, хотелось бы более подробно разобрать некоторые проблемные места. Но, давай по-порядку.
Force, а в чем принципиальная разница между legacy и x32? Я вообще полагал, что это одно и то же. Я не программист, мне такое невежество простительно, но раз уж можно это выяснить - то почему бы не сейчас.
К тебе, как и ко всем остальным, нет таких требований - разбираться в тонкостях железной архитектуры.
Версии x86 (x32) и x64 условно равны по функционалу и отличаются только битностью. Если мне не изменяет память, x86-версия должна запускаться даже на XP SP3. Следовательно, если видеокарта уровня DirectX10/OpenGL 3, то на XP SP3 можно полноценно пользоваться программой.
С XP SP2 другая ситуация. Дело в том что у неё и у более ранних версий, грубо говоря, другой "формат" запускаемых файлов. Менее безопасный, так скажем. Поэтому современные компиляторы самого Microsoft'а его больше не поддерживают. Для этих целей, и существует версия Legacy. Во-первых, она собирается другим компилятором, который создает исполняемые файлы, совместимые с XP SP2, а во-вторых, там принудительно понижена версия OpenGL до 2.1 (аппаратный аналог DirectX 9), что позволяет ей работать с видеокартами соответствующего поколения (примерно до 2008 года выпуска включительно). Но для последней особенности пришлось реализовать отдельную ветку отрисовки изображения, со своим набором шейдеров. Это позволяет менять методы рисования обычной и legacy-версий независимо друг от друга, но при этом приходится выполнять двойную работу, для поддержки обеих веток. И как результат, они могут выдавать совершенно разную картинку. Всё осложняется ещё и тем, что у меня нет видеокарты уровня OpenGL 2.1, чтобы проверять работоспособность во время разработки, поэтому приходится полагаться на отзывы пользователей... :embarassed:
Освещение касается только целиковых уровней или модели тоже подсвечиваются?
Надо сказать, что режим просмотра моделей сейчас во всех режимах работает одинаково - с прозрачностью и освещением, без теней. Режим просмотра уровней различается - в Legacy есть прозрачность и полупрозрачность, но нет вообще никакого освещения, в основной версии - есть только альфатестовая прозрачность и освещение, полупрозрачности нет.
Попробовал вчера загрузить один из своих уровней. Грузился ужасно долго (около полутора минут)
Есть такая проблема, именно поэтому был сделан экран загрузки :). Я всё надеялся, что успею прикрутить стриминг и сократить время загрузки до минимума, но не успел.
Некорректно отображаются только отдельные места - где текстура неба была наложена на внутренние браши (за которыми уровень продолжается).
Слушай, а ты мог бы показать это место? Проще всего это сделать, наверное, запустив просмотрщик и подлетев к этому месту камерой и выйти из программы, после чего прислать лог мне. Я тогда по координатам камеры из лога смогу найти это место и понять, можно ли как-то улучшить ситуацию.
Что сильно не понравилось: предпросмотр по наведению. То есть достаточно курсору оказаться на файле, как запускается предпросмотр. А если в папке несколько файлов с миссиями, происходит epic faill из-за невероятно долгих задержек. То есть опустил курсор на файл - все как бы повисло.
Да, как и писал выше, это проблема - комплексная. Во-первых, стриминг, значительно сократит время первоначальной загрузки. Во-вторых, давно назревает вопрос сохранения и управления настройками программы, что позволит, скажем, не открывать первый файл при открытии содержащего каталога. А в-третьих, так же давно назревает вопрос по изменению способа навигации, в частности, управлению курсором с клавиатуры. Предлагаемая схема следующая:
- клавиши вверх-вниз - перемещают курсор вверх и вниз по списку файлов и каталогов, при этом открытый файл выделен в списке золотистым цветом, как сейчас, но с обычным цветом фона, курсор же - это только цвет фона.
- клавишей Enter можно открыть файл. Если файл уже открыт (золотистые буквы), камера переходит в режим свободного полёта (для моделей и картинок можно ничего не делать, обсуждаемо), если это звук, он начинает воспроизводиться повторно.
- клавиши влево-вправо открывают следующий/предыдущий файл, перемещая на него курсор (так работает сейчас).
- движения мыши над списком файлов - перемещают курсор и он остается над последним элементом, над которым была пронесена мышь, даже если мышь уже убрана со списка.
Таким образом мы получаем возможность полноценно управлять программой с клавиатуры, не потеряв основного функционала с листанием, при этом можем открывать только нужные нам файлы. Открытым остается вопрос - открывать ли первый файл в списке, при открытии каталога, но, думаю, это вполне можно вынести в опцию программы.
Первым же делом открыл папку с King's Story, в ней зашел в подпапку Fam. И... завис.
Описываемое - очень странно. Я скорее допускаю, что он "завис" не при открытии папки Fam, а при открытии корневой папки - загружая миссию, которая является первым файлом в списке. В любом случае, работы в сторону улучшения работоспособности в этой области ещё будут вестись.
При этом в саму папку King's Story провалился без задержек, сломался только на FAM.
А, слушай, похоже, действительно имело место недопонимание... Сейчас меню и контент грузятся отдельно, наверное это и сбило с толку.
Примерно три четверти изображений отображаются неправильно, с сильным смещением рядов по горизонтали.
Интересно. Я наблюдал такое только на PCX-файлах. Ты мог бы выслать примеры "плохих" файлов в разных форматах, которые отображаются некорректно? Это было бы очень полезно! :yes: Тебе поможет клавиша O - она открывает проводник и выделяет в нём нужный файл ;).
-
Chuzhoi
Странно. У меня нет никакого предпросмотра по наведению.
Выразился не совсем точно. Не когда провожу мышиным курсором над файлом, а когда курсор сам оказывается в этом месте. Впрочем, я тестировал недостаточно долго, чтобы описать точнее. Поэтому как, при каких обстоятельствах курсор оказывается там, куда я его вроде бы не ставил - сказать затрудняюсь.
Force
Слушай, а ты мог бы показать это место? Проще всего это сделать, наверное, запустив просмотрщик и подлетев к этому месту камерой и выйти из программы, после чего прислать лог мне. Я тогда по координатам камеры из лога смогу найти это место и понять, можно ли как-то улучшить ситуацию.
Лог пишется на автомате, даже когда все идет нормально? Не вопрос, полетаю еще. Вопрос в другом - надо ли что-то делать. Это место же в принципе невозможно отобразить корректно - оно самим своим существованием нарушает, так сказать, евклидову геометрию.
По поводу навигации - тут боюсь попасть пальцем в небо. Умозрительно изобрести или хотя бы выбрать удобный интерфейс - задача, по-моему, неразрешимая. Вот когда программа готова и можно ее погонять - тут уже становится ясно, удобно так или не очень. Причем даже не всегда это становится ясно сразу, иногда нужно плотно с ней поработать, чтобы установить наиболее раздражающие факторы.
Открытым остается вопрос - открывать ли первый файл в списке, при открытии каталога, но, думаю, это вполне можно вынести в опцию программы.
Вот тут у меня позиция вполне ясная - не надо, по крайней мере до тех пор, пока все файлы не станут открываться мгновенно. Бывает, нужно на десять уровней вниз провалиться, и на каждом уровне терпеть задержку, пока откроется ненужный файл? По-моему, это не здорово.
Хотя неплохо бы и другим пользователям высказаться, может, мне так удобно, а им иначе. Так что опция - беспроигрышный вариант в любом случае (если все промолчат).
Описываемое - очень странно. Я скорее допускаю, что он "завис" не при открытии папки Fam, а при открытии корневой папки - загружая миссию, которая является первым файлом в списке.
Ну, это легко проверить, когда знаешь, что проверять. Вообще то, что ты пишешь, по крайней мере логично и вполне могло иметь место. Посмотрю еще раз.
Ты мог бы выслать примеры "плохих" файлов в разных форматах, которые отображаются некорректно?
Конечно. Это стоило бы сделать сразу, но было очень мало времени. Скриншоты нужны или ты сам знаешь, как это выглядит?
-
Zontik
Лог пишется на автомате, даже когда все идет нормально?
Сейчас - да. Когда будут настройки, по умолчанию будут писаться только ошибки. Уровень логирования можно будет выставлять в настройках.
Вопрос в другом - надо ли что-то делать. Это место же в принципе невозможно отобразить корректно - оно самим своим существованием нарушает, так сказать, евклидову геометрию.
Это и хотелось выяснить, лог позволит определить отсутствие/наличие реальных визуальных проблем, когда я там всё осмотрю. Ну а вообще - можешь в любом случае ещё и скриншот места прислать. Возможно, если действительно проблем нет, можно будет ничего и не делать.
Скриншоты нужны или ты сам знаешь, как это выглядит?
Давай двигаться поэтапно, если я не увижу проблем с присланными файлами, тогда вышлешь скрины. Проблемных файлов должно хватить. Причем нужно выявить именно проблемы разных форматов. Поскольку ошибка именно в распаковке данных изображения. Возможно, придётся с дядей Шоном связываться :). Это который Барретт. Будем улучшать его библиотеку чтения изображений.
-
- клавиши вверх-вниз - перемещают курсор вверх и вниз по списку файлов и каталогов, при этом открытый файл выделен в списке золотистым цветом, как сейчас, но с обычным цветом фона, курсор же - это только цвет фона.
- клавишей Enter можно открыть файл. Если файл уже открыт (золотистые буквы), камера переходит в режим свободного полёта (для моделей и картинок можно ничего не делать, обсуждаемо), если это звук, он начинает воспроизводиться повторно.
- клавиши влево-вправо открывают следующий/предыдущий файл, перемещая на него курсор (так работает сейчас).
Это хорошая схема.
Правда, во избежание путаницы, переход в режим свободного полета лучше повесить на другую клавишу (F, например). Лучше, если будет одна клавиша - одна функция.
- движения мыши над списком файлов - перемещают курсор и он остается над последним элементом, над которым была пронесена мышь, даже если мышь уже убрана со списка.
А это уже лишнее. Совершенно нестандартная схема, которая будет раздражать пользователя своей непредсказуемостью.
Открытым остается вопрос - открывать ли первый файл в списке, при открытии каталога, но, думаю, это вполне можно вынести в опцию программы.
Тут спорный момент. С одной стороны, миссии действительно открываются долго. С другой, тормозят при открытии только миссии. Поэтому тормоза обычно возникают только при заходе в корневую папку миссии (и то, если первым файлом идет миссия; в "Патриоте", например, это не так).
Вообще, ожидаемое действие при входе в папку для таких программ - это автоматический показ первого файла. Поэтому отключение автопоказа и принуждение пользователя к некоему дополнительному действию при входе в папку привнесет некий раздражающий момент (и даже лишит программу некой эффектности и зрелищности).
Поэтому лучшим решением было бы, если бы программа при выборе другого файла или входе в другую папку моментально отменяла загрузку миссии, не мешая пользователю совершать навигацию по файлам и папкам.
Пока это не сделано, можно пойти на компромиссный вариант: если первым файлом идет миссия, пусть для ее открытия понадобится нажать Enter (о чем должно гласить сообщение во вьюпорте). Во всех остальных случаях (текстура, модель) можно сразу показывать содержимое файла. Это, конечно, тоже не совсем идеальный вариант (разное поведение программы в аналогичных ситуациях), но как временный компромисс вполне приемлемо.
PS. По поводу длительности загрузки миссий. Мне стало интересно, насколько отличаются 64, 32 и Legacy версии по быстродействию. И я провел бенчмарк, результаты которого в таблице:
Версия | Холодный старт | Горячий старт |
64bit | 35 | 23 |
32bit | 40 | 27 |
Legасу | 44 | 33 |
Здесь "холодный старт" - это запуск вьюера сразу после загрузки ОС (с немедленным выбором исследуемой миссии), "горячий старт" - это вышли из вьюера и сразу снова зашли, выбрав ту же миссию (т. е. на "разогретой" файловой системе). В теле таблицы указано время загрузки миссии в секундах. Миссия - Miss23 из "Патриота". В общем, разница между версиями достаточно предсказуема.
-
Chuzhoi
Мне стало интересно, насколько отличаются 64, 32 и Legacy версии по быстродействию. И я провел бенчмарк
Это очень круто! :applause: Именно сам факт того, что ты провёл этот тест. Я прям тронут, серьезно.
По поводу результатов - я хоть такие бенчмарки и не проводил (именно между разными версиями по битности), но, если честно, думал 32-битная версия будет быстрее просто потому что у неё адреса в памяти короче и, теоретически, работа с ними должна быть быстрее. Но, даже если это и так, видимо накладываются всякие оптимизации компилятора. Кстати! А ведь можно же выкрутить их на максимум, я совсем об этом забыл! Хотел и забыл. Вот тогда интересно, насколько это всё станет быстрее?
лучшим решением было бы, если бы программа при выборе другого файла или входе в другую папку моментально отменяла загрузку миссии
К сожалению, это невозможно сделать штатными средствами. Чтоб вот прям моментально. Моментально можно только в море :biggrin:. Если поток начал что-то обрабатывать, нет штатного способа вмешаться в его работу извне. Можно лишь научить поток сверяться с какими-нибудь общими флагами, типа "продолжаем работу", но для начала, надо просто не применять результат его выполнения если текущая команда изменилась (выбрали другой файл, к примеру). Это создаст нужный эффект, хоть систему и не разгрузит. Но скажу так, сейчас, когда один поток грузит абсолютно все ресурсы миссии сразу - это архитектурная ошибка и так быть не должно. Потоки должны выполнять небольшие команды, чем и являются по сути команды на стриминг (сейчас звуки воспроизводятся именно так). Поэтому я пока не хочу решать задачи, возникшие в результате кривой архитектуры, и чьё решение в конечном итоге потом будет просто выброшено. Лучше потратить время на исправление архитектуры.
-
Это очень круто! :applause: Именно сам факт того, что ты провёл этот тест. Я прям тронут, серьезно.
Рад, что тебя порадовал. На самом деле я давно уже, много лет назад, проводил подобный эксперимент на одной программе и выяснил, что ее 64-битная версия работает несколько быстрее, чем 32-битная. Видимо, та часть процессора, которая выполняет 64-битный код, лучше оптимизирована. Поэтому и результаты меня не удивили.
-
Force, отправил файлы по результатам теста. Проблемные графические файлы и скриншот вида сквозь небесные текстуры, ну и лог прилагается. Сам скриншот, кстати, тоже показывается по диагонали, так что у него сразу две функции.
https://drive.google.com/file/d/1vCfNF03upU7wUBzFHatDVKbyJs_xR0jd/view?usp=sharing
Ну и добавлю, что с открытием папки King's Story ты был абсолютно прав. Сразу после входа в папку пытается открыться backup.mis, а поскольку это не вполне очевидно, я начинаю дергаться и тыкать во что попало, иногда попадая в другие файлы миссий.
Еще один чуть смутивший меня момент. Несколько раз видел Jorge, уже не могу припомнить, при каких обстоятельствах - кажется, когда по каким-то причинам выбранный файл не может быть отображен. Не лучше ли в такие моменты просто оставлять черный экран?
-
Zontik
Тэкс... Началась жесть: не воспроизводится у меня твоя проблема с кривым отображением текстур. Ты мог бы прислать пару скринов с проблемами отображения текстур, которые прислал? Можно даже прежний архив заменить.
По поводу неба - посмотрел, у меня это место выглядит поприличнее, конечно :). Просто как отсутствующие полигоны с чёрным цветом очистки экрана. Когда будет реализован динамический скайбокс, проблема уйдёт. Пока ничего можно не делать. Кстати, раз уж мы заговорили о скайбоксе, как отображается небо в этой миссии в режиме Low Sky в самой игре (если в настройках выбрать небо низкого качества)?
Еще один чуть смутивший меня момент. Несколько раз видел Jorge, уже не могу припомнить, при каких обстоятельствах - кажется, когда по каким-то причинам выбранный файл не может быть отображен. Не лучше ли в такие моменты просто оставлять черный экран?
Не совсем понимаю, о какой ситуации ты говоришь. При просмотре изображений? Jorge вместо просматриваемой текстуры?
-
Force, ты же сам сказал только что, что legacy тебе тестировать не на чем. Так как же ты собрался ее воспроизвести?
По всем вопросам уточню и отвечу. На небо, кстати, в просмотрщике не обратил внимания, а в игре с момента ее установки никогда не менял настроек. Но посмотрю, раз любопытно.
-
Force, ты же сам сказал только что, что legacy тебе тестировать не на чем. Так как же ты собрался ее воспроизвести?
Хм. :) Запустить-то я его могу и проверить, но не на целевом железе, это действительно может замазать некоторые проблемы. Если проблема именно в железе уровня дх9, то тут, наверное, ничего особо уже и не сделать... Я думал что проблема алгоритмическая, но, видимо, нет.
P.S. Хотя... посмотрел на присланные изображения ещё раз - все они не в степени двойки, точнее, не делятся нацело на два, можно попробовать зафиксить в этом направлении и проверить - поможет ли...
-
https://drive.google.com/file/d/14cNdtsxeQI3ABrxFb41xVxWPJVOm567U/view?usp=sharing
Собственно, я уже догадываюсь, что проблема может быть в видеокарте. Точнее, не в самой видеокарте, а в том, что она работает не по тем алгоритмам, которые подразумевались при написании программы. Посмотри скриншоты, может, тебе это о чем-то скажет.
Что интересно - правильно отображающиеся изображения, которых немного, тоже никак не в степени двойки.
При этом текстуры в игре (там-то уж степени двойки несомненны) отображаются правильно на все 100%.
Посмотрел я на Jorge. Оказывается, он появляется, когда выбираешь файл с кириллицей в имени. В папку с таким именем зайти вообще нельзя (есть соответствующее предупреждение), а вот если в папке с латинским именем намешано всякое разное - тут вам и добро пожаловать.
Но вообще-то я в курсе, что на legacy кириллица не поддерживается, так что вопрос снят.
Небо в режиме Low посмотрел, это просто чернота со звездами. Ни луны, ни облаков, ни цвета - ничего нет. Впрочем, в просмотрщике нет даже звезд.
-
Zontik
Посмотри скриншоты, может, тебе это о чем-то скажет.
Сразу бросилось в глаза, что изображения в просмотрщике намного темнее чем в оригинале. А те изображения, которые отображаются без искажений, у тебя такие же тёмные?
В следующем патче постараюсь что-нибудь намутить и с кириллицей в режиме legacy и с текстурами. Посмотрим, поможет ли?
Ни луны, ни облаков, ни цвета - ничего нет. Впрочем, в просмотрщике нет даже звезд.
Хех, им там и неоткуда взяться! Для этого их надо зажечь, а ещё раньше их надо создать! :) Подумываю, может пока и для звёзд сделать заглушку-скайбокс с белыми точечками?
-
Не обращал внимания. Вроде выглядели привычно, поэтому специально не проверял, как-то в голову не пришло. Разве что на картинке с символами заметил, что фон не белый, но она-то как раз искаженная.
Подумываю, может пока и для звёзд сделать заглушку-скайбокс с белыми точечками?
Кого ты хочешь обмануть? Все равно такое небо сейчас почти никто не делает. Зажжешь звезды - люди сразу заметят несоответствие, а пока все черное - вроде как так и надо. Тоже какая-то тень зловещей долины, видимо.
-
Актуальная сборка:
Thief 2: The Metal Age 21st Anniversary edition (http://forcesw.com/deviewer_thief2_21st_anniversary.zip) 2021‒04−23 20:00 MSK (UTC+3:00)
Последние изменения
2021‒04−23 20:00 MSK (UTC+3:00) Thief 2: The Metal Age 21st Anniversary Edition
+ компиляция сборок теперь осуществляется с максимальным уровнем оптимизации компилятора, это должно слегка увеличить скорость работы
+ добавлена генерация mip-уровней для режима Legacy Hardware
+ добавлена поддержка теней для прожекторов
+ переработана система команд. Теперь при загрузке нескольких команд, выполняется результат только последней, выбранной пользователем
+ исправлена загрузка меню. Оно теперь загружается параллельно с объектом
-
Хотел сообщить четыре вещи.
Во-первых, вчера был выпущен последний юбилейный релиз Dark Engine Viewer'а, посвященный 21-й годовщине Thief 2: The Metal Age. Дальнейшие сборки будут поставляться в других файлах.
Во-вторых, залил просмотрщик на Dark Fate. Лазил там по разным проектам и ВНЕЗАПНО заметил, что просмотрщика-то там и нет! Исправил сие вопиющее недоразумение! :biggrin: Добро пожаловать в локальный филиал: https://darkfate.org/view/details/files/projects/deviewer Заодно, теперь это ещё и актуальное зеркало с https, пока мой собственный сайт такой сомнительной приблудой не обзавёлся...
В-третьих, следующая крупная годовщина у нас - это 20-летие сайта Dark Fate, хотелось бы отмочить нечто офигенское и присовокупить к этой дате. :yes: Так что держите за меня кулачки, будем стараться всех приятно удивить и обрадовать!
В-четвертых, это уже инфа для гиков, остальные могут расходиться (и начинать держать кулачки): вчера проверял как работают тени от спотов на миссии Баффорда и заметил торчащий из стены пупырышек. Подлетел, заглянул сквозь стену - а там древний факел времен Dark Camelot 96-го года! И подумалось мне, что, может быть, все эти поломанные BSP-деревья в моделях, которые мы так старательно пытались отобразить, поломаны вовсе не случайно, а всё-таки чтобы модель просто не отображалась в игре? Проверять это конечно же я не буду (с)... :biggrin: А может и буду, поглядим, что будущее нам покажет.
-
Я правильно понял - "артефакт" видно в просмотрщике, но не видно в игре? А в редакторе он есть?
-
Я правильно понял - "артефакт" видно в просмотрщике, но не видно в игре? А в редакторе он есть?
Оказывается и в игре видно. У этого объекта с деревом почти всё в порядке. Надо действительно проверить, как отображаются объекты с кривыми деревьями. Просто в игре есть "защита" от рисования объектов, расположенных за пределами уровня, а факел этот находится в стене. Зашел в редактор, увидел его, он называется просто - "An object", а модель - torch1. Если заходить в поместье Баффорда через главный вход, слева в стене будет этот самый объект.
-
Просто в игре есть "защита" от рисования объектов, расположенных за пределами уровня
Да, если объект погружен в твердое тело более чем наполовину, он не рендерится. Только не помню, там физ. модель актуальна или видимые размеры.
-
Если заходить в поместье Баффорда через главный вход, слева в стене будет этот самый объект.
Ты про этот (слева)? Вообще-то справа есть точно такой же факел, но висящий нормально на стене. Но в игре они у меня оба не отображаются.
(https://chuzhoi.city/images/darkfate/artifact_viewer.jpg)
(https://chuzhoi.city/images/darkfate/artifact_game.jpg)
-
Chuzhoi
Ты про этот (слева)? Вообще-то справа есть точно такой же факел, но висящий нормально на стене. Но в игре они у меня оба не отображаются.
Да, ты прав, справа тоже есть :). Я в редакторе его выдвинул из стены и он появился в игре. Заодно, обнаружил, что в просмотрщике его полигоны не светятся, а в игре - да. Надо этот вопрос исследовать повнимательнее.
-
То есть у тебя оба факела отображаются в игре? Странно, что у меня - нет. NewDark 1.27, запущен мною с TG сегодня впервые. Правда, я ставил некий TFix Lite (отдельного ньюдарка для Thef Gold не нашел - или можно прямо на TG ставить версию для Thief 2?) Кстати, там есть некие dml-файлы, вносящие исправления в оригинальные миссии, но для поместья Баффорда там только одно исправление - чтобы мы не могли открыть ворота, протянув руку через решетку. То есть, хоть и рядом, но не про факелы.
-
Chuzhoi
Тут ключевым моментом является эта фраза: Я в редакторе его выдвинул из стены и он появился в игре.
Ты выдвигал его из стены? Просто так их и не видно, надо выдвигать. Или у тебя выдвинутые не отображаются?
-
Нет, не выдвигал. Мне показалось, что правый уже выдвинут и он по-любому должен отобразиться.
-
Хотелось поздравить всех тафферов Dark Fate c 20-летним юбилеем нашего сайта! К этому событию я подготовил новую версию Dark Engine Viewer, которая теперь умеет воспроизводить скелетные анимации персонажей. :up:
Работы было очень много и, к сожалению, я не успел многого из запланированного к годовщине. Так, я планировал показывать анимации ещё и в миссиях и закончить со стримингом данных и новым режимом рендеринга, который работает, ни много ни мало, а в ~40 раз быстрее :aaa:! Возможно, в течение этого праздничного месяца обновлением сборки догоню просмотрщик до более "запланированного" состояния ;). Сейчас иногда случается что, программа может закрыться без предупреждений, перезапуск, как правило, помогает, но, на всякий случай, будьте готовы. Работы ведутся.
А пока предлагаю всем, наконец, воочию лицезреть, как ведет себя охранник с анимацией лягушки :cheesy: и множество других любопытных анимаций!
Актуальная сборка:
Dark Fate 20th Anniversary edition (http://forcesw.com/deviewer_dark_fate_20th_anniversary.zip) 2021‒08−24 14:00 MSK (UTC+3:00)
Последние изменения
2021‒08−24 14:00 MSK (UTC+3:00) Dark Fate 20th Anniversary edition
+ добавлена поддержка анимаций скелетных моделей
+ добавлен проигрыватель анимаций с элементами управления
+ множество внутренних усовершенствований для внедрения нового режима рендеринга с поддержкой стриминга данных в последующих релизах
-
Force
Поздравляю с релизом! Даже страшно представить, сколько бессонных ночей и строчек кода, написанных кровью :biggrin:
Чую, ещё немного, и новомрак переплюнешь по абилкам.
Браво :applause:
-
Force
Поздравляю с релизом! Даже страшно представить, сколько бессонных ночей и строчек кода, написанных кровью :biggrin:
Чую, ещё немного, и новомрак переплюнешь по абилкам.
Браво :applause:
Да, всё так! :yes:
Спасибо! :agree:
-
Force, то есть теперь можно просматривать файлы движений *.mc?
-
Soul_Tear
Да, только применительно к открытой модели.
-
Крайне нужный инструмент! Порой уйму времени тратишь на поиск нужной анимации, а тут все на блюдечке. Надеюсь, теперь анимационные демки с кнопочками наконец-то останутся в прошлом.
Спасибо!
P.S. У людей и лягушек вроде бы разные скелеты, так что движок игры вряд ли позволит воспроизвести такое.
-
У людей и лягушек вроде бы разные скелеты, так что движок игры вряд ли позволит воспроизвести такое.
Вот, это действительно обсуждаемый вопрос: стоит ли строго сопоставлять анимацию типу скелета модели?
Я сначала именно так и хотел сделать, но при первом приближении, выяснилось, что это не тривиально, поэтому для простоты "всем всё разрешил".
А как лучше? Ведь в DEV подход такой - модель первоначальна, потом к ней выбираются анимации. И может так статься, что будут такие анимации, которым ни одна модель не походит, а следовательно их невозможно будет увидеть. Так, например, невозможно будет просмотреть анимации мухоловки, открыв список моделей для Thief 2. Просто потому что у неё на две кости больше на "руках".
-
Force
Спасибо за релиз!
стоит ли строго сопоставлять анимацию типу скелета модели?
Ты бы выводил в рабочей области предупреждение, мол "This animation is incompatible with the loaded skeleton".
-
Трудно сказать, как лучше.
С одной стороны - удобно, когда просмотрщик не чинит ограничений.
С другой - он этим самым может вводить в заблуждение: просмотреть анимацию на модели можно, а использовать на ней же нельзя.
С третьей - сегодня нельзя, а завтра вдруг станет можно...
На данный момент лично я предпочел бы ограничения (или хотя бы предупреждения), чтобы не впадать в самообман. Но тебе же надо в будущее смотреть.
-
Тогда да, думаю, разумно будет выводить предупреждение о некоем несоответствии анимации и модели, как предложил nemyax. :agree:
-
Force Мега круто! Спасибо за релиз. :up:
Не, ну просто офигительно спасибо. Полезное нововведение.
И Chuzhoi спасибо! :) (посмотрел раздел "благодарности")
Ещё мне нравится вот это:
Не требует установки и предварительной настройки. Может размещаться в любом удобном месте системы.
-
Ещё мне нравится вот это
Просто разумный подход, которым мы, к сожалению, не избалованы.
-
И Chuzhoi спасибо! :) (посмотрел раздел "благодарности")
Ну вот, а я даже Readme не почитал. Спасибо!
-
Привет! Пришел черед очередного небольшого обновления просмотрщика. Изменений, как всегда, не очень много, но на этот раз я поймал такую неприятную штуку как эмоциональное выгорание, поэтому выход этого обновления задержался на пару недель от запланированного срока... Буду реабилитироваться. А вам - успехов, берегите себя!
Актуальная сборка:
Dark Fate 20th Anniversary edition (http://forcesw.com/deviewer_dark_fate_20th_anniversary.zip) 2021‒09−29 15:00 MSK (UTC+3:00)
Последние изменения
2021‒09−29 15:00 MSK (UTC+3:00) Dark Fate 20th Anniversary edition
+ исправлены ошибки поиска текстур в существующих каталогах
+ добавлено логирование процесса поиска текстур
+ отрефакторен плеер анимации, теперь он загружается быстрее и не мигает при загрузке новой модели
+ добавлена запись и чтение параметров программы из файла конфигурации config.cfg
+ множество других мелких исправлений
-
Потестил просмотрщик на древних картах и процессоре Р4 2,4 ГГц.
На карте ATI 9600 (2003 год) c OpenGL 2.1 Легаси
DФ-20: при закидывании файла зависает, при входе в каталог вылетает
Т2-21: шрифт разложился в кашу, в миссиях какой-то сюр
Т2-20: мало что открывается среди bin, далеко не с первого раза удалось таки полетать над Затерянным городом.
Такое и на моей родной хрюшке, и на ненавистной семёрке.
Не подходят легаси к заявленным картам.
Ну вот, буквально вчера приобрёл за тыщу+ ATI HD3650 (2008!) с монстрическим радиатором, который больше самой карты (ух, сделал рывок сразу на два поколения вперёд!!)
Как тут?
В легаси DФ-20 всё нормально, просто появились ряд замечаний:
- при заходе в корневую папку вьювер сразу тянет загрузить первую миссию
- текстуры на весь экран, а не в своём масштабе.
Но всё же у новой (для меня) видюхи есть поддержка OpenGL 3-й версии и даже на 4-ю засматривается:
OpenGL 3.3 Да (100%)
OpenGL 4.0 Нет (30%)
OpenGL 4.1 Нет (71%)
OpenGL 4.2 Нет (66%)
Запускаю теперь основные программы.
DФ-20: сразу откинул коньки
Т2-21: при загрузки миссии вылетает, файлы приходиться закидывать из-за того, что, как писал выше, пытается сразу открывать миссию.
Т2-20: вылетает при попытке зайти в воровскую хату папку.
Скачал ещё более ранние версии:
DP-21: тоже самое
DP-20: наконец миссия запустилась.
При таком раскладе, что лучше для просмотра bin: легаси DФ-20 или основная предыдущая версия?
И ещё такое предложение. Трудно ли сделать так, чтобы программа загружала миссии через mod.ini? Мне это надо, чтоб быстрей проверить собранный пак из всех модов (HDMOD, NecroAge, ep2, ESRGAN). А то сейчас приходиться вырубать всех и оценивать, что под руку попадётся. И совсем шикарно было бы сделать поисковик текстур в самой миссии. :aaa:
P.S. Если опереться чисто на моё тестирование, то надо в описании исправить, что Легаси будет нормально работать только с OpenGL 3-й версии, а не второй, а тем более первой. Может это добавление новых улучшений сыграло злую шутку?
Почитал последние странички. Я за то, чтоб программа не открывала файлы сразу (тем более в связи с вышупомянутой проблемой).
-
Прелести радеонов...
-
Silentor
Большое спасибо за столь обстоятельный тест на старой видюхе! Да ещё и на радеоне! Жаль только, ты не дал никакой конкретики, которая бы хоть сколько-нибудь дала представление о встреченных тобой проблемах. К сожалению, у меня нет старой карты и я не могу проверить и отладить работоспособность в этих режимах... Да и нужно ли?
Следует помнить, что пользоваться предыдущими (неактуальными) версиями программы следует только если какая-то нужная функция не работает в последней версии. То же самое могу сказать и про legacy-режим. Причем, в случае обнаружения проблемы, нужно сразу сообщить об этом мне (одним из указанных в первом посте способов), а не молча пользоваться старой версией ;). Тогда мы вместе сможем выявить проблему и решить её в ещё более новой версии! ;)
Есть высокая вероятность, что legacy-режим придется отстрелить в ближайшем будущем. Его пользователи стремятся к нулю, а поддержка становится всё более накладной. Поэтому я бы не стал сильно на нем концентрироваться.
- при заходе в корневую папку вьювер сразу тянет загрузить первую миссию
Это стандартное поведение программы. Пока просто предлагаю с этим смириться. Или использовать батники или ярлыки для быстрого запуска просмотрщика с нужным файлом в качестве параметра. В ближайшее время грядет поддержка последнего открытого "объекта" при старте. Это на 90% должно решить возникающие "проблемы неожиданного открытия объектов". В будущем добавится ещё стриминг - это ЗНАЧИТЕЛЬНО ускорит открытие миссий. Ну и если всего этого будет недостаточно, можно будет перелопатить систему навигации и открывать все файлы ENTER'ом (режим "листания" кнопками вправо/влево останется), это было в планах, но фича сомнительная.
- текстуры на весь экран, а не в своём масштабе.
Это тоже стандартное поведение программы. Но можно открывать и в оригинальном, если это кому-нибудь нужно. Только есть ли в этом смысл и будет ли это удобно? Просто тут значительно усложняется логика: если текстура в оригинальном разрешении не влезает в экран (слишком большая) уменьшать ли её при показе, чтобы влезала? А почему тогда не увеличиваются мелкие текстуры? Сейчас всё довольно просто и предсказуемо, поэтому и выбран вариант автомасштаба по умолчанию.
Запускаю теперь основные программы.
DФ-20: сразу откинул коньки
Вот здесь сразу "стоп" и поподробнее, пожалуйста! Ты мог бы прислать debug.log программы с подробным описанием симптомов откидывания коньков?
Трудно ли сделать так, чтобы программа загружала миссии через mod.ini?
Что такое mod.ini? Где его можно найти и для чего он используется?
А то сейчас приходиться вырубать всех и оценивать, что под руку попадётся.
Не понимаю, о чём ты.
И совсем шикарно было бы сделать поисковик текстур в самой миссии.
Искать расположение указанной текстуры в миссии? Или факт использования текстуры в миссии?
-
надо в описании исправить, что Легаси будет нормально работать только с OpenGL 3-й версии, а не второй, а тем более первой.
:lol: Неправильно рассуждаешь. Легаси создан как раз для работы с версией 2.1 и должен работать на видеокартах, которые не поддерживают огл 3. Если легаси работает некорректно с 2.1 - это надо чинить, а не исправлять описание :). Потому что основная версия работает как раз на огл 3.
Как я понял, в последней версии проблем с легаси ты не обнаружил. Это так?
-
Да в последней легаси всё нормально, но только на видюхе с OpenGL 3
А в видюхе на 2.1 вышеописанные глюки. И она была моей основной. Теперь прикупил на OpenGL 3
А лог как на почту в аватаре скинуть?
-
Silentor
Ясно, значит будем искать и фиксить. Для легаси тоже понадобится лог после зависания и вылета.
Высылай их на toforce@ya.ru
-
А то сейчас приходиться вырубать всех и оценивать, что под руку попадётся.
Не понимаю, о чём ты.
В смысле игру запускаешь, мочишь стражников и разглядываешь спокойно текстуры :devil:
тьфу cam_mod.ini канечно! Чтоб миссии через нужные пути показывались.
Искать расположение указанной текстуры в миссии?
Да
-
Сейчас всё довольно просто и предсказуемо, поэтому и выбран вариант автомасштаба по умолчанию.
Мелкие текстуры, растянутые на весь экран вьювера, выглядят слишком жутко.
Тогда уж можно сделать кнопку (на клавиатуре) для масштаба 1:1, чтоб колёсиком не угадывать истинный размер. Нажимаешь опять - впихивается обратно.
Да, кнопка I в актуальной легаси показывает инфу со второго нажатия. Потом нормально.
-
А можно как-то размер окна увеличить? На 2160 1/9 экрана :\
-
Zontik, почему твой Патриот развалился? :cheesy:
(https://sun9-57.userapi.com/impg/y9lfbGSS3Ud5jntRzd5vSfwWgxMrepntcCY8_g/bncuSiWok1A.jpg?size=1282x747&quality=95&sign=988c4efa07bf24fab7bc47c55d7cc279)
-
Ты!!! Террорист!!! Не мог подождать пару миссий? Не было тут задания все взрывать!
Если серьезно - единственное, что приходит в голову: у многих объектов на этой улице физические размеры сильно не соответствовали игровым, а у некоторых, возможно, даже оси были переставлены. Валяющиеся заборы наводят на мысль, что, возможно, не стоило делать толщину высотой. Кроме того, было добавлено множество неотрендеренных объектов (но тем не менее с живой физикой). Не исключено, что это тоже поспособствовало.
Но вот почему даже дерево наклонено под таким странным углом - мне не очень понятно, с ним вроде ничего экстремального не делалось.
Меня еще очень удивила валяющаяся колонна. По-моему, я их не делал объектами. Или она на самом деле там лежала?
-
Всем привет!
Force, спасибо за замечательную программу!
У меня такой вопрос-пожелание. Можно ли реализовать режим просмотра карты в параллельной проекции с разрезом в любой плоскости? Мне бы очень хотелось иметь возможность просматривать поэтажные планы и вертикальные разрезы зданий.
-
Ollibony
Привет, спасибо!
Очень любопытное пожелание. :) Можно попробовать, правда, если планируется делать срезы целых зданий, придется как-то отдельно управлять плоскостью отсечения... Ну, кстати, можно скроллом, наверное. Сразу скажу, в ближайший релиз этот функционал не попадет, ибо релиз уже почти готов и будет со дня на день, а когда ждать следующего - неизвестно. Но в "вишлист" я эту функциональность внёс ;).
-
Force
Рад, что находишь пожелание любопытным :)
Насчёт управления, я вообще изначально думал, для простоты, привязать плоскость среза к камере. То есть, срез можно осуществлять в плоскости, перпендикулярной направлению камеры, а направлением камеры управлять, как и сейчас, при помощи мыши. Дополнительно нужно будет управлять перемещением плоскости среза вперёд-назад, можно задействовать для этого клавиши, которые сейчас используются для перемещения камеры вперёд-назад (W/S).
Размышляя над этим дальше, я понял, что не всё так просто. Нужно ещё управлять масштабом отображения, для этого удобно было бы использовать колесо мыши. И нужно перемещать камеру вдоль плоскости среза (насколько понятие "камеры" вообще применимо к параллельной проекции. Может быть, корректнее назвать это "скроллингом"). Для этого было бы удобно использовать мышь или клавиши со стрелками. Управление же ориентацией камеры (и привязанной к ней плоскости среза) можно упростить: сделать два режима - вертикальный срез и горизонтальный - и возможность управления направлением в режиме вертикального среза (например, клавишами A и D).
Подумав ещё немного, я осознал, что будут проблемы с отображением стен. Допустим, нужно отобразить план этажа, для этого делаем горизонтальный срез этажа на какой-то высоте над уровнем пола. Но стены у нас внутри фактически пустые, значит, сквозь них будет просвечивать то, что находится ниже. Хорошо выглядеть это будет только в случае "капитальных" стен, которые идут до самой земли. Значит, нужно как-то ограничить глубину отображаемого пространства, и это будет ещё один орган управления...
Как-то так :)
-
Но стены у нас внутри фактически пустые
Это еще почему? Стены вполне себе твердые, и при горизонтальном срезе между ними будет виден пол соответствующего этажа. Как изображать сам срез твердого тела? Мне кажется, текстура по умолчанию будет вполне логичным вариантом.
Сложности будут только при разрезании объектов, вот они - да, внутри пустые, да и сама оболочка нулевой толщины. Но базовую архитектуру вообще на DE принято строить иначе.
-
Стены вполне себе твердые, и при горизонтальном срезе между ними будет виден пол соответствующего этажа. Как изображать сам срез твердого тела? Мне кажется, текстура по умолчанию будет вполне логичным вариантом.
Я не специалист в данном вопросе, и вам, конечно, виднее. Я исхожу из наблюдений, как это работает сейчас в текущей версии вьювера. Вот я установил камеру в стене. В итоге стены не видно, и пола в этом месте тоже не видно, а видны нижние этажи.
У меня сложилось впечатление, что твёрдых тел как таковых в движке не существует, а есть только поверхности, причём односторонние.
Изображение: https://disk.yandex.ru/i/EPQmoqLb1HAvkw
-
Такую идею нормально не реализовать. Все уровни построены абы как, они совершенно не рассчитаны, чтобы видеть то, что не должно быть увидено.
-
Скрин вообще немного странноватый. Между комнатами видна брусчатка, да еще почему-то с тенями. Ощущение - будто это два разных дома, но куда подевались их внешние стены?
Думаю, это просто издержки отображения. На самом деле брусчатка внизу, может, и есть (смотря как автор построил), но уж точно на ней не должно быть теней. Не может быть движок настолько плохо оптимизирован, чтобы просчитывать тени и под зданиями в том числе.
Вообще положение "камера в стене" для оригинального движка - это не штатный режим, поэтому может показывать все что угодно. В редакторе, например, в игровом режиме он перестает понимать, какие поверхности показывать, а какие нет, и показывает сразу все, а в 3D-окошке переходит на рамочное отображение. В игре такого случаться не должно (хотя и происходит изредка), там тоже мало красивого.
Не знаю, можно ли здесь вообще говорить о какой-то системе, но ясно одно: камера для нормального просмотра должна все-таки находиться в воздухе.
Вопрос к автору просмотрщика: а можно ли сделать так, чтобы при попадании камеры в твердое тело изображение вообще отсутствовало? Или так делать не стоит?
-
Ollibony
У меня сложилось впечатление, что твёрдых тел как таковых в движке не существует, а есть только поверхности, причём односторонние.
Сейчас геометрия уровня рисуется с расчетом на то, что её будут рассматривать изнутри самого уровня и в целях оптимизации обратные стороны полигонов не рисуются, то есть они как бы "прозрачные". Если закрасить их черным, то вылетев за уровень, мы перестанем его различать на черном фоне. Мне кажется, можно поэкспериментировать с плоскостями отсечения. Если всё выставить правильно и получится достичь ожидаемых результатов, с той лишь разницей, что проекция будет не перспективная, а параллельная. Например, выставив дальнюю плоскость отсечения под полом, а ближнюю под потолком, мы увидим проекцию всех предметов на этаж, включая шкафы, столы и люстры. Сложности возникнут, как и писал Soul_Tear, из-за того, что поверхности могут быть расположены на разной высоте и тогда получится каша. Впрочем, если очень хочется заморочиться - можно будет наделать скришнотов в разных сечениях, а потом склеить их в пэинте. ;)
Zontik
а можно ли сделать так, чтобы при попадании камеры в твердое тело изображение вообще отсутствовало? Или так делать не стоит?
Для описываемой ситуации камера может находиться исключительно за пределами уровня. И да, можно сделать по-всякому, но стоит ли?
-
Для описываемой ситуации камера может находиться исключительно за пределами уровня.
Почему? Разве внутри стены в пределах уровня - это не то же самое?
Я и в самом деле совершенно не уверен, что это хорошее решение (закраска черным всего поля зрения), но лучшее пока что в голову не приходит. Все, что мы видели до этого - примерно одинаково плохо, за исключением "рамочного вида" в 3D-окошке: там и сигнал есть, что не все благополучно, и ориентация при этом не теряется напрочь.
А впрочем, какой визуальной логики можно ожидать от типичного noclip?
-
Zontik
Почему? Разве внутри стены в пределах уровня - это не то же самое?
Я про съемку планов.
какой визуальной логики можно ожидать от типичного noclip?
Такой, какая есть сейчас - рисовать всё что видишь. Правила не меняются, поэтому мозгу легче понять смысл происходящего. Лично мне очень неудобен подход в DromEd'е: стоит влететь в стену - у тебя черный экран. Там понятно почему так сделано - из-за алгоритмов определения видимых поверхностей, если мы вышли за пределы любых порталов - ничего не видим. Но тут подход другой, поэтому, можно воспользоваться его преимуществами.
-
Решил сделать тестирование открытым. Вот новая версия просмотрщика, свежак! :aaa:
http://forcesw.com/DarkEngineViewer_068_RC2.zip
Описание изменений добавлю чуть позже. А пока вы можете сами потыкать, поизучать, поделиться впечатлениями.
Обо всех найденный проблемах и пожеланиях можете писать прямо сюда, или мне на почту.
UPD:
Исправил ссылку
-
Скрин вообще немного странноватый. Между комнатами видна брусчатка, да еще почему-то с тенями. Ощущение - будто это два разных дома, но куда подевались их внешние стены?
Думаю, это просто издержки отображения. На самом деле брусчатка внизу, может, и есть (смотря как автор построил), но уж точно на ней не должно быть теней. Не может быть движок настолько плохо оптимизирован, чтобы просчитывать тени и под зданиями в том числе.
Да нет, ничего странного здесь нет, просто ракурс непривычный :) Вот я сделал скриншот того же места, но немного поменял наклон камеры:
https://disk.yandex.ru/i/UR4b7QH8KKFvpw
Брусчатка, которую мы видим, находится не под стеной, и не под зданием, это брусчатка пола нижнего этажа. Непосредственно под стеной ничего нет, чёрный провал.
Сложности возникнут, как и писал Soul_Tear, из-за того, что поверхности могут быть расположены на разной высоте и тогда получится каша. Впрочем, если очень хочется заморочиться - можно будет наделать скришнотов в разных сечениях, а потом склеить их в пэинте. ;)
С этим абсолютно согласен :)
-
Накидал краткий список изменений :biggrin:.
- Добавлена поддержка физической симуляции на основе движка Bullet Physics. Добавлен режим перемещения по уровню, прыжки, бег, открывание дверей, взаимодействие с простыми (бочки, ящики, посуда и т.п.) и анимированными объектами (кнопки, сундуки, переключатели и т.п.). Все объекты получают свои физические свойства из файлов геймсиса и миссии (трение, прыгучесть, неподвижность и пр.). Нулевые значения заменяются некоторыми дефолтными величинами (чтобы объекты не скользили как по льду). Все персонажи снабжаются приблизительным антропоморфным рэг-доллом (да, даже буррики ;) ), теперь их можно весело сбрасывать откуда-нибудь :D. Пока не учитываются связи объектов, поэтому активировать можно только те объекты, которые подсвечиваются. Брать предметы пока нельзя. Работы ещё ведутся и многие аспекты будут улучшаться. Впрочем, кому не нужен этот функционал, могут отключить вывод кнопки запуска симуляции в настройках.
- Доработана система обновления информации об объектах миссии (тени будут обновляться при перемещении объектов, объекты перемещаются между ячейками миссии и рисуются только если ячейка видна).
- Отрефакторена система вывода отладочной информации. Нужна она в основном только при разработке, поэтому системы управления ей пока нет. Сейчас она выводит ячейки миссии и объемы источников света, в которых находится камера. Включается/отключается клавишей G.
- Кстати, не забывайте об экране помощи F1, там можно посмотреть все необходимые клавиши управления ;).
- Для полноэкранного режима теперь можно задать своё разрешение в конфиге.
- Многочисленные оптимизации, направленные на ускорение отрисовки и загрузки ресурсов
- Доработан плеер анимаций, теперь его можно включить для объектов с внутренними анимациями при наличии. Все анимации можно воспроизвести по отдельности или одновременно.
- Доработано освещение в миссиях. Оно теперь больше похоже на оное из Dark Engine, только динамическое ;). Многие параметры источников света, включая их радиусы, можно настраивать через конфиг. Добавлены как реалистичные "мягкие тени", так и тени с постоянным коэффициентом смягчения. По умолчанию используется режим "constant", можно регулировать степень смягчения, получив освещение, сходное с Dark Engine. Либо отключить опцию UseConstantPenumbra и посмотреть на чуть более физически корректный результат, но, к сожалению, в этом режиме возможны артефакты. В целом, картинка стала приятнее.
- Добавлено аппаратное отсечение перекрываемой геометрии. При возникновении проблем, эту функцию можно отключить в конфиге.
- Добавлена возможность снимать скриншоты клавишей F10.
- Теперь в конфиге сохраняется путь к последнему открытому файлу. При следующем запуске программы, откроется этот файл. Если такое поведение не желательно - это так же можно отключить в настройках.
- Настройки конфига будут сброшены в значения по умолчанию при смене версии программы (при её последующих обновлениях, во избежание конфликта настроек).
- Это последний выпуск актуальной legacy-версии. В дальнейшем она больше поддерживаться не будет по причине отсутствия пользователей и сложности поддержки её функционала.
- Исправлены многочисленные недочеты, ошибки и баги. Куда ж без этого :)?
Рекомендуется к запуску x64-версия программы. Данная версия - кандидат в релиз. Если ошибок обнаружено не будет - пойдёт в релиз.
Просьба сообщать обо всех найденных проблемах сюда или на почту. Делитесь предложениями и скриншотами ;)!
-
Впечатляющий список.
-
Впечатляющий список.
Да, за год много изменений набежало, пришлось подсократить :biggrin:.
-
Мои такие впечатления от новой версии:
:) Тени стали выглядеть в целом лучше (в режиме мягких теней), но при приближении видна какая-то странная зернистость.
:) Включение опции SSAO стало улучшать картинку. В предыдущей версии при её включении отображался какой-то мусор.
:( Рендеринг стал работать ощутимо медленнее. В режиме симуляции частота кадров местами проседает до 1 fps. В режиме Free Camera получше, но всё равно медленнее, чем было.
Ну, машинка у меня не самая шустрая, конечно: Intel Core i3-6100U со встроенной графикой.
-
Отлично! Первый публичный отзыв о новой версии! :yay:
Ollibony, прими мою искреннюю благодарность и поздравления!
Тени стали выглядеть в целом лучше (в режиме мягких теней), но при приближении видна какая-то странная зернистость.
Зернистость можно уменьшить, увеличив параметр SoftShadowsSamplesCount до, например, 20. Но вместе с этим возрастут и тормоза, особенно это станет заметно как раз на встроенных видеокартах. Поэтому подбирать значение придется индивидуально.
Включение опции SSAO стало улучшать картинку. В предыдущей версии при её включении отображался какой-то мусор.
Да, это особенность интеловских встроек, пофиксил случайно совсем недавно :up:.
Рендеринг стал работать ощутимо медленнее. В режиме симуляции частота кадров местами проседает до 1 fps. В режиме Free Camera получше, но всё равно медленнее, чем было.
Да, в симуляции, особенно вначале, когда куча объектов двигается одновременно, это вынуждает многие тени видимых источников света перестраиваться. Отсюда кратное торможение. Как быстрый "хак-костыль" могу посоветовать отключать тени или освещение перед первоначальным включением симуляции на миссии, и включать только когда "всё уляжется" :). К сожалению на медленных видеокартах в текущей версии решения будут не красивыми - это либо отключать мягкость теней, либо уменьшать количество сэмплов, хотя, ты и так жаловался, что их мало. Есть ещё один вариант - уменьшить радиусы источников света параметром LightRadiusCoefficient. Он изменяется от 0 до 1. При 0 источники становятся куцыми, как в Thief 3, но зато меньше пересечений с объектами, меньше перестроек теней => меньше тормозов. В следующем релизе (не знаю, как скоро он состоится) планируется замена этого устаревшего рендерера на новый, суперскоростной, основанный на стриминге. Там планируется вообще одна сплошная крутизна и по скорости, и по качеству картинки, и по объемам занимаемой памяти :). Так что ждём ;).
-
Добавил параметр UseConstantPenumbra, включенный по умолчанию, и коэффициент для него - ConstantPenumbraCoefficient. Делает тени мягкими по всей длине с одинаковой степенью размытия. Да, это нереалистично, но как результат - меньше шумов и специфических артефактов, да и в большинстве игровых проектов до-rtx-эпохи именно так и размывали тени.
Если параметр UseConstantPenumbra отключить, можно вернуться к прежнему режиму. Пишите, какой вариант вам больше нравится.
Билд можно скачать заново по прежней ссылке:
http://forcesw.com/DarkEngineViewer_068_RC2.zip
-
Немного переиграл. Алгоритм размытия теней в зависимости от расстояния теперь выдает чуть меньше артефактов, он сейчас возвращен по умолчанию.
Новая версия доступна по прежней ссылке:
http://forcesw.com/DarkEngineViewer_068_RC2.zip
-
С настройками по-умолчанию тени выглядят в целом адекватнее, но в некоторых местах довольно странно, например, на этой лестнице:
https://disk.yandex.ru/i/pWt8x3fk1LihVw
Чтобы сгладить этот эффект, пришлось задать такие настройки:
UseConstantPenumbra 1
ConstantPenumbraCoefficient 0.7
После этого лестница стала выглядеть так:
https://disk.yandex.ru/i/7RKCryPrdNvORQ
Однако, это ухудшило другие тени. Например, вот здесь тень от стола превратилась во что-то бесформенное:
https://disk.yandex.ru/i/tmxnFXqkminX6w
Для сравнения, с настройками по-умолчанию эта тень выглядит так:
https://disk.yandex.ru/i/i2vfsvLdymtw2g
-
Ollibony
Да, к сожалению, на данном этапе это неустранимая проблема. Идеи есть, но и их реализация довольно трудоемка и сам метод сильно ресурсо-затратный. Поэкспериментирую, но в ближайшие ревизии вряд ли это попадет. Могу сказать что увеличение разрешения может частично решить проблему пикселизации, но возрастает риск падений программы из-за нехватки видеопамяти. Проблему высветления тени в тех местах, где этого быть не должно увеличение разрешения не исправит.
В ближайшие релизы планирую чуть ускорить обработку мягкости теней.
Спасибо за отзывы!
-
Ollibony
А, слушай! Кажется я ещё немного улучшил их и теперь они выглядят не так вырвиглазно! :up: Тени становятся прям прекрасны безо всякого RTX и работают на встройках интела! :biggrin:
Улучшенная версия доступна по прежней ссылке:
http://forcesw.com/DarkEngineViewer_068_RC2.zip
Можешь еще увеличить разрешение теней, чтобы убавить пиксельность. Напомню, что ещё пиксельность теней можно уменьшить, сократив их радиусы коэффициентом LightRadiusCoefficient например 0.75. Радиус уменьшается, следовательно на площадь шэдоумапы приходится меньше пространства уровня.
-
Force
Это просто лайв-кодинг какой-то ;D
Да, стало чуть получше, спасибо!
Ещё лучше картинка становится с такими значениями:
ShadowResolution 1024
SoftShadowsSamplesCount 48
Но производительность падает, конечно, существенно.
Уменьшение LightRadiusCoefficient тоже помогает, но становится как-то скучно :)
-
Сделал, пожалуй, заключительное улучшение теней - добавил "ранний выход" при их сглаживании. Регулируется настройкой SoftShadowsEarlyOutSamplesCount. По умолчанию стоит значение 8, можно поставить и меньше, но тогда на полутенях лезет шум. Поэтому рекомендую оставить как есть или увеличить, если где-то шумов с этой настройкой слишком много (кстати, сообщите, если где-то увидите такое место). Для отключения нужно выставить 0, тогда будут обработаны все сэмплы из настройки SoftShadowsSamplesCount. Теперь можно увеличить большее количество сэмплов для полутеней (что и было сделано, по умолчанию теперь 16, а не 12 или даже 6 в первой версии RC2).
Так же отрефакторил шейдер и потвикал всякие параметры для улучшения соотношения производительности к качеству картинки.
Улучшенная версия доступна по прежней ссылке:
http://forcesw.com/DarkEngineViewer_068_RC2.zip
-
Force
Это просто лайв-кодинг какой-то ;D
Да, стало чуть получше, спасибо!
Ещё лучше картинка становится с такими значениями:
ShadowResolution 1024
SoftShadowsSamplesCount 48
Но производительность падает, конечно, существенно.
Уменьшение LightRadiusCoefficient тоже помогает, но становится как-то скучно :)
Да ваще! Я сам с диком восторге, какой классный результат получился! Считаю это своим небольшим шедевром :biggrin:, созданным не без твоей и vorob'а помощи (он тоже активно участвовал в тестировании). :agree:
Кстати, интересно будет узнать, насколько помог "ранний выход" твоему компу. Стало лучше?
-
Исправлено появление артефактов возникавшее при "раннем выходе" в алгоритме смягчения теней.
Улучшенная версия доступна по прежней ссылке:
http://forcesw.com/DarkEngineViewer_068_RC2.zip
-
"Ранний выход", что бы это ни значило, действительно улучшает производительность.
В то же время, если взять настройки по-умолчанию, артефакты на лестнице снова выглядят примерно как в одной из прошлых версий:
https://disk.yandex.ru/i/UHTkP4Tooi2SQQ
В предыдущей версии, которую я тестировал, они выглядели так: https://disk.yandex.ru/i/HKTCRMLX9kpm2Q
- тоже не очень, но хоть не такие резкие зазубрины.
Но если в текущей версии выставить такие настройки:
ShadowResolution 1024
SoftShadowsSamplesCount 48
SoftShadowsEarlyOutSamplesCount 8
то выглядит достаточно приемлемо: https://disk.yandex.ru/i/X-PrEPLE-n7ELA
- лучше, чем с аналогичными настройками в предыдущей версии (без "раннего выхода") и при этом заметно меньше тормозит :up:
-
Ollibony
Да, это был сложный выбор из двух зол. "Прямой обход" от меньшего радиуса к большему, который был использован в первых версиях для смягчения теней, дает более качественный, красивый результат, но плохо подходит для "раннего выхода", поскольку маленькие радиусы выборок менее репрезентативны. Поэтому я решил делать обход в обратную сторону - от большего радиуса к меньшему, тогда наиболее репрезентативные выборки будут проверены первыми и дадут более корректный результат при "раннем выходе". Проблемы возникают, как ты правильно заметил, в основном только на низких разрешениях шэдоумэпов, когда надо скрыть их пиксельность, тут алгоритм не так хорош, как прямой. Но, в расчете на будущее, это будет не так актуально, поскольку стриминг позволит использовать шэдоумэпы более высокого разрешения. В идеале, конечно, для любителей максимально возможного качества, можно при отключении early out использовать "прямой обход", от меньшего к большему, но разница на финальном изображении настолько слабо заметна, что её надо специально выискивать на скриншотах, да и к тому же тормозов заметно прибавляется, так что такой вариант нужен, разве что, для скриншотов.
-
Хе-хе, я не смог устоять и всё-таки сделал идеальный вариант теней, вобравший в себя всё самое лучшее от всех остальных вариантов и выдающий наилучший результат (в зависимости от настроек, конечно же). Даже при минимальном разрешении теневых карт, картинка просто потрясающая! :yay: :up:
Согласитесь, они прекрасны!
(https://darkfate.org/view/details/files/projects/deviewer/screenshots/shadows_presentation_068.jpg)
(https://darkfate.org/view/details/files/projects/deviewer/screenshots/shadows_presentation_light_068.jpg)
Улучшенная версия доступна по прежней ссылке:
http://forcesw.com/DarkEngineViewer_068_RC2.zip
-
А что это дает? Посмотреть, как выглядит Вор с круглыми тенями? Или в твоей проге можно полноценно играть?
-
Soul_Tear
Или в твоей проге можно полноценно играть?
Пока не очень полноценно, но уже можно :biggrin:. К этому все и идёт, и именно ради этого и затевалось.
-
- Значительно увеличена скорость расчета физики в 32-битной версии приложения.
- Добавлена возможность изменения размеров окна.
- Коэффициент ConstantPenumbraCoefficient заменен на LightSize, и теперь отвечает за степень рассеяния света во всех режимах смягчения теней.
Обновленная версия доступна по прежней ссылке: DarkEngineViewer_068_RC2.zip (http://forcesw.com/DarkEngineViewer_068_RC2.zip)
-
Это просто праздник какой-то! ;D
За тенями уже не слежу, честно говоря, но за возможность изменения размеров окна спасибо! :up: Развернул на 1920x1200 и понял, что динамическое освещение - не для моего слабого оборудования...
-
Ollibony
Ну, в полноэкранный режим можно было переключаться и до этого. Будем надеяться, после перехода на новый рендерер твоя видюха сможет тянуть картинку на полный экран ;). Сейчас освещение - действительно узкое место.
А тени в очередной раз стали чуточку краше и правильнее. :) На этот раз, благодаря замечаниям Chuzhoi.
-
Про полноэкранный режим знаю, но мне это не удобно. Я же не в игру играю )
-
Всем привет, прошу прощения, если такие вопросы уже задавали.
Решил воспользоваться вашей программой, чтобы поделать скриншоты. Проблема такая: уровни выглядят не так, как они должны выглядеть, не прогружаются текстуры. Как исправить данную проблему?
https://imgur.com/a/jRGZRnn
Иногда, когда делаю скриншот, в результате получается тупо чёрный экран.
А ещё скриншоты делаются в размерах 1600x900 или 1280x720, хотя я сделал полноэкранный режим. У меня монитор 1920x1080.
Dark Viewer лежит у меня в папке с фан миссиями, загружаю сам файл миссии с расширением mis.
-
Nightfall
Привет!
Посмотрел скриншоты, по поводу первой пары скажу так: Dark Engine Viewer постоянно развивается сразу по ряду направлений, что сказывается на скорости добавления новых фич. В данном конкретном случае разница в скриншотах связана в отсутствии некоторых графических фич - направленное освещение (здесь - свет луны), полупрозрачность материалов (в данном случае - стелящийся туман), составной скайбокс с движущимися облаками (его часто при просмотре FM просто нет, поскольку авторы не предусмотрели вариант включения Low Quality Sky в настройках игры), ну и сглаживание сюда же можно добавить. Все эти вещи, разумеется, в планах уже на ближайший релиз (не путать с релиз кандидатом, который мы тестируем сейчас, у тебя же последняя версия (http://forcesw.com/DarkEngineViewer_068_RC2.zip)?). Правда, когда именно этот релиз будет - пока неизвестно. На ближайшие несколько месяцев придется смириться, что не всегда просмотрщик может передать всю красоту миссии, заложенную авторами, но он постепенно подбирается к этому состоянию :). Мне кажется, что иногда он умеет показывать даже более красивую картинку, чем мы видим в игре.
По поводу второго скриншота, когда не нашлась текстура "лучей" света - это странно. Можно тебя попросить запустить миссию, закрыть программу и прислать файл debug.log из ее каталога? Не скажу что, когда она появится и будет непрозрачной, станет намного лучше, но по крайней мере мы можем попытаться выяснить причину, почему она не нашлась.
-
Посмотрел скриншоты, по поводу первой пары скажу так: Dark Engine Viewer постоянно развивается сразу по ряду направлений, что сказывается на скорости добавления новых фич. В данном конкретном случае разница в скриншотах связана в отсутствии некоторых графических фич - направленное освещение (здесь - свет луны), полупрозрачность материалов (в данном случае - стелящийся туман), составной скайбокс с движущимися облаками (его часто при просмотре FM просто нет, поскольку авторы не предусмотрели вариант включения Low Quality Sky в настройках игры), ну и сглаживание сюда же можно добавить.
Вон оно что! Я-то думал, что это я что-то не так сделал.
(не путать с релиз кандидатом, который мы тестируем сейчас, у тебя же последняя версия (http://forcesw.com/DarkEngineViewer_068_RC2.zip)?).
Нет, пользовался я версией 0.5.9. На новой выглядит так (https://i.imgur.com/w0RrIbE.jpg).
По поводу второго скриншота, когда не нашлась текстура "лучей" света - это странно. Можно тебя попросить запустить миссию, закрыть программу и прислать файл debug.log из ее каталога? Не скажу что, когда она появится и будет непрозрачной, станет намного лучше, но по крайней мере мы можем попытаться выяснить причину, почему она не нашлась.
Ссылка (https://disk.yandex.ru/d/0m4lyZ9KupDjPw) на debug.
-
Nightfall
Нет, пользовался я версией 0.5.9. На новой выглядит так.
Да, сейчас выглядит ожидаемо. Хоть и не до конца корректно.
Спасибо за тест и отзыв! В ближайшее время релиз кандидат станет релизом.
Кстати, скриншоты теперь можно делать клавишей F10, они складываются в подкаталог screens в папке программы.
-
Хорошо, будем ждать! :)
А может есть какие-то другие способы сделать в игре свободную камеру? Я пробовал DromEd, но там у меня тоже уровни некорректно прогружаются. Но видел, как один автор миссии явно делал скриншоты со свободной камерой.
-
Nightfall
В DromEd есть режим полёта SHIFT+Q, приземлиться - P. Но да, с некорректным отображением ресурсов - есть такая проблема.
-
- Это последний выпуск актуальной legacy-версии. В дальнейшем она больше поддерживаться не будет по причине отсутствия пользователей и сложности поддержки её функционала.
Нет, один пользователь у тебя есть :yes:
И я очень благодарен тебе за эту программу. Она реально помогла мне в подборе нужных биновских файлов (тем более, что в улучшенных моделях порой ссылаются на другие названия).
Но я не настаиваю на дальнейшей поддержке, раз это отнимает дополнительные силы.
Отчитаюсь по работе на древней диназавровой хрюшке:
- режим симуляции работает. Только стражники корчатся, как будто ты их ядом отравил.
- анимация появилась. Но срабатывает не у всех (цветочек-шпион крутится, прикольно)
Ну это ладно. А вот хочется спросить, есть ли возможность подключать свои паки, чтоб глянуть как с другими текстурами всё будет выглядеть? А то сейчас приходиться по факту в самой игре выискивать.
Ну, сам поиск текстуры внутри миссии наверно сложно будет реализовать, а вот сделать отдельный экзешник, заточенный на файл cam_mod.ini, как тебе такое Илон Маск?
-
Silentor
Обожди, а ты уверен, что ты запускаешь legacy-версию? Потому что ты сказал, что стражники корчатся, а "корчатся" они только при наличии скелета, а в легаси-версии скелета быть не может, там чуваки падают с растопыренными руками как статуи, и это совсем не похоже на корчение... :confused: x86 версию я планирую поддерживать и она работает на XP SP3, а legacy - это та, что без теней и скелетных анимаций.
Нет, один пользователь у тебя есть :yes:
:agree: Спасибо, но я имел в виду пользователей legacy-версии. Раньше был один Зонтик, но он проапгрейдился (СЛАВА БОГУ!!!!), ещё был какой-то странный чувак с ttlg, отказавшийся ставить нормальные дрова на видеокарту, но он, вроде, так пользователем и не стал. А раз никто не пишет именно про legacy-версию, я буду считать, что она никому и не нужна больше. Вместе с её отстрелом, отстрелится и нынешний тормозной рендер, вместо него будет новый, быстрый, манёвренный... Впрочем, я об этом уже писал.
Только стражники корчатся, как будто ты их ядом отравил.
Да, это пока черновой вариант, но знал бы ты, чего он стоил! Через что пришлось пройти, чтобы это всё заработало... :o
- анимация появилась. Но срабатывает не у всех
А можно поподробнее? Что значить не у всех? Что именно не срабатывает? Какая именно анимация?
есть ли возможность подключать свои паки, чтоб глянуть как с другими текстурами всё будет выглядеть?
Ээээ, ну да, если ты смотришь ресурсы внутри каталога с игрой, то там определяется darkinst.cfg/install.cfg-файл и приоритет получения ресурсов берется из этих конфигураций, то есть, ты можешь прописать там нужные каталоги, либо же просто положить нужные каталоги в поддиректорию к моделям (как будто у тебя фмка) и тогда нужные файлы будут браться сначала из твоей директории, и только потом полезут уровнем выше, в ресурсы самой игры.
Ну, сам поиск текстуры внутри миссии наверно сложно будет реализовать
Технически - не сложно, сложно скорее это сделать с точки зрения UI/UX. Возни много будет, чтобы этим удобно было пользоваться. А причем тут cam_mod.ini?
-
Force
Обожди, а ты уверен, что ты запускаешь legacy-версию?
А, ну да, это я попутал. В легаси они похожи на надувные куклы, если их пнуть.
Сейчас, кстати, легко с файла miss уходить на другие папки.
Нет, один пользователь у тебя есть :yes:
:agree: Спасибо, но я имел в виду пользователей legacy-версии.
Так вот я на 20-даркфэйт-легаси и сижу, другие не справлялись (точнее мой комп с ними). :embarassed:
Ну ещё раз говорю, забей, раз таких усилий стоит. Мне в первую очередь девьювер нужен, чтоб модельки подобрать.
Что именно не срабатывает? Какая именно анимация?
Из папки Obj первого Вора: 2wcandle.bin, button, buttonnw, canrot, canrot2, clock, dougtest, dpump, elevpan, loco, noisearr, rot, roulett2, rwheel, turb2,wcan ...упс пока я пробегался по списку прога стала глючить. Отправил на почту несколько дебагов.
Ну, сам поиск текстуры внутри миссии наверно сложно будет реализовать
Технически - не сложно, сложно скорее это сделать с точки зрения UI/UX. Возни много будет, чтобы этим удобно было пользоваться.
Не знаю, что это UI/UX. Если визуальное представление, то да. Куда вводить название, как эту текстуру подсвечивать, чтоб ты теперь её в самой миссии узрел?
А причем тут cam_mod.ini?
Так я имел ввиду, чтоб при запуске миссии не оригинальные текстуры были видны, а подключались какие тебе хочется, как в самой игре. А так да, когда надо я бины закидываю в Usermods, чтоб они подхватили нужную одёжку.
-
Silentor
Так вот я на 20-даркфэйт-легаси и сижу, другие не справлялись (точнее мой комп с ними).
Так можно отключить мягкие тени (J) или тени совсем (H), картинка с освещением хоть и без теней всё равно будет приятнее чем совсем без освещения, как в легаси. Можно отрубить отдельно SSAO (K). На крайняк, всё освещение целиком тоже можно отрубить (L), но обычно даже самые слабые компы могут рисовать попиксельное освещение без проблем. Но вообще, с момента "Dark Fate 20"-версии были проведены серьезные оптимизации существующего рендерера, поэтому ему должно было сильно полегчать. Причем, я сейчас работаю над оптимизацией отрисовки теней, поэтому и у неё планируется серьезный прирост производительности. Так что с твоей стороны, использование легаси не оправдано. То есть, с её исчезновением ты не теряешь возможность использовать программу.
Из папки Obj первого Вора: 2wcandle.bin, button, buttonnw, canrot, canrot2, clock, dougtest, dpump, elevpan, loco, noisearr, rot, roulett2, rwheel, turb2,wcan ...упс пока я пробегался по списку прога стала глючить. Отправил на почту несколько дебагов.
Да, спасибо, я получил твои файлы, поизучаю, посмотрим, что можно сделать...
Куда вводить название, как эту текстуру подсвечивать, чтоб ты теперь её в самой миссии узрел?
Да, я именно об этом. Сдается мне, это уже функционал скорее редактора, нежели просмотрщика...
Так я имел ввиду, чтоб при запуске миссии не оригинальные текстуры были видны, а подключались какие тебе хочется, как в самой игре. А так да, когда надо я бины закидываю в Usermods, чтоб они подхватили нужную одёжку.
Надо поизучать, как работает этот cam_mod.ini, может быть сделаю поддержку...
-
Пока выложу это здесь: http://forcesw.com/DarkEngineViewer_069_RC.zip - очередной релиз кандидат.
Идет борьба за приемлемую скорость в режиме симуляции. Работы ещё ведутся.
Добавился функционал сохранения положения камеры для её последующего восстановления клавишами M и R.
Добавился диалог подтверждения выхода из программы, который, впрочем, можно отключить в настройках опцией AskQuitConfirmation.
Алгоритм построения мягких теней теперь использует "маски", это дало почти двукратный прирост скорости и убрало артефакты, возникающие из-за "раннего выхода", правда артефакты всё ещё возможны, но несколько иного характера.
Исправлена загрузка карт нормалей и высот для несжатых текстур, теперь можно легко подсовывать любые текстуры с нормалями и высотами в игру и смотреть на крутой объем! :aaa:
Для слабых видюх (типа интел или офисных) добавлена опция расчета освещения в половинном (четвертичном) разрешении UseQuarterShadowQuality.
В режиме симуляции теперь физика по умолчанию отключена и включается только при касании объекта. Это временная мера, планируется активировать физику только вблизи камеры.
Переработаны рэгдоллы персонажей, теперь их меньше колбасит без внешнего воздействия, правда кости их стоп пока могут застревать в полу, из-за того, что при инициализации находятся ниже модели (в полу).
Куча других, менее значимых исправлений.
-
Я тут тестирую всякое... В частности, задал браш в ДромЕде максимального размера и измерил, за сколько игрок пробегает от одной стороны до другой, синхронизировал скорость перемещения в режиме симуляции просмотрщика до идеального совпадения с Dark Engine.
Для информации, получившийся браш пробегается за 3 минуты и 10 секунд. Учитывая специфические единицы измерения размеров в игре, размер этого браша составляет около 600 метров, а Гаррет пробегает его со скоростью примерно 10 км/час, что, в принципе, соответствует скорости марафонского бега.
-
Ну он вроде в спринтеры и не записывался.
Имеется в виду ведь обычный бег, без читерства?
Правда, небольшое несоответствие вроде все-таки есть. Обычный шаг ну явно не вдвое медленнее бега (а если проверить?), но по внешним признакам - если сравнивать с реальностью - он едва-едва тянет на 5 км/час.
-
Zontik
Имеется в виду ведь обычный бег, без читерства?
По прямой, если ты под читерством подразумеваешь сумму векторов прямо + вбок.
Обычный шаг ну явно не вдвое медленнее бега (а если проверить?), но по внешним признакам - если сравнивать с реальностью - он едва-едва тянет на 5 км/час.
Ты о Dark Engine говоришь сейчас? Потому что в просмотрщике скорость "шага" = скорости "бега" в Thief, а скорость бега в просмотрщике значительно выше скорости шага, раз этак в семь, просто для удобства. Не говоря уже о скорости режима "свободной камеры", которая ещё выше.
-
Ты о Dark Engine говоришь сейчас?
Да, конечно. Понятно, что в просмотрщике удобнее двигаться побыстрее. Но если рассматривать его как задел для игрового движка, то все эти вопросы всплывают.
-
Наконец-то настроил рег доллы более аккуратно.
(https://sun1-91.userapi.com/impg/O5UYKj8kqX3UkSQeKaMw7CS5_xcz2udMofrEAQ/1eI9Rs9zDso.jpg?size=1127x1635&quality=96&sign=a5dfdc115546f911707d524100fb7487)
Картинка вдохновлена этими мемами:
(https://sun9-61.userapi.com/impg/dua8O27nBD9CYbaH5iPAyxBQ1CYO5xT8W7i_tg/fBWnKCtXht4.jpg?size=811x676&quality=96&sign=49ab1e3632113280a7689dfc632acb1a)(https://sun9-58.userapi.com/impg/XQnvyyIsqUT3GO_j-c0-OIkIYPmYMNUuu4Al5g/d8m85P7YVTQ.jpg?size=700x837&quality=96&sign=a9c9271499e25675fdfff5663a610f39)
-
Небо и земля.
-
(https://darkfate.org/view/details/files/projects/deviewer/video_previews/keeper_ragdoll.gif)
-
Так им и надо.
-
Офигеть. А это можно в оригинальную игру вставить?
-
Офигеть. А это можно в оригинальную игру вставить?
Если бы у меня были целые исходники - не исключено, что возможно было бы. Но у меня есть только те, что лежат на сайте у нас, а они не полные и собрать из них игру нельзя. Поэтому я иду к цели с другого конца :cheesy:.
-
Приглашаю всех присоединиться к страницам проекта в соцсетях, чтобы не пропускать новости обновлений:
DTF: Force Software (https://dtf.ru/u/687837-force-software)
VK: Force Software (https://vk.com/forcesoftware)
Twitter: @Force_Software (https://twitter.com/Force_Software) на английском
Сегодня там появились новые сообщения с демонстрацией прогресса. Я планирую публиковать там краткую информацию вроде скриншотов или видеороликов с описанием достигнутых изменений.
Кроме того, у меня есть канал на YouTube: @ForceSoftware (https://www.youtube.com/@ForceSoftware), для которого готовится большой ролик с описанием проекта в целом.
Так же, не забываем, что у проекта есть своя домашняя страница: ForceSW.com: Dark Engine Viewer (http://forcesw.com/rus), на которой всегда можно будет найти и скачать все релизы программы.
Так что, присоединяйтесь, чтобы не пропустить интересные подробности! ;)
-
Идет работа над добавлением возможности брать предметы:
(https://darkfate.org/view/details/files/projects/deviewer/video_previews/get_coins_animation.gif)
-
Мне нравится.
-
Только они должны браться не в центр, а в нижний угол инвентаря.
-
Soul_Tear
Инвентаря пока нет, да и не нравится мне оригинальный, а чем его заменить пока не думал...
-
Идет работа над добавлением возможности брать предметы
мне нравится. :up:
-
Сегодня мы научились кидать взятые предметы. Теперь можно кинуть сыром кому-нибудь в лицо... :cheesy:
(https://darkfate.org/view/details/files/projects/deviewer/video_previews/cheese_at_face.gif)
Подписывайтесь на соцсети, чтобы не пропустить новости проекта! Сюда очень неудобно постить видосы...
ВК: https://vk.com/forcesoftware
DTF: https://dtf.ru/u/687837-force-software
Twitter: https://twitter.com/Force_Software
-
Я бы на месте Бенни уже 10 раз уволился. До чего дошло... сыром по морде...
-
Тестировал недавно добавленную возможность брать и бросать предметы в legacy-версии Dark Engine Viewer, когда внезапно обнаружил, что окна поместья леди Рамфорд (первая миссия Thief 2) имеют полупрозрачную текстуру. Это застало меня врасплох!
Потом оказалось, что это текстуры из HDmod'а... :rolleyes:
(https://sun9-36.userapi.com/impg/BCydZPcS8BvjU4jBm4VPcMX_LaZOXoTK-577uQ/U6Fh2JEEKu4.jpg?size=1920x1080&quality=95&sign=40941a72e4b83372fe9d25693779e28a)
-
А стража видит сквозь такие окна?
-
Стража иногда видит и через обычные стены.
А ты тут про окна говоришь.
-
А стража видит сквозь такие окна?
В оригинале - нет. В оригинале же там нет окна - там стена с текстурой окна, которая внезапно оказалась прозрачной. Но мы вольны сделать так, как нам больше нравится ;). Сейчас в Force Engine нет AI вообще, грядет релиз, потом - рефакторинг сделанного, а потом уже и будем думать и решать что с AI. С точки зрения реализма - конечно глупо не видеть кого-то в прозрачное окно. Технически это тоже вполне решаемая задача, причем независимо от количества ИИ...
-
Полупрозрачные текстуры на брашах вроде как на Dark Engine вообще не имеют права существовать - изображение, увиденное сквозь них не обрабатывается корректно.
На картинке, кстати, никакой полупрозрачности не наблюдается (в левой ее части). А Force Engine все обработал корректно, молодец!
-
Доделал забавный демонстрационный стенд, показывающий возможность в ForceEngine связать управляющие объекты в цепочку. Результат предлагаю к ознакомлению ;).
Подписывайтесь, чтобы не пропустить новости проекта!
ВК: https://vk.com/forcesoftware
DTF: https://dtf.ru/u/687837-force-software
Twitter: https://twitter.com/Force_Software
Сайт: http://forcesw.com/rus
А сегодня начинаем заполнять ютуб-канал:
sL1jicJokIA
-
Force
Веринайс! Взаимодействия настроены свойствами энтитей без скриптов?
-
nemyax
Сенкью! :biggrin:
Да, в редакторе. Кстати, в DromEd'е оно работает почти так же, только без динамических теней, с физикой попроще, но со звуками, и чувак там движется получше (один раз он там даже в сторону от люка отошёл, явно что-то предчувствовал. :)).
-
Force
Недавно познакомился с вашей программой и потерял дар речи от изумления! Программа шустрая и пожалуй лучшая для теста игр и миссий, а также для новичков в моддинге...Но...Хотел с помощью вашей программы сделать скриншот и отослать программисту , указав проблемное место в игре... но вот беда, принтскрин не работает... Может можно добавить в вашу профессиональную программу возможность сделать скриншот?
-
Gadavre
Спасибо! Возможность делать скриншоты уже есть в новой версии, которая готовится к выпуску в ближайшее время. А пока можно воспользоваться одной из тестовых версий: http://forcesw.com/DarkEngineViewer_068_RC2.zip в ней скриншоты делаются клавишей F10.
-
Наконец-то дошли руки нарисовать текстуру звездного неба, которая теперь используется, если в миссии скайбокс не задан явно. Пока что - так, потом сделаем красивее! ;)
(https://darkfate.org/view/details/files/projects/deviewer/screenshots/screen0138.jpg)
Подписывайтесь, чтобы не пропустить новости проекта!
ВК: https://vk.com/forcesoftware
DTF: https://dtf.ru/u/687837-force-software
Twitter: https://twitter.com/Force_Software
Сайт: http://forcesw.com/rus
-
А чево у звёзд с глубиной?
-
nemyax
Это классический кубмэп, почему-то в моей реализации у него очень сильно видны перспективные искажения. То ли из-за fov, то ли ещё из-за чего. Как итог очень заметен переход между гранями кубмэпа. Не знаю, можно ли это как-то исправить, но, в любом случае, в планах есть пункт с реализацией полноценного неба по аналогии с Thief 2.
Если есть идеи, как улучшить отображение кубмэп, буду рад услышать предложения ;).
-
Справа видно пару звёздочек, которые оказались на фоне террейна.
А через рендер GL_POINTS не думал сделать, чтобы не искажалось? Для каждого glDrawElements можно менять glPointSize, а цвет, азимут и высоту хранить на вершинке. Ну и в вершиннике перегонять в XYZ-координаты.
-
nemyax
Справа видно пару звёздочек, которые оказались на фоне террейна.
А, не, это фонари:
(https://darkfate.org/view/details/files/projects/deviewer/screenshots/screen0139.jpg)
А через рендер GL_POINTS не думал сделать, чтобы не искажалось? Для каждого glDrawElements можно менять glPointSize, а цвет, азимут и высоту хранить на вершинке. Ну и в вершиннике перегонять в XYZ-координаты.
Это ты как раз описываешь один из способов, как сделать нормально, без кубмэп :). Я пока даже не думал на эту тему, решил сосредоточиться на более критичных вещах. Пока кубмэпами заткнул вопрос с небом, единственное что можно улучшить тут на текущем этапе - то, как они выглядят, если это возможно.
-
Для ускорения физической симуляции добавлена поддержка простых физических тел, выставляемых через редактор. Проблема в том, что в Thief многие объекты - это сферы... даже тарелки. Поэтому придется либо править gamesys, либо придумывать обходные хаки.
Кстати, отскакивающие от стола предметы, словно шары пинг-понга - это тоже проблема gamesys'а Thief. Её легко можно исправить через редактор DromEd, но насколько совместимо будет такое решение? 🤔
NY2TxaoQwr8
Следите за новостями проекта в социальных сетях (ссылки в подписи)!
-
Идет работа над передачей корректного физического ограничивающего объема предметов на уровне через параметры редактора. Здесь видно, как неправильное физическое представление стола заставляет очки и расческу "воспарять" над его поверхностью.
xEW4SCPwz_E
А это скриншот из оригинального Thief 2, расческа и очки лежат на столе, но из-за отсутствия теней это не очень понятно 😉.
(https://darkfate.org/view/details/files/projects/deviewer/screenshots/dump007.jpg)
Следите за новостями проекта в социальных сетях (ссылки в подписи)!
-
Реализована поддержка поз персонажей. Теперь это может выглядеть очень концептуально. Предлагаю небольшое видео к просмотру.
P.S. Да, мертвые тела - это тоже позы ;).
Следите за новостями проекта в социальных сетях (ссылки в подписи)!
m464dcuWT9E
-
Не осилил. Значит ли это, что если мы кинем тело на край обрыва, то оно упадет вниз, а не будет висеть горизонтально, зацепившись пяткой за край?
-
Не осилил. Значит ли это, что если мы кинем тело на край обрыва, то оно упадет вниз, а не будет висеть горизонтально, зацепившись пяткой за край?
Не осилил что именно? В редакторе есть возможность выставить персонажам позы, в которых они будут находиться на уровне, (если они мертвы) либо при старте уровня (если живы, спят и т.п). Таким образом выставлены все позы мертвых или спящих тел, либо тех самых древесных чудовищ на уровне Кровавый След. А если, например, мы стартуем миссию, глядя на персонажа,ему тоже назначается поза, чтобы он начинал свою ии-активность не из т-позы, а из установленной, дабы не ломать наше погружение и атмосферу.
И да, поскольку у меня есть регдоллы, то для мертвых тел первоначальная поза их правильно располагает, а при включении симуляции уже активируется регдолл и тело реалистично падает, а не висит в воздухе, потому что позиция тела ещё находится на уступе.
-
Выложил ролик с "геймплеем" Deep Cover:
https://dtf.ru/u/687837-force-software/1782009-geympley-deep-cover-nevypushchennoy-igry-looking-glass-studios
-
Эх, на Star Trek бы их взглянуть!..
-
Эх, на Star Trek бы их взглянуть!..
Что-то мне подсказывает, что от него были только концепты для 3ds max... :/
-
Написал на ДТФ небольшую заметку о построении мягких теней в движке: https://dtf.ru/indie/1818688-maska-poluteni
В комментариях развернулось обсуждение с освещением дополнительных подробностей.
-
Там подняли тему совпадения названия твоего движка с уже существующими. Как насчёт чуток его изменить, если таковое желание имеется: ForceNgine, Force Motor, Force/Fourth Gene/Jinn?
-
Там подняли тему совпадения названия твоего движка с уже существующими. Как насчёт чуток его изменить, если таковое желание имеется: ForceNgine, Force Motor, Force/Fourth Gene/Jinn?
Да, тема оказалась актуальной... Force Tech тогда уж. Буду идти до конца по пути вдохновения работами одной известной компании ;).
-
Force Tech - отличный вариант :yes:!
-
Свершилось долгожданное событие! Наконец-то я починил скелетную анимацию в своём движке и она теперь выглядит точно так же, как в оригинале!
Пришлось повозиться, но рубеж пройден! Ура! :yay: Долго откладывал эту тему, потому что никак не мог понять, почему оно у меня не срастается. Подробности написал в статье на DTF: https://dtf.ru/indie/1855705-nakonec-to-pochinil-skeletnuyu-animaciyu-v-svoem-dvizhke
-
Да, хорошо. Эти широченные угловатые плечи всегда вызывали некоторое недоумение.
-
Наконец-то я починил скелетную анимацию в своём движке и она теперь выглядит точно так же, как в оригинале!
Да? А мне кажется, что лучше, чем в оригинале.
-
Да, хорошо. Эти широченные угловатые плечи всегда вызывали некоторое недоумение.
:up:
Наконец-то я починил скелетную анимацию в своём движке и она теперь выглядит точно так же, как в оригинале!
Да? А мне кажется, что лучше, чем в оригинале.
Почему?
-
Сегодня хотел сделать коммит в свой репозиторий на bitbucket, а они не отвечают. Сайт доступен только через иностранный ВПН. Эээээ, всё? Даже если это временный сбой, прецедент уже не внушает доверия.
Альтернатива в России нашлась только одна: https://gitflic.ru/ Кто-нибудь что-нибудь о ней может сказать?
-
Добрый день. Меня заинтересовал оригинальный файлик motiondb.bin в Thief 2. Могу я его чем то открыть, распаковать и посмотреть код в этом файле? и даже изменить что то в этом коде?
Можно ли изменить степень компрессии файла? Чтобы он был максимально разжат?
Навыков компилляции нет. Поэтому если существует метод , то будет понятнее если написать все подробно по шагам.
-
Почему?
Мне показалось, что на правой картинке плечи у охранника более округлые и естественные, чем в оригинале. Когда персонажи в Thief стоят с опущенными руками (а обычно они так и стоят), их плечи довольно угловаты и зачастую выглядят довольно (слишком) широкими. Особенно странно это выглядит у женских персонажей. Если я правильно понял, у тебя привязка скелета к модели сделана более аккуратно (или это просто модель такая использована?) В любом случае стоит похвалить хорошую работу.
-
Почему?
Если я правильно понял, у тебя привязка скелета к модели сделана более аккуратно (или это просто модель такая использована?) В любом случае стоит похвалить хорошую работу.
Ну, по поводу "более аккуратно" - сильно сомневаюсь, что там можно сделать что-то сильно иначе. Но всё равно, большое спасибо за поддержку! :agree:
-
Мне вообще показалось, что это не оригинальная модель. Или не показалось?
-
Модель оригинальная...
Слушайте, сейчас прям сравнил две версии - и вправду, в оригинале плечи прям торчат :suspect:. Вы - глазы-алмазы! :biggrin: Но загадочно... Может быть, это ОНИ сделали что-то не так? А может быть, у этого "не так" есть даже какое-то обоснование?.. :confused: Но лично меня пока точно устраивает то, что получилось ;).
-
Force
Там битбукет прокашлялся.
-
nemyax
О, спасибо! А то я уж собрался на нем ставить крест... А что было, не знаешь? Три дня проблема продержалась.
-
Не знаю. По времени совпало с учениями нашенской сетевой гестапы по блокировке OpenVPN, но может быть и не связано.
-
nemyax
Кстати, раз уж ты заглянул. У меня тут на днях прям откровение было. Один знакомый программист поведал, что, оказывается, такие движки как Unity и UE уже перешли на архитектурный паттерн ECS (Entity-component-system). Ты слышал про него? Что-нибудь можешь сказать?
Я несколько дней обмозговывал эту идею и пришел к выводу, что тоже такое хочу, и что оно действительно может всё упростить и ускорить разработку. Для примера - мне совершенно не нравится как пришлось мучиться с приделыванием физического движка - городить целый ворох дурацких обвязок, и в итоге он всё равно работает через прослойки-костыли. А чтобы костыли убрать - нужно рефакторить сердцевину проекта - работу с объектами. Тогда как в ECS внедрение движка произошло бы просто "автоматически" без каких либо переделок, прямо в существующую архитектуру! :aaa:
Я очень давно вынашиваю идею рефакторинга, но всё откладывал её, потому что не до конца были понятны преимущества, а тут как раз под финишную прямую очередного релиза подвернулась эта идея и стало понятно, наконец, КАК рефакторить!
-
архитектурный паттерн ECS (Entity-component-system)
Не знаю такого термина, но в квейке и производных движках всю дорогу используются объекты под названием entities, которые мапер располагает на карте. Им прописывают значения конфиг-полей, а в рантайме движок уже управляет поведением (уцелевших после компиляции) энтитей, реализуя структуру и поведение динамических частей и логику геймплея. Кто хоть сколько-нибудь мапал под квейк, халфу, да даже TDM, тот понимает, о чём речь.
Может быть, ECS оно и есть умными словами.
-
nemyax
Не, entities в квейке - это просто активные игровые объекты из брашей, смоделеные прямо в редакторе. А тут речь об архитектурном паттерне. Вот классная статья на хабре есть, если интересно: https://habr.com/ru/articles/665276/
-
entities в квейке - это просто активные игровые объекты из брашей, смоделеные прямо в редакторе
Но энтити бывают не только брашевые, а ещё и точечные. Брашевые там, где объект обладает объёмом, а точечные могут представлять хоть мадельку, хоть монстра, хоть спрайт, хоть вовсе абстрактный логический вентиль.
-
Но энтити бывают не только брашевые, а ещё и точечные. Брашевые там, где объект обладает объёмом, а точечные могут представлять хоть мадельку, хоть монстра, хоть спрайт, хоть вовсе абстрактный логический вентиль.
Не, такого я уже не помню. Но звучит органично с любой структурой, даже Dark Engine'овской.
-
Вот, например, справочник по энтитям первой халфы: https://twhl.info/wiki/page/category%3AEntity_Guides%2BHalf-Life_Entity_Guide
Если помнишь, там на энтитях сделано всё. Даже не существовало способа для мапера как-либо заскриптовать поведение кодом.
-
Вот, например, справочник по энтитям первой халфы: https://twhl.info/wiki/page/category%3AEntity_Guides%2BHalf-Life_Entity_Guide
Если помнишь, там на энтитях сделано всё. Даже не существовало способа для мапера как-либо заскриптовать поведение кодом.
Ну там просто объекты - это цельная неделимая игровая сущность. Максимум можно было визуально её изменить, например, выбрать набор брашей и поставить ему сущность, например "func_door". И тогда у тебя была своя дверь, выглядящая как тебе надо, можно было даже опциями поиграть, скорость поменять, там, но на этом как бы и всё.
В Dark Engine объект - это набор свойств, любых, какие поставишь, такие и будут. В примеру, можно сделать объект с моделью бочки, которая может сдвигаться как сдвижная дверь, одновременно поворачиваться, как поворотная дверь, и по которой можно будет взбираться, как по лестнице... А ещё была возможность наследования от других таких же объектов и тогда... Правда, сам движок не всегда справлялся с корректным расчетом поведения всего этого многообразия ;).
В этом плане, Dark Engine уделывает quake по всем статьям... Разве что браши нельзя было использовать в качестве геометрии объекта. Зато рум браши можно... :lol: Но это уже отдельная тема. Как и скриптование :biggrin:
-
там просто объекты - это цельная неделимая игровая сущность
Ну вот да. Судя по статье, в ECS нам предлагается вместо единой энтити с набором свойств энтить-контейнер, куда мы наталкиваем абстрактные универсальные группировки свойств. Мол если я хочу кататься по уровню на машинке, я могу себе наконструировать уазик или фордфокус, тасуя эти группировки.
Но я чёт не уверен, что мне как маперу такое было бы удобно. Если у меня на уровне только уазики и фокусы, то может я лучше закажу своему кодеру func_uazik и func_fordfocus и не буду морочить себе голову тем, как оно у него там в потрохах наследуется? А оно ведь наследуется по-любому, только для меня это уже будет прозрачно.
-
Но я чёт не уверен, что мне как маперу такое было бы удобно. Если у меня на уровне только уазики и фокусы, то может я лучше закажу своему кодеру func_uazik и func_fordfocus и не буду морочить себе голову тем, как оно у него там в потрохах наследуется? А оно ведь наследуется по-любому, только для меня это уже будет прозрачно.
А вот для этого в Dark Engine и есть прототипы, от которых можно наследовать свойства. Ты просто один раз создаешь "уазик", а потом наследуешься от него, меняя только цвет или скорость у наследников, к примеру. В Thief таким образом очень много всякого сделано, всякие "мертвое тело" и прочие "наборы" свойств можно закинуть любому объекту и он станет "мертвым" - валяться в "мертвой позе", его можно будет взять и т.п. А если брать нельзя, то переопределить свойство "брать" у этого объекта. Так что мощь! Жалко только что интерфейс у DromEd'а настолько всратый, что не позволяет оценить потенциал по достоинству :\...
Что ещё круто - ты сам можешь создать эти прототипы с нуля и ты ничем не ограничен, если не нравятся дефотлные - создай свой геймсис, напихай свойств и всё! У тебя уже всё своё и по-новому.
-
Жалко только что интерфейс у DromEd'а настолько всратый, что не позволяет оценить потенциал по достоинству :\...
Так-то да, но и потенциал надо сказать неровный. При такой продвинутой системе свойств такая убогая система скелеталки, даже безотносительно качества редактора. Я как вспомню заиньку из "Истории короля", так вздрогну.
-
Удалось запечатлеть странный ритуальный танец некоторых знатных дворян Города недалеко от входа на местное кладбище... Что бы это значило?
2DU8FP3WDLs
-
Возможно, это - попытка заставить их танцевать под какую-нибудь песню, скажем, той же группы "Tribe" ;D.
-
Написал большую статью с информацией о моём движке. Что это, зачем, почему? О планах. Всех приглашаю к ознакомлению: https://dtf.ru/indie/1870520-neskolko-slov-o-moem-igrovom-dvizhke-force-tech
-
Я только не понимаю, зачем ты так отчаянно все время выкладываешь ссылки на каком-то помоешном дэтээфе? Там одна гопота и сброд.
Надо работать на англоязычную публику, с гуглопереводом вполне сойдет. К сожалению подавляющая часть "русской цифровой интеллигенции" - не более чем либеральная чморота. Эта публика пока разве преуспела в ковырянии в жопе. Поэтому у нас нет ни игропрома, ни 3д-стоков, ни пэйпэлов, ни ибэев, ни много чего еще.
Также не понимаю, зачем отвечать каждому чмошнику на его высер, не уж то времени так много :confused:
Повторяю большинство наших людей обиженные неудачники, и могут только обсирать тех, кто куда-то продвинулся. Это даже отлично заметно по этому сообществу. Разница между ДаркФейтом и ТТЛГ колоссальная. У нас здесь более менее гопота не приживается, но активность та еще.
Ты можешь назвать хоть одного "Максима" на ТТЛГ? Гопота в таких сообществах не задерживается, поэтому в дискорд многие ушли.
Я был на форумах, Анрила, РПГМейкера и Реддита, и не встречал ничего подобного, как на дэтээф.
-
В таких вопросах, важно понимать, кто твой друг, а кто твой враг. Или ты будешь тратить всю энергию на какое-то доказывание кому-то чего-то, вместо того чтобы творить.
Это очень деликатная сфера для избранных. :cool1:
-
Надо работать на англоязычную публику, с гуглопереводом вполне сойдет.
Вот, кстати, хотел спросить, где можно выкладывать подобные длинные статьи в зарубежных соц-сетях? На реддите? Там такое хоть открывать-то будут? Я там особо и не засветился нигде, могу постить только в личный блог. Да и как-то там самопиаром жестко.
В Твиттере мой разгон прекратился и перестал работать, новые публикации подписок не приносят. Как там продвигать проект без дикого щитпостинга - не очень понятно.
В таких вопросах, важно понимать, кто твой друг, а кто твой враг. Или ты будешь тратить всю энергию на какое-то доказывание кому-то чего-то, вместо того чтобы творить.
В ру-сегменте мне проще хотя бы потому, что у "наши" мне понятнее, так что я не гнушаюсь продвигаться и тут.
-
Оффтопик: Насчёт DTF.ru: основная тамошняя публика - школьники, со всеми вытекающими. Простое доказательство: в дни ОГЭ и ЕГЭ активность там резко снижается :biggrin:. Есть, конечно, и исключения, но их катастрофически мало :(.
-
Вот, кстати, хотел спросить, где можно выкладывать подобные длинные статьи в зарубежных соц-сетях? На реддите?
https://www.reddit.com/r/ImmersiveSim/ (https://www.reddit.com/r/ImmersiveSim/)
Здесь периодически всплывают некоторые авторы со своими проектами, но аудитория в 6000 это конечно ни о чем.
-
Финиш и промежуточный релиз приближаются (https://dtf.ru/indie/1924877)
-
Релиз! Вышел Dark Engine Viewer v.0.6.9, основанный на Force Tech!
Как это обычно бывает, релиз — пора очень нервная, сопряженная с кучей переработок и срывом планов. У меня всё именно так и вышло — планировал одно, получилось немного другое.
Напряженно готовил видеоматериал-презентацию с рассказом о возможностях программы, но так и не успел смонтировать. В результате, выпущу ролик аж через три недели, поскольку уезжаю в отпуск. Вы же, тем временем, можете смело идти на мой обновленный сайт, скачивать долгожданный релиз и пробовать всё самостоятельно!
https://forcesw.com/rus
Интересный нюанс. Поскольку я стараюсь развивать сообщество на двух языках — русском и английском, пришлось записывать комментарии на обоих. И если с русским проблем не возникло, то записать комментарий на английском неожиданно оказалось СУПЕРСЛОЖНО, чтобы это не звучало как "лет ми спик фром май харт". Мне никогда раньше не требовалось СТОЛЬКО говорить на неродном языке, а тем более такой технически-сложный текст, поэтому далось это тяжело. Как я ни пыжился, результат получился не сильно впечатляющим. Practice makes perfect, если видеоматериал "зайдёт", буду совершенствоваться в этом и дальше. А узнаем это мы, минимум, через три недели, когда он будет готов и опубликован ;).
(https://sun1-29.userapi.com/impg/6yQCiSN6Fx89B4ng9ZkCMf59A3DNqqmb3C-l_Q/-3NhZqG0G2k.jpg?size=1920x1080&quality=95&sign=4239fec06469364e4f4406a975ffdf79)
Это я, после 23-й неудачной попытки произнести заковыристую фразу по-английски ;)
Подписывайтесь на сообщества, чтобы не пропускать новости проекта и узнавать больше подробностей!
ВК: https://vk.com/forcesoftware
DTF: https://dtf.ru/u/687837-force-software
Twitter: https://twitter.com/Force_Software
-
Если еще не уехал, то поделись, пожалуйста, секретом: как ты оценивал "вышло - не вышло" в отношении фраз на английском?
-
Zontik
Просто послушал результат. :biggrin: Если не звучит как естественная английская речь, то "не вышло". Но в целом - сойдёт, хоть оно так и не звучит, учитывая сколько часов мне понадобилось, чтобы записать 10-минутный комментарий.
-
Force: С выходом :beer1:! А где у тебя на сайте те самые двуязычные звуковые комментарии?
-
Будет со временем добавлена возможность переназначать клавиши ходьбы? Можно ли будет изменять FOV? Чем обусловлен выбор графического апи в пользу GL? Не особо силен в этом, но мне показалось, что лично у меня картинка идет гораздо шустрее на вулкане или директ икс.
-
Force, поздравляю с релизом!
Загрузил-побегал. Все отлично, есть только один нюанс: в первой миссии "Патриота" (другие не смотрел) протагонист очень неохотно поднимается по ступенькам. Приходится запрыгивать.
-
MoroseTroll
Спасибо! :agree: Они записаны, но видео не успел смонтировать. Ожидается, что после моего возвращения из отпуска, я этим займусь и размещу результат везде.
spy
"Да" на оба первых вопроса :). А в конфигурационном файле сейчас разве FOV задать нельзя? Если нет, то, внесу это в туду. Про OGL - дело не в скорости АПИ, а в "прямоте" рук. Моих в данном случае. Дело в том, что отрисовка геометрии сейчас сделана очень неэффективно, поскольку писалась очень давно и с тех пор практически не менялась. Это очень фундаментальный кусок кода, поэтому его переписывание так долго откладывается. У меня уже есть рабочий прототип нового рендера, который увеличивает скорость отрисовки примерно в 10 раз, в следующем релизе я уже наверняка собираюсь обновить рендер и воплотить все давно откладываемые крутяки и хотелки. А выбран был ОГЛ, а не DX по причине кроссплатформенности. В скорости у них никаких различий нет и быть не может, постольку это лишь обертки для команд к видюхе. Разница в скорости может быть только в рамках погрешности, ну или если видеодрайвера писали левой пяткой правши (но такие времена, вроде бы, давно прошли). А в современных АПИ - вулкан и дх12 - там влияние драйверов ещё меньше, потому что распределением ресурсов и синхронизацией занимается прикладной программист, тот кто пишет само приложение. Но я пока не планирую использовать новые апи из-за совместимости. Есть определенный интерес выжать максимум из уровня dx10/ogl3.
Chuzhoi
Спасибо! :agree:
Да, это дефолтный контроллер персонажа от движка физики Bullet Physics. Мне не удалось настроить в нем высоту подъема на ступени, поэтому да, приходится или запрыгивать или с разгона влетать :biggrin:. Я планирую его переписать и сделать управление похожим на Dark Engine. Как это сделали разрабы для TDS, хотя они ориентировались на body awareness, поэтому у них, по ощущениям, получилось очень "тяжеловесно".
-
Сегодня вышла обновленная версия Dark Engine Viewer 0.6.9.1 с исправлением нескольких проблем, связанных с загрузкой текстур, отображением экрана помощи и управлением камерой.
(https://sun9-60.userapi.com/impg/Wuc5qXp2T2DieRkvqHF9yn1HfJpryVaal480vQ/vpsS60Hk_JU.jpg?size=1920x1080&quality=95&sign=35e9576eb35369aed6e82976f685c5fa)
Скачать актуальную версию можно на моём обновлённом сайте:
https://forcesw.com/rus
Кроме того, я буду вести ещё и Telegram-канал, поэтому можете теперь подписываться и там:
https://t.me/forcesoftware
Ссылки на другие соцсети:
ВК: https://vk.com/forcesoftware
DTF: https://dtf.ru/u/687837-force-software
Twitter: https://twitter.com/Force_Software
Буду очень признателен за распространение информации о проекте!
-
Force, :up: Качаем.
-
Force: Похоже, отпуск закончился :).
-
Force: Похоже, отпуск закончился :).
Да, мой будет покороче педагогического ;).
-
Force
Добрый!
Не думали на базе своего модифицированного движка создать новый порт для Thief Gold и Thief 2? Дело в том, что традиционный Dark Engine не совсем корректно работает с Thief Gold. Видел в игре у себя и игроков, как искуственный интеллект просто рендомно отключался. NPC просто зависли и ничего не делали. Это исправить под силу только программисту.
также на некоторых мощных машинах наблюдается падение fps в определенных местах и без hd текстур. Я об этом писал тысячу раз на зарубежных форумах. но контакта с ведущим программистом Dark Engine нет, а значит исправить это не по зубам, кто не в теме.
-
Посмотрел недавнее видео Digital Foundry о прекрасном ремастере Quake II от студии Nightdive, и обнаружил, что, воссоздавая Dark Engine в своём Force Tech, использую те же принципы: отказ от BSP в пользу Octree, попиксельное освещение (правда, я использую полностью динамическое) и т.п. Думаю, в ближайшее время расскажу об этом подробнее ;).
ck3pqrTAphs
(https://sun9-34.userapi.com/impg/rA8I0OUOhwS66GABiAwhkGAlN4LcT15c5pRUwQ/wyhE7tMvAYg.jpg?size=1920x1080&quality=95&sign=9261d2c839297dd478400bb47e52f67d)
-
отказ от BSP в пользу Octree
Но в ремастере Q2 не отказывались от BSP.
-
отказ от BSP в пользу Octree
Но в ремастере Q2 не отказывались от BSP.
Смотря что ты под этим имеешь в виду, и что имели в виду в DF, когда об этом говорили?
-
что имели в виду в DF, когда об этом говорили?
Без понятия. Они утверждают, будто Сэм Вильяреал так им сказал. Но таких его слов что-то не нагуглилось. И уровни в ремастере собраны ericw-tools-ами в квейковский формат BSP, так что кто-то гонит. Они могут строить дополнительное октодерево, но тогда какое нафиг "no longer uses binary space partitioning".
-
что имели в виду в DF, когда об этом говорили?
Без понятия. Они утверждают, будто Сэм Вильяреал так им сказал. Но таких его слов что-то не нагуглилось. И уровни в ремастере собраны ericw-tools-ами в квейковский формат BSP, так что кто-то гонит. Они могут строить дополнительное октодерево, но тогда какое нафиг "no longer uses binary space partitioning".
Ну, в таком случае и я использую BSP, потому что полигоны из него читаю :). Но только я кидаю их в один большой "суп", а потом уже строю октодерево и запихиваю их туда. Я не использую BSP при рендеринге, только как начальный источник данных о геометрии. Просто потому, что они так хранятся. Полагаю, кексы делают то же самое. BSP в современном рендеринге будет скорее мешать, чем помогать.
-
BSP в современном рендеринге будет скорее мешать, чем помогать.
Оно ж там в основном для коллизии, не? Геометрия-то в квейковском уровне уже в виде треугольников.
-
BSP в современном рендеринге будет скорее мешать, чем помогать.
Оно ж там в основном для коллизии, не? Геометрия-то в квейковском уровне уже в виде треугольников.
Кстати, надо рассмотреть этот вариант для расчета коллизий, интересно, получится это как-то подружить с Bullet Physics? Я-то использую буллетовский статический меш из треугольников для коллизий геометрии уровня, и мне не нравится результат: меш состоит из бесконечно-тонких стенок, и если мелкий объект летит в стену, то высока вероятность того, что он пролетит сквозь стену между тиками физики и успешно покинет границы уровня...
Как устроена физика в кексе - не имею ни малейшего представления. Но тему ты интересно развил! ;)
-
Нет, как выяснилось, bsp для коллизий в Bullet'е использовать не удастся. Для загрузки физического представления уровней кудва, используется куча convex hull'ов...
Вопрос требует дополнительного исследования.
-
Посмотрел недавнее видео Digital Foundry о прекрасном ремастере Quake II от студии Nightdive, и обнаружил, что, воссоздавая Dark Engine в своём Force Tech, использую те же принципы: отказ от BSP в пользу Octree, попиксельное освещение (правда, я использую полностью динамическое) и т.п. Думаю, в ближайшее время расскажу об этом подробнее ;).
ck3pqrTAphs
(https://sun9-34.userapi.com/impg/rA8I0OUOhwS66GABiAwhkGAlN4LcT15c5pRUwQ/wyhE7tMvAYg.jpg?size=1920x1080&quality=95&sign=9261d2c839297dd478400bb47e52f67d)
ремастер не доработан. Он даже хуже оригинала во многих аспектах и ломает его атмосферу. Графика в вашей программе вполне нормальная. Лучше не нужно ничего брать с ремастера для вашей программы , тем более сравнивать с ним. Ваша программа лучше.
-
Для загрузки физического представления уровней кудва, используется куча convex hull'ов...
А в стрипаных уровнях вора не сохраняются браши из редактора?
-
Для загрузки физического представления уровней кудва, используется куча convex hull'ов...
А в стрипаных уровнях вора не сохраняются браши из редактора?
Надо изучить этот вопрос. Там, вроде бы, физические коллайдеры сохраняются в отдельной структуре, надо раскопать эту тему.
А вообще, к примеру, была одна миссия, где освещения в вордрепе не было, хотя в игре всё было ок. То есть, игра берет информацию об освещении из объектов, а не из вордрепа. Что говорит о том, что в DE каждый делает то, во что горазд...
-
Вряд ли же в воре полигональная коллизия, как у тебя. У Кармака она только с дума 3 началась, а до того была по брашам.
-
Написал статью о преимуществах использования Octree вместо BSP. Приглашаю к прочтению: https://dtf.ru/gamedev/2095532-preimushchestva-ispolzovaniya-octree-vmesto-bsp
Делитесь мнением, замеченными неточностями и вопросами! Вдруг я что-то не так написал? ;)