Редактор .mob файлов
#41
В таком случае предлагаю поступить так:
Графическое ядро болжно быть немного отделено от остальных. Модули (чтение форматов, соответствие типов и классов, редактирование свойств, управление и т.п.) будут передавать данные в ядро, а ядро делать действия и выдавать выходные данные. Тогда можно будет сначала написать ядро на OpenGL, а уже потом (в перспективе) переписать одно ядро на Direct3D.
Ответ
#42
План. Коротко.
1. Ядро программы. 3D Engine.
2. Алгоритм загрузки террайна.
3. Написание классов объектов для редактора.
4. Загрузка моделей.
5. Алгоритм загрузки объектов разбивания на классы и отображения.

3D Engine давайте сделае в первоначальном варианте на GLScene, почему, я уже писал.

План. Подробно.
1. Интерфейс, модули 3D Отображения для GLScene (в перспективе для Direct3D).
2. Анализируем наработки по загрузки составляющих .Mpr секций .SEC. Переписываем алгоритм под GLScene.
3. Анализируем МОБ наработки, MOB Reversing Tool нам в этом поможет. Для каждого класса ID_OBJECTSECTION пишем свойственнные им классы в опредёлённый модуль (пр. Object_Particle.pas, Object_Sound.pas, Object_Unit.pas и т. д.).
4. Посмотрим, что у нас есть на тему загрузки 3D моделей. Пока вполне сойдёт и без текстур. Перекидываем алгоритм на GLScene.
5. Каждый обладает своими свойствами (пункт 3). Такими как место в пространстве, вращение, модель.

P.S. Будем делать так как предложил ELF. С учётом второго девайса ренденеринга. Теперь давйте уясним, кто чем будет заниматься. Я могу координировать работу и заниматься 3D Engine'ом. Несколько человек вполне могут заниматься одним делом, надо, только надо, чтобы "правая рука знала, что делает левая".

P.P.S Вы вполне можете писать алгоритмы на OpenGL, я потом оптимизурую под GLScene (на GLScene много автоматизированно). :excl:
Капли на лице, это просто дождь, а может плачу это я?
Дождь очистил всё, и душа захлюпав, вдруг размокла у меня,
Потекла ручьём, прочь из дома к солнечным, не кошенным лугам,
Превратившись в пар, с ветром полетела, к неизведанным мирам...

ДДТ - Дождь.
Ответ
#43
В связи с вышесказанным целый ряд вопросов.
1) Поддерживает ли GLScene подгрузку DDS? А подгрузку текстур из памяти?
2) Зачем писать для игрового объекта класс? Да еще для каждого типа свой?
3) Сомневаюсь, что тут кто-то хорошо знает ОпенГЛ или ГЛСкен (кроме Ni28), что сможет помогать в разработке движка. Получается его будет писать один человек?
4) Каким образом вы собираетесь написать сепаративный движок? И какой смысл сначала писать под одну библиотеку, а потом под другую? Почему бы не написать сразу под Директ3Д? Ну да, в совершенстве его тут никто не знает, но зато появится повод изучить Smile
5) По поводу координатора надо будет еще в будущем обсудить, потому как человек должен быть ответственный и, я думаю, чаще других должен быть в он-лайне Smile Надо будет соизмерить возможности и способности каждого.
6) Ну и последний вопрос. Кто вообще участвует в создании собстна редактора? Smile Кто в команде?

Кстати, зацаните фишку Wink


Файлы вложений Эскизы(ов)
   
Duty is everything, the greatest of joys, the deepest of sorrows.
Ответ
#44
Судя по ответам в команде, PZIGOR, ALtair, ELF и я. Извините, если кого не записал.
Вот целый ряд ответов на вопросы ALtair'а:

1. GLScene поддерживает любой зарегистрированный в дельфи формат. Например можно слить пакеты, для чтения tga, pcx, tiff, gif форматов. (эти пакеты позволяют вообще работать дельфи с такими форматами напр TImage, а не специально для GLScene). Скорей всего, я пока не интересовался, есть такие пакеты для работы с DDS.

2. Я видно неправильно выразился, класс не для дельфи, а для редактора, чтобы опознавать опции отдельно для выбранного предмета. Что-бы не случалось такое: Выбранна модель строения, мы открыли его свойства и видим параметры юнита (ID_UNIT_PROTOTYPE, ID_UNIT_SPELLS и т.д.). Строение функции вообще может быть например такой:

if ID_OBJECTSECTION.ID_OBJECT[xxx].ID_OBJTYPE = 50 then
ID_OBJECTSECTION.ID_OBJECT[xxx].Class := Class_Unit else
if ID_OBJECTSECTION.ID_OBJECT[xxx].ID_OBJTYPE = 53 then
ID_OBJECTSECTION.ID_OBJECT[xxx].Class := Class_Building ...

xxx - порядковый номер загружаемого объекта.

Class_Unit - Этот объект принадлежит к юнитам. Доступные опции (ID_UNITARMORS, ID_UNITPROTOTYPE и т.д) для него загружаются из файла Class_Unit.pas. Для него так-же действуют настройки ID_OBJ.

Class_Building - Этот объект принадлежит к постройкам. Доступные опции (ID_OBJPOSITION, ID_OBJPRIMTXTR и т.д). для него загружаются из файла Class_Building.pas.

ID_OBJECTSECTION в данном случае выступает как ROOT (родительский) объект для остальных объектов.

3. Сомневаюсь, что тут найдётся много человек умеющих работать Direct3D, тем более, какая разница чему учиться OpenGL или Direct3D. Я просто видел в команде есть люди кроме меня знакомые с OpenGL. Но это надо решать вместе. Я - за OpenGL. ALtair - за Direct3D. Пишите своё мнение о трёхмерном движке.

4. Мы же говорили, "в перспективе", значит если получтся под OpenGL, начнём учиться Direct3D, и писать под Direct3D.

5. У меня выделинная линия интернет "Юниланс",есть возможность долго быть в онлайне... Но с другой стороны заниматься и работой над проектом, и координировать - сложно. Выставляйте свои кандидатуры.

P.S. ALtair, на рисунке у тебя слева иерархия объектов, справа - вид сверху, точками обазначены объекты разные объекты разным цветом... Уже неплохо Wink Wink Wink

P.P.S. В суботу утром я уезжаю на дачу, в воскресенье вечером приеду, попытайтесь решить, пока меня не будет, на каой 3D библиотеке писать прогу, и утвердить состав команды. Wink :excl:
Капли на лице, это просто дождь, а может плачу это я?
Дождь очистил всё, и душа захлюпав, вдруг размокла у меня,
Потекла ручьём, прочь из дома к солнечным, не кошенным лугам,
Превратившись в пар, с ветром полетела, к неизведанным мирам...

ДДТ - Дождь.
Ответ
#45
Я считаю, что команду создавать не нужно. Всё на договорной основе.

Движок сначала на OpenGL, потом (через много-много времени) на DirectX.

Над редактором работать так: кто желает сделать такой-то модуль на таком-то языке, который должен делать то-то, и т.п.
Ответ
#46
Я с тобой согласен, ELF. Я могу уже делать 3DEngine движка, давайте кто-нибудь займётся террайном, перекинит мне код я переведу код под движок. Кто-нибудь другой (например ALtair, на скриншоте у него классно получилосьSmile) кинет мне свои достижения в сфере загрузки объектов из мобов.Ещё кто-нибудь кинет свои наработки по загрузке моделей (можно, что-бы загружались только полигоны, без текстур и анимации).
Начнём делать.
Капли на лице, это просто дождь, а может плачу это я?
Дождь очистил всё, и душа захлюпав, вдруг размокла у меня,
Потекла ручьём, прочь из дома к солнечным, не кошенным лугам,
Превратившись в пар, с ветром полетела, к неизведанным мирам...

ДДТ - Дождь.
Ответ
#47
Я в близжайщие 20 дней вряд ли смогу активно помогать. Sad

А вообще опиши то, что тебе нужно "в формате". Типа нужен "алгоритм/исходник-пример/подобие-проги/идея/информация о формате" для "террайна/юнитов/ядра/модуля свойств/и т.п."... и по-больше подробностей организаторских... Rolleyes
Ответ
#48
Да, ты меня правильно понял.
Капли на лице, это просто дождь, а может плачу это я?
Дождь очистил всё, и душа захлюпав, вдруг размокла у меня,
Потекла ручьём, прочь из дома к солнечным, не кошенным лугам,
Превратившись в пар, с ветром полетела, к неизведанным мирам...

ДДТ - Дождь.
Ответ
#49
Ni28 я до середины июня тоже только просматриваю темы помоч не смогу сессия чтоб её. Кстати если ты взял на себя роль координатора то именно ты должен высказаться о том что ты именно хочеш получить, а не ELF должен тебе всё говорить так что же всётаки должно получиться. Давайте пока только принципы построим и алгоритм накидаем что ли а уже после сессии начнём серьёзно работать как я понял тут у многих или сессия или экзамены.С загрузкой ланшафта я пока не занимался сейчас нет времени если выдаётся минутка копаюсь в скилах.В инете бываю с 8:00 до 17:00 с понедельника по четверг в пятницу с 8:00 до 12:00 у меня выделенка на работе это так общие сведения.!!!!!!!!!!!!
Поклонник Baldurs gate, Neverwinter Nights, Проклятые земли.
Ответ
#50
Вообще-то я уже много раз говорил, чего хочу в конкретном итоге получить, к тому-же если поступают интересные предложения надо их рассмотреть, а если они реализуемы, то принять. В итоге должен получиться инструмент, с помощью которого удобно перемещатьвращать объекты, изменять их модели высотуширину, что-бы это было просто и наглядно.

P.S. У меня тоже экзамены до 10 июня. В онлайне обычно каждый день примерно с 10 утра до 23:30 ночи, у меня выделинка. ISQ: 313-966-745, иногда бываю в MIRC'e, на #Leto.
Капли на лице, это просто дождь, а может плачу это я?
Дождь очистил всё, и душа захлюпав, вдруг размокла у меня,
Потекла ручьём, прочь из дома к солнечным, не кошенным лугам,
Превратившись в пар, с ветром полетела, к неизведанным мирам...

ДДТ - Дождь.
Ответ
#51
Какое то здесь затишие. Ну что всётаки решили с редактором я готов помогать но только по движку и немного в OpenGL если необходимо и давайте окончательно сформулируем что необходимо чтобы потом не вазвращаться в начало.!!!!!!!!!
Поклонник Baldurs gate, Neverwinter Nights, Проклятые земли.
Ответ
#52
Вообще, чтобы реализовать такую "штуку", понадобится очень много времени, знаний и организованности. Мне кажется, что, скорее всего, полноценный редактор игры если и будет реализовываться, то только после всего остального.
Ответ
#53
Никакого смысла его реализовывать "после всего остального", по-моему, уже не будет.

Лично у меня сейчас еще месяц практика в инсте, после чего я, возможно, смогу за него взяться.
Duty is everything, the greatest of joys, the deepest of sorrows.
Ответ
#54
ALtair,
Хорошо было бы. Smile
Ответ
#55
Хм, у меня есть некоторые идеи, которые могу организовать уже сейчас, но ещё не решили, на чём, OpenGL, Direct3D, GLScene делать редактор...
Капли на лице, это просто дождь, а может плачу это я?
Дождь очистил всё, и душа захлюпав, вдруг размокла у меня,
Потекла ручьём, прочь из дома к солнечным, не кошенным лугам,
Превратившись в пар, с ветром полетела, к неизведанным мирам...

ДДТ - Дождь.
Ответ
#56
Подсчитай в этой теме кто за что проголосавал и всё на том и попытаемся сделать ведь попытка не пытка.

P.S. Ну давайте все кому это интересно всётаки попробуем зделать редактор хотябы простенький для начала.!!!!!!
Поклонник Baldurs gate, Neverwinter Nights, Проклятые земли.
Ответ
#57
Давайте тогда всё сделаем более ясно. :excl:
Во-первых, мы не редактор MOB'ов тут затеяли, а Редактор Локаций (целиком).
Есть вопрос: На чём делать Редактор Локаций?
Есть варианты: OpenGL, Direct3D, GLScene.

Прошу тогда Jet'а или Sun'а сделать тему с опросом "На чём делать Редактор Локаций?".
Ответ
#58
а что ты подразумеваешь под "локацией"?
Duty is everything, the greatest of joys, the deepest of sorrows.
Ответ
#59
Ну, сразу зону (с текстурами), на неё нанесены объекты. Есть возможность их редактирования (визуального). Это для графической оболочки.
Ответ
#60
гм.. По-моему, проще разделить проргаммы для обработки. Каждая прога обрабатывает свой файл. Одна для создания и редактирования поверхностей, вторая для редактирования объектов (мобов т.е.)
Duty is everything, the greatest of joys, the deepest of sorrows.
Ответ


Перейти к форуму:


Пользователи, просматривающие эту тему: 27 Гость(ей)