Город Джунов

Полная версия: Проект с кодовым названием Cursed Earth
Вы просматриваете упрощённую версию нашего контента. Просмотр полной версии с полным форматированием.
Страницы: 1 2 3 4 5 6 7 8 9 10 11
Готов первый релиз движка CE.
Обновил существующие спайки, а также добавил новый - figviewer.
Появился каркас движка, им пользуются существующие демки. Теперь движок будет активно развиваться.

Что нового в движке:
1. Всё Smile
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.
Как пойму, из-за чего это, поправлю...
У меня для вас сюрприз.
Лежит там же под названием mapviewer.

Это прототип моего секретного спайка.
Это следующий спайк, который я выпущу.

Не думал, что получится сегодня его выложить, но мне удалось за 2 часа написать на текущем движке. Значит, 2 недели проведённые в трансе были не за зря.

Обязательно посмотрите zone1, zone12, zone17 ну и т.д. по своему желанию.
Жду отзывов, комментариев, предложений ))
Отлично.
Протестировал, пару карт. Скажу сразу, встречаются тормоза на крупных картах.
Есть проблемы с текстурами. Деревья плохо выглядят. Пи поповороте
камеры, скажем на карте базы 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. Скрытые обьекты отображаются, добавленные по скрипту не отображаются, а некоторые и вовсе находятся на своем месте.
В любом случае уже отличный прорыв, отличная работа, так держать!
С модельками юнитов (Го-Го, люди, орки, etc..) проблемы в том, что рисуются все т.н. части тела, ну или еще их можно назвать костями скелета. В общем случае кости скелета либо напрямую задаются в mob-файле, либо их список определяется базой (database.res/units.udb) - так вот у v1s0r'а пока этого нет.

Вот с прыгающими текстурами, пропадающими в зависимости от положения камеры полигонами - это я тож не понял че за глюки. Где-то какой-то косяк с рендерингом, по ходу.
ALtair - а что скажешь по поводу преподнятых обьектов и обьектов в зоне1 которых просто не должно быть там.
Например мосты.
Я вчера в полуотрубе залил демку, не успел всё рассказать.
ALtair прав, я не учитываю видимость частей моделей.
Определяя высоту объекта я отсекаю его позицию к ближайшему целому, что и даёт глюки с положением.

Со временем поправлю.
С рендерингом действительно что-то не так, буду разбираться. Возможно, связано с прозрачностью. Она меня уже давно преследует...

Предусмотрю возможность подгружать мобы.

С людьми дело сложнее - информация об их частях и текстурах где-то в другом месте... Буду искать, где. Скрипты? БД?

-f работает только на linux. Пока поживём так, мне не до этого сейчас.

levdev, спасибо!)
ALtair,Понедельник, 15 Марта 2010, 15:40 Написал:С модельками юнитов (Го-Го, люди, орки, etc..) проблемы в том, что рисуются все т.н. части тела, ну или еще их можно назвать костями скелета. В общем случае кости скелета либо напрямую задаются в mob-файле, либо их список определяется базой (database.res/units.udb) - так вот у v1s0r'а пока этого нет...

Понял, только Го-Го не относится к юнитам с частями тела(костями скелета). Т.к. он прототип обычных гоблинов, они грузятся без проблем. У Го-Го там просто глюк с оружием, помимо самой пики, у него еще какой то косяк в руке. Что то прове ПРАЩИ, только серго цвета. Такой вот с Го-Го маленький глюк.
Сделал новый релиз figviewer и mapviewer.

Восстановил прозрачность воды и некоторых частей у моделей (на гарпии хорошо видно).
Сейчас я попробовал полностью сохранить стейт-машину OpenGL.
Посмотрите пжл, изменилось ли что-нибудь...
Я посмотрел на zone12 - всё здорово.

Стало, по-моему, тормознее.
Если напрягают тормоза - после загрузки камеру сразу вниз, к земле.
levdev,Понедельник, 15 Марта 2010, 21:55 Написал:Го-Го не относится к юнитам с частями тела(костями скелета).[right][snapback]40156[/snapback][/right]
Вообще-то все юниты в ПЗ имеют хоть какой-нибудь скелет и все без исключения могут рисоваться с ограниченным набором костей... Обычные гоблины, к слову, тоже с двумя оружиями в руках :Р
Вообщем, изучил я все эти графические форматы.
MOD, BON, FIG, anm, ADB
Так что буду разбиратся...
Очередной релиз движка и некоторых спайков.
Что нового.

1. Сократил потребление системной памяти для моделей с морфингом. Для больших зон это более 3 МБ.

2. Исправлены все ошибки с текстурированием. Проблемы были с отображением камней, мостов и развалин. Ошибка моя была в усечении текстурных координат, которые могут быть за границей [0,1].

3. Исправлена ошибка с отображением моделей с текстурами dxt. Это, в частности, деревья. Они отображались с противными белыми пятнами. Беда оказалась в модуле текстур. Я считал, что текстуры dxt1 идут как RGB, что неправильно. У них есть альфа канал (низкой точности, но это не важно). Прикрутил расширение texture_compression для win32. Если оно у вас поддерживается (а это более чем вероятно), то всё будет в ажуре. Одновременно с этим уменьшилось потребление памяти на win32 (не надо ничего перепаковывать) и время загрузки. На линуксе сжатые текстуры поддерживаются нативно.

Если вдруг найдётся человек, хорошо знакомый с алгоритмом dxt1, то есть реальный шанс помочь - поправить ручной код распаковки текстур. У людей до сих под старые карточки, так что пригодится.

Это общее.
Теперь по спайкам.

4. figviewer фич новых нет, только подсосались все исправления. В планах попробовать интерполировать переходы между анимациями.

5. mapviewer Частично исправил баг с расположением объектов. Они чуть летают ещё, но уже лучше. С производительностью ничего пока не делал. И остались некоторые баги с прозрачностью.
Если поддерживаются все расширения, то смотреть на зоны теперь просто приятно. Как будто переносишся в мир ПЗ.

Глобальная задача - поднимать fps. Знаю, что делать, но займёт какое-то, может и значительное, время.
Наслаждайтесь!
Одна странная вещь происходит:
Протестировал новый резил.
Опустил в коде координаты Z( у тебя они почему то Y) на 1 y.e.
Обьекты перестали летать, только мобы чуток провалились. Но когда загрузил bz7g зона Тка-Рика, все также, только вот зикурат или пирамида(хз что это), которая должа быть как и остальные обьекты на своем месте - поднята по оси Z примерно на 30 едениц.
И еще, в Mob Reversing Tool координаты оси Z отличаются от наших на 3.5 едениц. А остальные норм загржаются. Но когда я выравнивал координаты, то вообще все проваливалось...
Это тебе на заметку v1s0r
Я попробую исправить, если не смогу - Маэстро ваш выход.

Добавил: levdev [mergetime]1269014388[/mergetime]
если что, это все по MAPVIEWER
Вообще мобы по умолчанию должны быть частично в земле.
[attachment=717]
Хорошо, оставляем родные координаты. Скажем для деревьев в зоне 2, 0.02 по высоте.
Мобы в таком случае проваливаются, слегка. Но тогда вот в чем беда, мосты в зоне 1 и в bz7g пирамида. Как это обьяснить?
И вообще: ALtair, я слышал, что ты редактор сделал. Может быть присоеденишься к разработки, даш совет, пороешься в коде?
Если уж даже бинарники своих редакторов, редко тут кто выкладывал( а точнее я вообще не помню такого, еле-еле mpr вьювер кто то выложил ), то сейчас человек делает опен-соурс проект. Уже респект, так может всем сообществом будем помогать?
Я пока со стороны смотрю, занимаюсь немного другим. Закончу - присоединюсь к мобу. Его, фактически, нужно делать, сейчас там на заглушках всё.
v1s0r,Пятница, 19 Марта 2010, 22:55 Написал:Я пока со стороны смотрю, занимаюсь немного другим. Закончу - присоединюсь к мобу. Его, фактически, нужно делать, сейчас там на заглушках всё.
[right][snapback]40170[/snapback][/right]
Да, я заметил.
Я тебе если что на мыло буду скидывать некоторые наработки.
Сейчас буду разбирастся с высотой. Ведь координаты не могут так отличатся, если ставить оригинальные, врятли Нивал делал поправки для отдельных обьектов.
безусловно нет, но могут быть поправки глобальные или по группам...
Вот-вот. Я тоже так подумал, но если соотнести обьекты - строения и обьекты юниты, то получается, что высота деревьев и некоторых строений читаются также нормально как и высота юнитов, а вот некоторые строения просто выбиваются из общего списка, хотя по группе должны считыватся нормально.
levdev,Пятница, 19 Марта 2010, 21:50 Написал:Но тогда вот в чем беда, мосты в зоне 1 и в bz7g пирамида. Как это обьяснить?
По идее позиция любого объекта на карте должна напрямую браться из MOB-файла. Для партиклов, звуков и источников света эта позиция абсолютна, а для визуальных объектов она задана относительно террейна. Это значит, что для визуальных объектов (деревьев, домов, домиков, мобов и пр.) необходимо к прочитанной из моб-файла мировой координате прибавить _высоту_ ландшафта под этим объектом. Больше никаких преобразований не требуется.

levdev,Пятница, 19 Марта 2010, 21:50 Написал:И вообще: ALtair, я слышал, что ты редактор сделал. Может быть присоеденишься к разработки, даш совет, пороешься в коде?
Да, я делал редактор (и все еще в процессе), советами я и так помогаю, как могу. Вы задавайте вопросы, я поотвечаю. Присоединиться, однако, не могу. Во-первых, мне на свои-то проекты времени не хватает, браться еще за один - это точно время и силы на ветер. Во-вторых, я не считаю правильным общий выбранный подход к разработке. Я не понимаю, если честно, зачем вообще нужен порт ПЗ на линух, макОС и прочие не особо распространенные ОСи.
ALtair,Суббота, 20 Марта 2010, 12:23 Написал:По идее позиция любого объекта на карте должна напрямую браться из MOB-файла. Для партиклов, звуков и источников света эта позиция абсолютна, а для визуальных объектов она задана относительно террейна. Это значит, что для визуальных объектов (деревьев, домов, домиков, мобов и пр.) необходимо к прочитанной из моб-файла мировой координате прибавить _высоту_ ландшафта под этим объектом. Больше никаких преобразований не требуется.

Да, я делал редактор (и все еще в процессе), советами я и так помогаю, как могу. Вы задавайте вопросы, я поотвечаю. Присоединиться, однако, не могу. Во-первых, мне на свои-то проекты времени не хватает, браться еще за один - это точно время и силы на ветер. Во-вторых, я не считаю правильным общий выбранный подход к разработке. Я не понимаю, если честно, зачем вообще нужен порт ПЗ на линух, макОС и прочие не особо распространенные ОСи.
[right][snapback]40175[/snapback][/right]

Понятно. В любом случае спасибо! Надеюсь что ты не пропустишь мимо эту тему, когда будут новые сообщения. Вдруг опять советы потребуются. Wink
Страницы: 1 2 3 4 5 6 7 8 9 10 11