Редактор .mob файлов
#1
У меня есть идея, но не о представлении данных.
Я видел, что утилиты для ПРОСМОТРА mpr файлов есть, можно использовать её в совокупности с Mob Reversing Tool, и получить слабенький, но всё-же редактор. Идея реализовывается и без моделей. Он может работать по такой системе:

1. Загружается террайн. (Я видел, что некоторые люди могли зпгружать для просмотра mpr)
2. Анализируется моб файл: один за другим загружаются объекты из "ID_OBJECTSECTION", разделяются на классы (ID_OBJECT, ID_UNIT, ID_SOUND и т.д.). Для каждого класса будет соответствовать свой спрайт (если делать редактор без поддержи моделей).
3. Каждый из разбитых на классы обектов загружается на своих координатах (ID_OBJPOSITION) на террайн.
4. При выборе в редакторе любого объекта, к нему отображаются свойственные его классу параметры.

Применение: Таким редактором будет удобно изменять позиции объектов, относительно других объектов на террайне. Измение содержания крт будет проходить наиболее наглядно.

P.S. Где-то на форуме, я видел, как кто-то сагружал модельки предметов (без текстур), если редактор сможет таким-же образом загружать модели (а не спрайты классов), то из такого редактора может вырасти вполне вполне приличный МобЕдитор.
Только для этого надо людей. Например одни написали алгоритм загрузки террайна, другие моделей, третии структуры моба, четвёртые всё это добро компиллируют в одну программу. Для этого надо утвердить, кто за что будет отвечать. Вот моё предложение SmileSmileSmileSmile


Файлы вложений Эскизы(ов)
   
Капли на лице, это просто дождь, а может плачу это я?
Дождь очистил всё, и душа захлюпав, вдруг размокла у меня,
Потекла ручьём, прочь из дома к солнечным, не кошенным лугам,
Превратившись в пар, с ветром полетела, к неизведанным мирам...

ДДТ - Дождь.
Ответ
#2
... в итоге должно получится вот это: Editor.jpeg ...
Ответ
#3
На скриншоте показанна здоровенная иерархия событий. Для такого редактора как я описал, это слишком сложно... Но в остальном, как список предметов слева, или маленькое окошечко с настройками объекта на мой взгляд сделать вполне реально общими силами.
Предлагаю написать список, чего мы можем. Пример:

1. Загружать / сохранять объекты и их свойства.
2. Загружать террайн (алгоритмом сохранения террайна занимается такой-то и такой-то человек)
3. Такая-то группа людей пишет графический интерфейс.
4. И т.д.

P.S. Не надо пускать слюньки глядя на скриншот и ждать, пока Нивал выложит редактор. Хрен он его выложит. Надо организовать план работы, кто что может реализовать.


Файлы вложений Эскизы(ов)
   
Капли на лице, это просто дождь, а может плачу это я?
Дождь очистил всё, и душа захлюпав, вдруг размокла у меня,
Потекла ручьём, прочь из дома к солнечным, не кошенным лугам,
Превратившись в пар, с ветром полетела, к неизведанным мирам...

ДДТ - Дождь.
Ответ
#4
Ni28
Мы планировали простенький редактор и даже пытались его сделать. Редактор должен был бы работать на самой ПЗ. При этом программа конструктор должна была бы генерировать скрипткод и отдавать команду загрузки этого скрипта в ПЗ через консоль. При этом обратная связь должна была бы быть через ту же консоль (получение координат) или через сейв игры. Если я не ошибаюсь, ПЗ можно стартовать с параметрами командой строки(game.exe basecam.mob basegipat.mpr), после чего будет загружаться скрипт (CTonguerogram FilesПроклятые ЗемлиScripts1.scr) (нужно создать папку и файл)…
Вообще, даже простым консольным Скриптом можно сделать очень многое, переместить объект, установить объект из собственного набора, переустановить, оттестировать поведение юнита и так далее. Можно на карту устанавливать маркеры (специально сделанные флажки). В общем, любая фантазия, только придумывай и калбась….
Ну а потом сделать конвертор из сгенерированного списка консольных команд, вот и был простенький конструктор…
Ответ
#5
А почему не получилось? Задумка хорошая. Только что-бы загрузить изменённую карту нужно запустить скрипт, и передвигать объекты, редактировать пришлось бы через консоль. Мне кажется что сделать редактор отдельно от игры вполне в наших силах. Подумайте...


Файлы вложений Эскизы(ов)
   
Капли на лице, это просто дождь, а может плачу это я?
Дождь очистил всё, и душа захлюпав, вдруг размокла у меня,
Потекла ручьём, прочь из дома к солнечным, не кошенным лугам,
Превратившись в пар, с ветром полетела, к неизведанным мирам...

ДДТ - Дождь.
Ответ
#6
После сдачи сессии я могу посодействовать. У меня есть наработки, аналогичные наработкам Jet'а или Nivea (точно не знаю кто редактор колбасил). Готов работать, главное освободиться Wink Если будет еще программерская помощь, то будет вообще замечательно, а то одному программить здоровый редактор как-то несподручно, слишком сложно. Неплохо было бы, если б кто-то взялся за 3Д часть редактора, я мог бы сделать функции подгрузки/обработки всяческих файлов, включая датабазу, модели, мобы, мпр и т.д.

З.Ы. А Nivea давно появлялся?
Duty is everything, the greatest of joys, the deepest of sorrows.
Ответ
#7
Я так думаю.
Для того чтобы реализовать всякого рода задумки, придется переписать Стартер с Дельфи на С#, или С++. Так же, нужно сделать специальную программку (библиотеку) для контроля над Движком ПЗ в режиме «конструктора» - это передача команды «Execute commands.txt» в консоль движка (как строковую константу). Можно и усложнить задачу и передавать последовательно команды в консоль вместо запуска подготовленного файла. В некоторых случаях это необходимо делать, так как иногда нужно установить паузу между командами (Sleep), которая не обрабатывается из текстового файла команд. Передать команду, наверное, будет простая задача, в сравнении с задачей обратной связи, то есть получение данных из ПЗ. Думаю даже, можно будет передать команду в консоль и, не прибегая к каким-то сложным ухищрениям на низком уровне программирования, а просто эмулировать нажатие клавиш клавиатуры.



Нивеи месяца 4 не видел…
Ответ
#8
ALtair
Отличчно. Насчёт 3Д не знаю что и сказать... Я на дельфях такой движок на OpenGL класный слобал, мульти-текструирование, террайн и т.д. и т.п., но я заметил, все большую часть пишут на Си, а на Си я написал только одну прогу. Когда сравнивал размеры той проги с прогой написанной на дельфи написав и там и там по одной команде ExitWindowsEx Smile.
Но с другой стороны можно писать с помощью библиотек, только муторно немного. И еще небольшая загвоздка, дельфи врядли способен загружать DDS текстуры Sad, но впрограммировании ядра могу чем знаю помочь.
Капли на лице, это просто дождь, а может плачу это я?
Дождь очистил всё, и душа захлюпав, вдруг размокла у меня,
Потекла ручьём, прочь из дома к солнечным, не кошенным лугам,
Превратившись в пар, с ветром полетела, к неизведанным мирам...

ДДТ - Дождь.
Ответ
#9
Уже команда разработчиков собралась Wink Я буду тестить вашу прогу Smile

Ps Моб реверсер пишет что это прога не для редактирования мобов, а все редактируют <_<
Ответ
#10
Ni28 Написал:Но с другой стороны можно писать с помощью библиотек, только муторно немного. И еще небольшая загвоздка, дельфи врядли способен загружать DDS текстуры , но впрограммировании ядра могу чем знаю помочь.
Во-первых, я тоже пишу на дельфе Wink Во-вторых, Дельфя очень даже умеет читать DDS формат с применением некоторых библиотек (заголовочных для ДиректХ, Директ3Д). Точнее это даже не дельфя умеет, а сам ДиректХ, коим можно управлять из Дельфи (COM и фсё такое Wink).

Я тоже пытался в 3Д разбираться, но у меня пока мало что получилось. Максимум, что я смог - загрузить предварительно переконвертированную модель гипатского топора без текстур)
Duty is everything, the greatest of joys, the deepest of sorrows.
Ответ
#11
Тогда всё замечательно. Если с DDS проблем не придвидется, то нужно определить, с чем при создании редактора ещё могут возникнуть проблемы. Если графическую основу сделать на OpenGL (или лучше даже GLScene), то я могу этим заняться, нужен только алгоритм загрузки террайна и всё Wink

P.S. Расскажи пожалуйста ALtair, чем ты переконвертировал модельку, почему без текстур, и в чём она у тебя отображается (OpenGL, DelphiX, API...). Я может быть смогу помочь Smile
Капли на лице, это просто дождь, а может плачу это я?
Дождь очистил всё, и душа захлюпав, вдруг размокла у меня,
Потекла ручьём, прочь из дома к солнечным, не кошенным лугам,
Превратившись в пар, с ветром полетела, к неизведанным мирам...

ДДТ - Дождь.
Ответ
#12
Если задумали таую глобальную вещь то может и я на что сгожусь сейчас изучаю движок возможно смогу чтото изменить.!!!!!!!!!!!!
Поклонник Baldurs gate, Neverwinter Nights, Проклятые земли.
Ответ
#13
Всем желающим делать редактор: напишите что вы можете сделать для проекта, расскажите о своих наработках (алгоритм загрузки террайна, моделей , объектов и т.д.).
И давайте составлять план по какому принципу в какой последовательности и что мы будем делать.

P.S. Наверное писать надо на дельфях. Я предлагаю 3D часть делать на GLScene. Могу начать создавать основу для редактора. Мне нужны алгоритмы (желательно не сишные, а под дельфи) загрузки моб объектов и террайна. Желательно что-бы кто-нибудь написал, что у него получалось с моделями.
ПИШИТЕ СВОИ ПРЕДЛОЖЕНИЯ НАСЧЕТ РЕДАКТОРА Wink Wink Wink
Капли на лице, это просто дождь, а может плачу это я?
Дождь очистил всё, и душа захлюпав, вдруг размокла у меня,
Потекла ручьём, прочь из дома к солнечным, не кошенным лугам,
Превратившись в пар, с ветром полетела, к неизведанным мирам...

ДДТ - Дождь.
Ответ
#14
Модельку конвертировал почти руками Smile Без текстур потому, что там какие-то непонятки возникли с текстурными координатами. Если порыться еще, можно конечно дорыть до нормального состояния, но там еще есть всяческие параметры, с которыми разбираться надо для конвертации обратно. Не все там просто.

Писать мне лично будет тоже легче на дельфях, но вот по поводу GLScene я не уверен. Тут вряд ли кто-нибудь еще знает эти либы настолько, чтобы разобраться потом в коде, следовательно придется тебе одному колбасить движок, что не есть хорошо, ибо движок займёт большую часть времени.

Алгоритмы загрузки мобов и террайнов (мпр) не так сложны как кажутся, они на самом деле просто массивны очень из-за большого количества параметров. Я думаю сделать библиотеку для подгрузки объектов из моба. Кое-какие наработки уже есть, но там еще работать и работать.

Могу сразу сказать, что редактор сложен будет тем, что он должен будет брать инфу из нескольких мест одновременно. Т.е. например для загрузки мультиплеерного моба надо загрузить:
1) сам моб
2) параметры юнитов, одежек, магий, оружий, всяких сундуков, ворот и т.д. из соответствующей датабазы (сингл/мульти)
3) Модели объектов (кстати еще надо разобраться с костями и анимацией).
4) текстуры объектов, террайнов
5) тексты из texts.res и textslmp.res
6) материалы из materials.res (не те, которые в игре, а те, которые для 3Д юзаются)
7) всякие мелочи типа ai.reg, camera.ini и т.д.

безбагово реализовать такой здоровущий алгоритм обычной загрузки будет и то нелегко, а уж про обработку и сохранение я и не говорю...

Первым делом надо решить, реально ли это вообще сделать Wink
Duty is everything, the greatest of joys, the deepest of sorrows.
Ответ
#15
ALtair
Думаю, что вам будет очень трудно сделать редактор графики самим на дельфи, ведь по сути дела такой редактор и есть движок для игры.
Если вы поняли о чем я писал, то программирования какой бы то ни было графики, в моем предложении редактора, нет вообще. Отображения результата создания объекта, изменения параметров, анимация объектов, или еще чего-то осуществляется на стандартном движке ПЗ. В принципе, для этого есть все необходимые команды или способы управления объектами…
Ответ
#16
Во первых, на првых порах не обязательно, что-бы на модельках отображались текстуры, редектор ведь не игра, в игре текстуры будут, а при редактировании карты это мешать не будет. Wink
Во вторых, тоже самое могу сказать про базы данных. В редакторе можно будет вручную ввести название прототипа юнита, или модели рассы, как в Mob Reversing Tool'е. Wink
Отсюда же исчезает проблема взятия инфы из разных мест, когда-же редактор сможет вполне без глюков редактировать мобы, тогда можно подумать над встроением в него баз данных. Wink
Текстуры террайнов можно предварительно вытащть из игры, и редактор сможет их безпрепятсвтвеннно юзать. Wink
Если каждый из разработчиков будет снабжать свой код полным опсанием того, как он устроен, и желательно подключит обработчик ошибок (except), то большинство багов можно будет избежать. Wink
Если функции в редакор писать постепенно, то поначалу редактор будет малофункционален, но в таком редакторе будет легче отыскать баги, и когда будут реализовываться более сложные функции, этих багов можно избежать. Wink

Насчёт 3D основы для движка можно использовать DirectX или OpenGL. Но я ещё не работал в DelphiX, и ни чего посоветовать не смогу. На мой взгляд, GLScene можно вполне быстро освоить, тот же OpenGL, только упращённый.
Перед написанием надо решить, на чём писать 3D часть редактора. (за 3Д в проклятых Землях отвечает Direct3D). :excl: :excl: :excl:

P.S. Sun, я хорошо понял твою идею, редактировать ПЗ из нутри, но при этом придется для изменения карты запускать скрипты. Что немного непривычно. К тому-же в ПЗ нету интерфейсных элементов для редактирования, всё надо изменять толко через консоль Sad.
Капли на лице, это просто дождь, а может плачу это я?
Дождь очистил всё, и душа захлюпав, вдруг размокла у меня,
Потекла ручьём, прочь из дома к солнечным, не кошенным лугам,
Превратившись в пар, с ветром полетела, к неизведанным мирам...

ДДТ - Дождь.
Ответ
#17
В предложенном sun'м варианте есть еще один минус.. Таким образом нельзя будет редактировать саму поверхность карты (mpr). Можно конечно сделать что-то вроде конвертера для террайнов из формата 3DS Max, но, по-моему, это как-то по-левому будет выглядеть... Если делать редактор, то делать его полнофункциональным. Да, это сложно. Да, это займёт много времени. Да, нам потребуются долгие месяцы для банального изучения применяемых технологий. НО! В конце концов получится готовый продукт, с помощью которого можно будет делать очень много интересных вещей, включая пачки аддонов, мультиплеерных карт и т.д. и т.п. (кстати можно еще поставить под сомнение, что такое обилие дополнений не уменьшит интерес к игре...)

В общем, главное не болтологией заниматься, а делать. Боюсь, как бы эта идея не потонула среди остальных нереализованных.
Duty is everything, the greatest of joys, the deepest of sorrows.
Ответ
#18
Цитата:В конце концов получится готовый продукт, с помощью которого можно будет делать очень много интересных вещей, включая пачки аддонов

Ты просто не представляешь себе объемы работ над аддоном. Объемы большие.
Ответ
#19
Android_Alpha,26 Май 2004, 21:20 Написал:Ты просто не представляешь себе объемы работ над аддоном. Объемы большие.
Могу догадываться. Но я сильно сомневаюсь, что у вас есть полнофункциональный редактор... Скорее всего колбасите целым набором утилит, а это как раз очень замедляет работу, отсюда и видимость больших объемов получается.

З.Ы. Я видел конечно наработки Робина, они впечатляют, может быть он доделал уже редактор?

Кстати я тут посмотрел, для создания 3Д редактора вовсе не обязательно создавать такой же мощный движок, как и для самой игры. Можно его очень сильно упростить. Например вы видели редактор для Half-Life под названием WorldCraft? Он ведь там совсем не сложный, все объекты (юниты, звуки, источники света и т.д.) отображаются исключительно спрайтами. Главное реализовать 3Д вид и метод выбора объекта тырканием клавишы мыши.. Все остальное не облизательно.
Duty is everything, the greatest of joys, the deepest of sorrows.
Ответ
#20
Кстати, я вроде неплохо могу с алгоритмикой работать, т.к. всё-таки я 4-й человек во всём Краснодарском крае по программированию среди 11 классов... Wink Правда сейчас много сделать не смогу, т.к. (как и у многих) экзамены... Вот придёт Июль... :o Пока только по мелочи... Wink

Кстати, а DarkBasic тут никаким боком не влезет?
Ответ


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


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