Правила, действующие в этом форуме и всех его подфорумах:
1) Запрещена реклама в любых её проявлениях (сразу бан без предупреждения)! 2) Мат тоже не приветствуется на форуме, но иногда можно выразить свои чувства ( лучше заменяйте матные слова точками, пробелами, другими буквами)! 3) Категорически запрещается унижать, посылать, издеваться над участниками форума! Мы здесь все - одна большая и дружная семья! Поэтому за нарушение этого правила автоматически будем банить! 4) Разрешены ссылки на информацию, которые относятся к тому или иному разделу форума! 5) Ссылки не в тему будут удаляться и пользователь получит предупреждение или будет забанен! 6) Пользователям разрешено задавать любые вопросы относящиеся к теме, а мы все дружно ответим на эти вопросы. А также отвечать на вопросы и высказывать своё мнение. 7) Повторные темы, которые будут создаваться, будут удалены! Создавайте темы, удостоверившись, что такой темы нет на форуме! 8) Запрещён флуд во всех его проявлениях, сообщения не по теме, сообщения состоящие из одного или нескольких смайликов без текста, сообщения типа - Вах!, Рулез!, Круто! и т.п. Пользуйтесь пожалуйста кнопкой [EDIT], не плодите бессодержательные сообщения. 9) Использование смайликов разрешается не более 3-х подряд!
Ответа все еще нет. Но пишу сюда не за этим, просто подтверждаю сегодняшнее отсутствие помощи от Кайзера.
Так зачем я сюда пишу? Я говорил, что люди еще с 2000-го года работают с исходным кодом Дума и получают разные вариации. Оказалось, что жадных программистов не было 100% среди них. Есть серия туториалов по редактированию, и я весьма уверен в мыслях о том, что там есть полезная информация для данного проекта:
Добавлено спустя 4 минуты 44 секунды: Быстро проглядел глазами - из действительно полезного можно отметить создание Super Shotgun'а (для нашей ванили) - для Doom 2 карт это весьма нужно. Про карты указано только в самой нижней ссылке, при быстром взгляде не понял, можно ли там выудить что-то для создания цветного освещения, но кое-какая инфа по проггингу левелов присутствует.
Добавлено спустя 12 минут 56 секунд: Еще небольшая инфа, но это абсолютная теория, но seems legit:
Цитата:
Split the colormap into two ranges. Compress the normal light to dark range into a lesser number of steps, say 24, use the vacant 8 to map all colours to a specific hue. Within the maps, use the the brightness range 64 to 248 for normal lighting, and the range 0 to 56 for the coloured areas.
To tint only sprites:
Create a new palette, split it into two sections, one for textures one for tintable sprites. Draw all textures and untintable sprites using the texture range. Draw all tintable sprites using the tint range. Customise the colormap to map the tinted range to your desired colour for a certain brightness value or range. When mapping, use that brightness value in sectors you want the sprites to tint
В альтернативу написанному в цитате - каким-нибудь образом заставить игру использовать цветовые эффекты при подборе супер бонусов (анти-рад костюм, который делает экран зеленоватым; берсерк, который делает экран красноватым и т.д.) в конкретно указанных секторах. Идея вроде неплоха, но надо много мозговать. Цитата выше предполагает существующие махинации с ванильным движком, но никто гарантий не дает.
DeXiaZ Спасибо за туториалы, теперь мне читать не перечитать! На первый взгляд, действительно, можно полезное подчерпнуть. Не куски кода, так смысловую нагрузку.
_______________________________________ There are 10 types of people in the world: those who understand binary, and those who don't.
DeXiaZ Да, я рассматривал этот код. Но тогда не думал о цветных секторах, искал что-то свое, не помню уже. Посмотрю свежим взглядом. А пока маленькая победа! Удалось собрать под Linux плагин 3docel для Gimp! https://github.com/ewhac/gimp-plugin-3docel С помощью каких выражений я это делал, говорить не буду, главное, что это получилось. Собранный плагин во вложении. При установленном Gimp его нужно будет установить вот так:
Уже попробовал подпихнуть Gimp-у распакованные спрайты. Корректно поедает он еще меньше, чем 3doresexplorer. Но зато выдает осмысленные ошибки на каждый некорректный файл. Пишет разное, пока не вникал что именно. Но хоть какая-то дополнительная приблуда-утилита.
DeXiaZ Нужно будет менять что-то в исходниках. Насколько много - сказать сложно, ибо написанием таких плагинов никогда не занимался. Но есть подозрение, что много, потому что помимо этих нескольких файлов тянется еще много из папки компилятора.
_______________________________________ There are 10 types of people in the world: those who understand binary, and those who don't.
Решил сделать одно небольшое исследование касательно все того же света.
Помните такую вещь как Universal Doom Map Format, он же UDMF? Это единый формат карт, установленный ведущими разработчиками сурс портов для Doom. Этот формат карт создает простую (можно открыть в блокноте) систему значений (БЕЗ огромных массивов информации, едва понятной самим создателям формата) - координаты положения вещей, их освещаемость, цветность и вложенные скрипты.
Поговорим о цветности. Так как все в UDMF записывается парочкой простеньких строк, я решил заострить свое внимание на том, КАК оформляется цветной свет.
Я создал простую комнату, внутри квадратный сектор. Этот сектор я сделал красным (Hex: FF0000) (RGB: 255 0 0) (HSV: 0 100 100):
На этом редактирование карты я заканчиваю. Открываю теперь в блокноте. В начале файла всякие данные, которые в данном случае не интересны совершенно (местоположение вершин, длина сторон сектора и т.д.). В почти самом конце видно настройки созданных двух секторов:
Это данные комнаты, т.е. бОльшего сектора. Уровень пола равняется условному нулю, уровень потолка условным 128 единицам высоты (стандартные значения при создании секторов в Doom Builder). Текстура пола Floor0_1, текстура потолка Ceil1_1, уровень освещенности - 192 единицы (максимум бывает 255). Все стандартно, и интуитивно понятно.
Это маленький красный сектор. Все почти тоже самое, только вот добавляется строка lightcolor = 16711680. Что такое 16711680? Это децимальное значение красного цвета. Правильнее, если верить гуглу, надо говорить, что понятие decimal обозначает 128-битный тип данных. И вот так записывается красный цвет.
Дальше я сделаю предположение, которое легко так вытекает из увиденного: Сначала в секторе задается настройка света, она тут 192 единицы. То есть, текстуры всего, что находится в секторе (в данном случае пол и потолок, но со стенами та же история будет) будут затемнены до 75% от своего первоначального вида. То есть каждый пиксель будет изменен на темного сородича, дабы создать эффект темноты.
После этого, движок еще прикидывает - какого цвета свет. Если белого, то ничего не изменяется, а если красного (для него это 16711680), то будет использоваться красная пелена на текстуре, которая затемнена до 75%
Такая простая запись параметров была одобрена разработчиками сурспортов ZDoom, GZDoom, Vavoom, Skulltag и Zandronum соответственно. Это значит, что в этих портах надо искать схожие структуры в коде, потому что UDMF заключен во всех этих портах. Не думаю, что для цветного освещения как-то по-особенному парились и делали везде "свое".
Увы, больше ничего выявить я не могу из того, что вижу. Не скажу, что это нас сильно приближает к "разгадке" тайны цветного освещения, но теперь мы можем тыкаться не только в ZDoom-родственные порты, но и в Vavoom (он был создан на основе комбинации исходных кодов Doom, Hexen и Heretic + еще немного взято из Quake 1). Может быть, все, о чем я указал, хоть как-то будет полезным.
DeXiaZ Спасибо за выкладки, было интересно. Пару выводов я для себя сделал. Самая бяка в том, что интуитивно понятный формат UDMF для нас уж совсем не подходит. Он для мощных компов с большим количеством ОЗУ (относительно приставок 3DO, PS). Кстати, да, 16711680 = 0xFF0000, т.е. красный цвет. В любом случае, на каждый сектор (с цветом) у нас получается дополнительный параметр. Тут никуда от этого не деться. Для UMDF - это дополнительная текстовая строка, для нашего случая это будет дополнительный лумп. Хорошо, если удастся сделать так, чтобы лумп был меньшего размера за счет выбрасывания из него данных секторов без цвета, но это вряд ли. Да и для отдельных уровней (где цветовая коррекция присутствует практически на всех секторах) выбрасывание данных не поможет. Кстати, не знаешь ли какую нибудь утилиту, которая преобразует карты UDMF => обычный WAD? Уж больно хорошие Lost Levels PSX. Хочется их применить, а пересохранить не получается.
_______________________________________ There are 10 types of people in the world: those who understand binary, and those who don't.
Ну, если с освещением такая лажа лютая, то лучше обойтись. В таком исходе событий предпочтительно сосредоточить внимание на увеличение производительности путем улучшения рендера пола и потолка.
По поводу UDMF в ваниллу - нет, нельзя. Это как жаренное яйцо - денатурация белка не позволит вернуть яйцо в прежнее, сырое состояние.
PSX Lost Levels пока весьма рано трогать, если делать Doom 2. Но я помогу с ре-конвертацией Дум 2 карт, потому что, если вы обратите внимание на список авторов каждой конкретной карты - я их и делал для того проекта. Сразу на UDMF делал, это да, но в этот раз можно все устроить под ваниллу.
Еще есть хорошая и старая новость - я могу конвертировать все карты из Playstation Doom в обычный ПК формат. По идее, больше махинаций совершать не потребуется, если только 3DO Doom не будет зависать из-за неизвестных лайнов цветного света. Ну, знаете, когда в GBA Doom было что-то неизвестное для геймбоя, то игра зависала наглухо (хотя, на неизвестные лайны игра реагировала обычно - просто ничего не совершала). Не знаю, как на это все реагирует 3DO. А текстуры используются одни и те же - из Jaguar версии, поэтому, с текстурированием проблем вообще не будет. Все, что надо будет переделать - это освещение. Так как Playstation версия использует продвинутую технологию цветности (в принципе, речь не только про освещение), на картах этой версии ОЧЕНЬ темно по ПК меркам. В Playstation они как бы осветляются на ходу, но если запустить их же на ПК, то будет как в Думе 3. Но это тоже не сложно - можно массово увеличить уровень света на сколько-то процентов. Останется лишь договориться - сколько именно "подойдет", и в принципе все.
ЗЫ: Кстати, я забываю все - вы новых монстров добавлять можете или это пока на уровне теории из методичек по редактированию исходного кода ПК-Дума?
если вы обратите внимание на список авторов каждой конкретной карты - я их и делал для того проекта
О! Здорово! Молодца! Проект хороший, один из главных из числа продолжающих идеи первых Doom-ов.
DeXiaZ писал(а):
но в этот раз можно все устроить под ваниллу.
Если будет возможность, сделай, пожалуйста. Эти уровни однозначно пригодятся. Не знаю, когда удастся полноценно добраться до Level и Texture set-а, но к этому моменту хотелось быть во всеоружии.
DeXiaZ писал(а):
я могу конвертировать все карты из Playstation Doom в обычный ПК формат.
Ну, а это вообще сказка! Тож хотелось бы иметь в копилке.
DeXiaZ писал(а):
По идее, больше махинаций совершать не потребуется, если только 3DO Doom не будет зависать из-за неизвестных лайнов цветного света.
Подработка некоторая потребуется, но мы с Yarangoй в этой теме много критичных моментов уже выяснили.
DeXiaZ писал(а):
Не знаю, как на это все реагирует 3DO.
Тоже капризная, но можно последовательно исключать причины этих глюков.
DeXiaZ писал(а):
Но это тоже не сложно - можно массово увеличить уровень света на сколько-то процентов.
Или текстуры немного отфотошопить.
DeXiaZ писал(а):
вы новых монстров добавлять можете или это пока на уровне теории из методичек по редактированию исходного кода ПК-Дума?
Новых монстров добавлять пока не пробовали. Все уперлось в формат спрайтов. Перед тем, как начинать внедрять новых вражин, нужно быть уверенным в том, что полностью понимаем формат спрайтов. Меньше граблей будет, т.к. процесс внедрения затронет очень много файлов исходников и все они должны бить друг с другом. Как бы мне не хотелось поскорее начать этот процесс, пока не разберу формат спрайтов, никуда не двинусь. Эх, мечтаю увидеть, как Mancubus тяжелой поступью пойдет по уровням 3DO Doom...
_______________________________________ There are 10 types of people in the world: those who understand binary, and those who don't.
О! Здорово! Молодца! Проект хороший, один из главных из числа продолжающих идеи первых Doom-ов.
Благодарю. Рад, что ты так считаешь, мы старались над ним именно как над продолжением идеи первых Думов.
Versus писал(а):
Если будет возможность, сделай, пожалуйста. Эти уровни однозначно пригодятся. Не знаю, когда удастся полноценно добраться до Level и Texture set-а, но к этому моменту хотелось быть во всеоружии.
Ок, этим можно заняться, но только когда работа над картами будет уже конкретной. Однако:
Versus писал(а):
Ну, а это вообще сказка! Тож хотелось бы иметь в копилке.
Сделал это сейчас. Все карты Doom 2, которые были в PSX. С текстурами некоторая накладка случилась - несмотря на Jaguar совместимость, как-то Текстурпак для GBA тут не сработал. В любом случае, всегда можно будет массово заменить на нужные, главное, что лайны работают исправно.
Versus писал(а):
Новых монстров добавлять пока не пробовали. Все уперлось в формат спрайтов. Перед тем, как начинать внедрять новых вражин, нужно быть уверенным в том, что полностью понимаем формат спрайтов. Меньше граблей будет, т.к. процесс внедрения затронет очень много файлов исходников и все они должны бить друг с другом. Как бы мне не хотелось поскорее начать этот процесс, пока не разберу формат спрайтов, никуда не двинусь. Эх, мечтаю увидеть, как Mancubus тяжелой поступью пойдет по уровням 3DO Doom...
На форуме Zdoom мне ответили на вопрос конвертации карт в формате UMDF в обычный WAD.
Цитата:
Load a map, then open Map options (F2) and change game configuration to a one, which uses Doom map format. Doing this will convert the map to Doom map format, but it won't convert the action specials.
Только что проверил на PSX Lost Levels, работает! Теперь можно расширить levelset.
_______________________________________ There are 10 types of people in the world: those who understand binary, and those who don't.
Понятно. Что ж, это хорошая новость, но не без ложки дегтя. На некоторых картах, которые я делал, было очень много экшен лайнов. Можно задолбаться переделывать, но да ладно.
Вопрос на засыпку: Есть способ редактировать музыку для этого Дума?
В Playstation версии музыка представлена midi файлами (как в ПК версии), которые проигрываются специальным архивом звуков (soundfont - дословно "звуковой шрифт").
Люди доставали и midi, и звуковой шрифт. Как раз я с помощью их труда смог создать новый саундтрек для PSX The Lost Levels.
Так вот. Если возможно провернуть подобное для 3DO Doom, то могу подогнать новый саундтрек, который будет (должен) звучать также, как и оригинальный.
DeXiaZ С музыкой в 3DO Doom дела обстоят и просто и сложно одновременно. Музыкальные треки мы можем сделать из любого mp3 файла. Засунуть их в образ тоже не проблема, также не проблема назначить хоть каждому уровню индивидуальный трек. Но я в этой теме где-то писал о своих экспериментах с внедрением новых треков. Проблема была в увеличенных временнЫх затыках при подгрузках частей уровней во время игры. Заметил я это на USB версии FZ-10 (с флешкой). Gen13 проверял этот же образ на IDE версии приставки и таких затыков субъективно не заметил. На CD версии образ не проверялся. Не знаю, с чем может быть связаны такие проблемы, но я решил повременить с такими нововведениями. Здесь требуется более тщательный тест на разном железе.
DeXiaZ писал(а):
могу подогнать новый саундтрек, который будет (должен) звучать также, как и оригинальный.
Это какой? С midi звучанием?
_______________________________________ There are 10 types of people in the world: those who understand binary, and those who don't.
С музыкой в 3DO Doom дела обстоят и просто и сложно одновременно. Музыкальные треки мы можем сделать из любого mp3 файла. Засунуть их в образ тоже не проблема, также не проблема назначить хоть каждому уровню индивидуальный трек. Но я в этой теме где-то писал о своих экспериментах с внедрением новых треков. Проблема была в увеличенных временнЫх затыках при подгрузках частей уровней во время игры. Заметил я это на USB версии FZ-10 (с флешкой). Gen13 проверял этот же образ на IDE версии приставки и таких затыков субъективно не заметил. На CD версии образ не проверялся. Не знаю, с чем может быть связаны такие проблемы, но я решил повременить с такими нововведениями. Здесь требуется более тщательный тест на разном железе.
Так, вероятно, в midi и проблемы. Если пихать mp3, то, я так понимаю, 3DO начинает тупить из-за бОльшего объема данных. Не сказать (на вскидку, не опираясь на реальные факты о железе), чтобы чтение midi файла с одновременным воспроизведением звуков из 3DO soundfont'а делает работу игры быстрее, но вес игры не будет увеличен как печень гуся, откормленного для "фуа-гры".
В общем, с такими проблемами действительно лучше повременить. Очередной тупик в разработке мода...
Да, знаю эту страничку. Но ни фига на ней не понимаю.
В общем, автор текста демонстрирует, как работает оригинальный метод загрузки текстур на карте и как этот же метод работает на Айфон-порте. И делает выкладки кода с набором разных переменных, которые мне мало о чем говорят (кроме всяких XYZ, эти по названию понятны).
DeXiaZ Вопросы не задавал, стесняюсь своего нубства. Чтобы задать вопрос, нужно хотя бы примерно знать предмет обсуждения. Иначе, получится: "расскажите, ребзя, как игру сделать". Я даже не знаю, что мне нужно. Как данные отсылать? Это SDK читать и изучать примеры. В голове должны быть понятия видеобуфера, VRAM, RAM, адресация памяти, такты проца и прочие прелести. Для меня это темный лес. Чисто теоретически я могу предположить, каков механизм работы с ресурсами перед выводом на экран, но это будет в общих чертах. Даже сейчас, просматривая код Doom, не могу уяснить, чем же отличается реализация отрисовки стен и пола/потолка.
_______________________________________ There are 10 types of people in the world: those who understand binary, and those who don't.
На Думворлде создать тему, где просим о помощи людей, которые разбираются и понимают, что написано в сурс коде Дума. Спросить внаглую о том, куда смотреть в 3DO случае для того, чтобы оптимизировать двиг.
В этом и суть. Если ты нуб и ничего найти не можешь, то задавай вопросы спецам, иначе так можно никуда не продвинуться. Если такой вариант подойдет, то я спрошу там в таком ключе. А там посмотрим.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения