![]() |
Проект с кодовым названием Cursed Earth - Версия для печати +- Город Джунов (https://www.gipat.ru/forum) +-- Форум Обсуждение Проклятых Земель (https://www.gipat.ru/forum/forum-19.html) +--- Форум MODный форум (https://www.gipat.ru/forum/forum-9.html) +--- Темы: Проект с кодовым названием Cursed Earth (/thread-3368.html) |
Проект с кодовым названием Cursed Earth - v1s0r - 14.03.2010 Готов первый релиз движка CE. Обновил существующие спайки, а также добавил новый - figviewer. Появился каркас движка, им пользуются существующие демки. Теперь движок будет активно развиваться. Что нового в движке: 1. Всё ![]() 2. Поддержка ландшафта. Формат MPR из ПЗ. 3. Полностью реализовал модели и анимационную систему. Формат FIG из ПЗ. 4. Прототип камеры ПЗ. 5. Иерархическая организация игровых объектов. 6. Система рендеринга с общей очередью, сортировкой и отсечением и frustum. Подробнее о figviewer. Традиционный спайк. Запускается из коммандной строки. Всё, что нужно - путь к директории с ПЗ и имя модели: figviewer -b /path/to/evil_islands unmori Если хотим с текстурой, то нужно её указать (опция -p): figviewer -b /path/to/evil_islands -p rick unmori У модели может быть вторая текстура (опция -s): figviewer -b /path/to/evil_islands -p mainmenu00 -s mainmenu00labels unmoco2 Если хотим сразу с анимацией (опция -a): figviewer -b /path/to/evil_islands -p rick -a uattack unmori Можно попробовать -f для полного экрана, но на win32 пока почему-то не работает... Теперь о контроле из игры: 1 - изменить силу или иную комплекцию 2 - изменить ловкость или иную комплекцию 3 - изменить высоту b - показать ограничивающие прямоугольники a - переключиться на следующую анимацию -/+ - изменить FPS анимации Вроде всё. Пока не реализовал плавный переход между анимациями, в планах. Комлекция для объектов работает, можно попробовать на: figviewer -b /path/to/evil_islands -p kanianArc01 stst43 Буду рад предложениям по добавлению фич или изменений в figviewer. Сообщения об ошибках привествуются. Они вполне могут быть, т.к. много всего нового и переписанного старого. Все исходные коды входят в комплект поставки ))) Наслаждайтесь! Добавил: v1s0r [mergetime]1268586482[/mergetime] Да, всё можно найти здесь. Добавил: Если выдаёт что-то вроде Assertion failed: 0 == (width & 3) && 0 == (height & 3), то надо временно убрать HD PACK. Как пойму, из-за чего это, поправлю... Проект с кодовым названием Cursed Earth - v1s0r - 14.03.2010 У меня для вас сюрприз. Лежит там же под названием mapviewer. Это прототип моего секретного спайка. Это следующий спайк, который я выпущу. Не думал, что получится сегодня его выложить, но мне удалось за 2 часа написать на текущем движке. Значит, 2 недели проведённые в трансе были не за зря. Обязательно посмотрите zone1, zone12, zone17 ну и т.д. по своему желанию. Жду отзывов, комментариев, предложений )) Проект с кодовым названием Cursed Earth - levdev - 15.03.2010 Отлично. Протестировал, пару карт. Скажу сразу, встречаются тормоза на крупных картах. Есть проблемы с текстурами. Деревья плохо выглядят. Пи поповороте камеры, скажем на карте базы bz3g старые каменные постройки, бегают текстуры. На зоне базы bz4g проблемы с Юнитами, на которых надеты доспехи. Надо в будущем пофиксить/предусмотреть в mapviewer одну фичу: Загрузку mob отдельно от mpr Загрузка mob/mpr для карты происходит по названию зоны указанного в аргументе. Это не правильно - ведь basegipat.mpr подгружать должна basecam.mob или basecam-mp.mob На всех картах Юниты имеющие текстуры доспехов помимо собственных, загружаются шашочкой. Пока все. =) P.S.: подгрузил basecam.mob к basegipat.mpr, заметил что, оказывается все Юниты типа unhuman или как то так, проще: все люди, загружаются не со своими доспехами и моделями и текстурами, я так понял что это пока условное отображение? По вышеупомянутой карте глюки: В лавке Бабура, мешки на каких то колечках, прорисовка теней и прозрачности текстур обьектов старадает: дома, кусты. И Го-Го помимо гобленской пики торчит какая то фигня. Добавил: levdev [mergetime]1268657278[/mergetime] В консоле выдает сообщение: freeglut при использовании параметра полного экрана -f The Graphics mode is not supported Добавил: levdev [mergetime]1268657542[/mergetime] Еще добавлю и наверное последнее: Текстуры камней тоже прыгают, как будто карточка не тянет шейдеры. Текстуры мостов не накладываются ну и такое ощущение что все обьекты слегка подняты от земли - очень хорошо заметно когда в зоне 3 в лагере вольных охотников, рядом с атаманом, есть палатки и пень. Так вот когда летаешь по карте, то видно что пень не стоит на месте, а двигается вместе с нами, и то мы его видим на траве,а то на песчяной дороге. Добавил: levdev [mergetime]1268658824[/mergetime] ПРосмотрел достаточно карт и понял что есть большие проблемы с отображением mob файла. Отлично это видно на zone1. Скрытые обьекты отображаются, добавленные по скрипту не отображаются, а некоторые и вовсе находятся на своем месте. В любом случае уже отличный прорыв, отличная работа, так держать! Проект с кодовым названием Cursed Earth - ALtair - 15.03.2010 С модельками юнитов (Го-Го, люди, орки, etc..) проблемы в том, что рисуются все т.н. части тела, ну или еще их можно назвать костями скелета. В общем случае кости скелета либо напрямую задаются в mob-файле, либо их список определяется базой (database.res/units.udb) - так вот у v1s0r'а пока этого нет. Вот с прыгающими текстурами, пропадающими в зависимости от положения камеры полигонами - это я тож не понял че за глюки. Где-то какой-то косяк с рендерингом, по ходу. Проект с кодовым названием Cursed Earth - levdev - 15.03.2010 ALtair - а что скажешь по поводу преподнятых обьектов и обьектов в зоне1 которых просто не должно быть там. Например мосты. Проект с кодовым названием Cursed Earth - v1s0r - 15.03.2010 Я вчера в полуотрубе залил демку, не успел всё рассказать. ALtair прав, я не учитываю видимость частей моделей. Определяя высоту объекта я отсекаю его позицию к ближайшему целому, что и даёт глюки с положением. Со временем поправлю. С рендерингом действительно что-то не так, буду разбираться. Возможно, связано с прозрачностью. Она меня уже давно преследует... Предусмотрю возможность подгружать мобы. С людьми дело сложнее - информация об их частях и текстурах где-то в другом месте... Буду искать, где. Скрипты? БД? -f работает только на linux. Пока поживём так, мне не до этого сейчас. levdev, спасибо!) Проект с кодовым названием Cursed Earth - levdev - 15.03.2010 ALtair,Понедельник, 15 Марта 2010, 15:40 Написал:С модельками юнитов (Го-Го, люди, орки, etc..) проблемы в том, что рисуются все т.н. части тела, ну или еще их можно назвать костями скелета. В общем случае кости скелета либо напрямую задаются в mob-файле, либо их список определяется базой (database.res/units.udb) - так вот у v1s0r'а пока этого нет... Понял, только Го-Го не относится к юнитам с частями тела(костями скелета). Т.к. он прототип обычных гоблинов, они грузятся без проблем. У Го-Го там просто глюк с оружием, помимо самой пики, у него еще какой то косяк в руке. Что то прове ПРАЩИ, только серго цвета. Такой вот с Го-Го маленький глюк. Проект с кодовым названием Cursed Earth - v1s0r - 16.03.2010 Сделал новый релиз figviewer и mapviewer. Восстановил прозрачность воды и некоторых частей у моделей (на гарпии хорошо видно). Сейчас я попробовал полностью сохранить стейт-машину OpenGL. Посмотрите пжл, изменилось ли что-нибудь... Я посмотрел на zone12 - всё здорово. Стало, по-моему, тормознее. Если напрягают тормоза - после загрузки камеру сразу вниз, к земле. Проект с кодовым названием Cursed Earth - ALtair - 16.03.2010 levdev,Понедельник, 15 Марта 2010, 21:55 Написал:Го-Го не относится к юнитам с частями тела(костями скелета).[right][snapback]40156[/snapback][/right]Вообще-то все юниты в ПЗ имеют хоть какой-нибудь скелет и все без исключения могут рисоваться с ограниченным набором костей... Обычные гоблины, к слову, тоже с двумя оружиями в руках :Р Проект с кодовым названием Cursed Earth - levdev - 16.03.2010 Вообщем, изучил я все эти графические форматы. MOD, BON, FIG, anm, ADB Так что буду разбиратся... Проект с кодовым названием Cursed Earth - v1s0r - 17.03.2010 Очередной релиз движка и некоторых спайков. Что нового. 1. Сократил потребление системной памяти для моделей с морфингом. Для больших зон это более 3 МБ. 2. Исправлены все ошибки с текстурированием. Проблемы были с отображением камней, мостов и развалин. Ошибка моя была в усечении текстурных координат, которые могут быть за границей [0,1]. 3. Исправлена ошибка с отображением моделей с текстурами dxt. Это, в частности, деревья. Они отображались с противными белыми пятнами. Беда оказалась в модуле текстур. Я считал, что текстуры dxt1 идут как RGB, что неправильно. У них есть альфа канал (низкой точности, но это не важно). Прикрутил расширение texture_compression для win32. Если оно у вас поддерживается (а это более чем вероятно), то всё будет в ажуре. Одновременно с этим уменьшилось потребление памяти на win32 (не надо ничего перепаковывать) и время загрузки. На линуксе сжатые текстуры поддерживаются нативно. Если вдруг найдётся человек, хорошо знакомый с алгоритмом dxt1, то есть реальный шанс помочь - поправить ручной код распаковки текстур. У людей до сих под старые карточки, так что пригодится. Это общее. Теперь по спайкам. 4. figviewer фич новых нет, только подсосались все исправления. В планах попробовать интерполировать переходы между анимациями. 5. mapviewer Частично исправил баг с расположением объектов. Они чуть летают ещё, но уже лучше. С производительностью ничего пока не делал. И остались некоторые баги с прозрачностью. Если поддерживаются все расширения, то смотреть на зоны теперь просто приятно. Как будто переносишся в мир ПЗ. Глобальная задача - поднимать fps. Знаю, что делать, но займёт какое-то, может и значительное, время. Наслаждайтесь! Проект с кодовым названием Cursed Earth - levdev - 19.03.2010 Одна странная вещь происходит: Протестировал новый резил. Опустил в коде координаты Z( у тебя они почему то Y) на 1 y.e. Обьекты перестали летать, только мобы чуток провалились. Но когда загрузил bz7g зона Тка-Рика, все также, только вот зикурат или пирамида(хз что это), которая должа быть как и остальные обьекты на своем месте - поднята по оси Z примерно на 30 едениц. И еще, в Mob Reversing Tool координаты оси Z отличаются от наших на 3.5 едениц. А остальные норм загржаются. Но когда я выравнивал координаты, то вообще все проваливалось... Это тебе на заметку v1s0r Я попробую исправить, если не смогу - Маэстро ваш выход. Добавил: levdev [mergetime]1269014388[/mergetime] если что, это все по MAPVIEWER Проект с кодовым названием Cursed Earth - ALtair - 19.03.2010 Вообще мобы по умолчанию должны быть частично в земле. Проект с кодовым названием Cursed Earth - levdev - 19.03.2010 Хорошо, оставляем родные координаты. Скажем для деревьев в зоне 2, 0.02 по высоте. Мобы в таком случае проваливаются, слегка. Но тогда вот в чем беда, мосты в зоне 1 и в bz7g пирамида. Как это обьяснить? И вообще: ALtair, я слышал, что ты редактор сделал. Может быть присоеденишься к разработки, даш совет, пороешься в коде? Если уж даже бинарники своих редакторов, редко тут кто выкладывал( а точнее я вообще не помню такого, еле-еле mpr вьювер кто то выложил ), то сейчас человек делает опен-соурс проект. Уже респект, так может всем сообществом будем помогать? Проект с кодовым названием Cursed Earth - v1s0r - 20.03.2010 Я пока со стороны смотрю, занимаюсь немного другим. Закончу - присоединюсь к мобу. Его, фактически, нужно делать, сейчас там на заглушках всё. Проект с кодовым названием Cursed Earth - levdev - 20.03.2010 v1s0r,Пятница, 19 Марта 2010, 22:55 Написал:Я пока со стороны смотрю, занимаюсь немного другим. Закончу - присоединюсь к мобу. Его, фактически, нужно делать, сейчас там на заглушках всё.Да, я заметил. Я тебе если что на мыло буду скидывать некоторые наработки. Сейчас буду разбирастся с высотой. Ведь координаты не могут так отличатся, если ставить оригинальные, врятли Нивал делал поправки для отдельных обьектов. Проект с кодовым названием Cursed Earth - v1s0r - 20.03.2010 безусловно нет, но могут быть поправки глобальные или по группам... Проект с кодовым названием Cursed Earth - levdev - 20.03.2010 Вот-вот. Я тоже так подумал, но если соотнести обьекты - строения и обьекты юниты, то получается, что высота деревьев и некоторых строений читаются также нормально как и высота юнитов, а вот некоторые строения просто выбиваются из общего списка, хотя по группе должны считыватся нормально. Проект с кодовым названием Cursed Earth - ALtair - 20.03.2010 levdev,Пятница, 19 Марта 2010, 21:50 Написал:Но тогда вот в чем беда, мосты в зоне 1 и в bz7g пирамида. Как это обьяснить?По идее позиция любого объекта на карте должна напрямую браться из MOB-файла. Для партиклов, звуков и источников света эта позиция абсолютна, а для визуальных объектов она задана относительно террейна. Это значит, что для визуальных объектов (деревьев, домов, домиков, мобов и пр.) необходимо к прочитанной из моб-файла мировой координате прибавить _высоту_ ландшафта под этим объектом. Больше никаких преобразований не требуется. levdev,Пятница, 19 Марта 2010, 21:50 Написал:И вообще: ALtair, я слышал, что ты редактор сделал. Может быть присоеденишься к разработки, даш совет, пороешься в коде?Да, я делал редактор (и все еще в процессе), советами я и так помогаю, как могу. Вы задавайте вопросы, я поотвечаю. Присоединиться, однако, не могу. Во-первых, мне на свои-то проекты времени не хватает, браться еще за один - это точно время и силы на ветер. Во-вторых, я не считаю правильным общий выбранный подход к разработке. Я не понимаю, если честно, зачем вообще нужен порт ПЗ на линух, макОС и прочие не особо распространенные ОСи. Проект с кодовым названием Cursed Earth - levdev - 21.03.2010 ALtair,Суббота, 20 Марта 2010, 12:23 Написал:По идее позиция любого объекта на карте должна напрямую браться из MOB-файла. Для партиклов, звуков и источников света эта позиция абсолютна, а для визуальных объектов она задана относительно террейна. Это значит, что для визуальных объектов (деревьев, домов, домиков, мобов и пр.) необходимо к прочитанной из моб-файла мировой координате прибавить _высоту_ ландшафта под этим объектом. Больше никаких преобразований не требуется. Понятно. В любом случае спасибо! Надеюсь что ты не пропустишь мимо эту тему, когда будут новые сообщения. Вдруг опять советы потребуются. ![]() |