Правила, действующие в этом форуме и всех его подфорумах:
1) Запрещена реклама в любых её проявлениях (сразу бан без предупреждения)! 2) Мат тоже не приветствуется на форуме, но иногда можно выразить свои чувства ( лучше заменяйте матные слова точками, пробелами, другими буквами)! 3) Категорически запрещается унижать, посылать, издеваться над участниками форума! Мы здесь все - одна большая и дружная семья! Поэтому за нарушение этого правила автоматически будем банить! 4) Разрешены ссылки на информацию, которые относятся к тому или иному разделу форума! 5) Ссылки не в тему будут удаляться и пользователь получит предупреждение или будет забанен! 6) Пользователям разрешено задавать любые вопросы относящиеся к теме, а мы все дружно ответим на эти вопросы. А также отвечать на вопросы и высказывать своё мнение. 7) Повторные темы, которые будут создаваться, будут удалены! Создавайте темы, удостоверившись, что такой темы нет на форуме! 8) Запрещён флуд во всех его проявлениях, сообщения не по теме, сообщения состоящие из одного или нескольких смайликов без текста, сообщения типа - Вах!, Рулез!, Круто! и т.п. Пользуйтесь пожалуйста кнопкой [EDIT], не плодите бессодержательные сообщения. 9) Использование смайликов разрешается не более 3-х подряд!
Короче, как-то так. Я без малейшего понятия, как люди отреагируют на мой пост, но я постарался быть тактичным, несмотря на то, что вопрос достаточно сложный и требовательный по своей натуре.
Первый ответ, достаточно обдуманный. На русском примерно звучит так:
Цитата:
Можно выделить две важные проблемы:
Первая заключается в том, что Хейнеман использовала "клетки" (cells) для рисования отдельных столбцов, пока машина не исчерпает лимит, дампя результаты в буффер [по-простому: сохраняя в память уже сделанное, чтобы очистить место для продолжения просчета], после чего продолжая рисовать столбцы дальше. Это грубое (нелогичное) использование оборудования, но если переписать параметры правильно, то вы смогли бы рисовать столбец за один присест с помощью лишь одной аппаратной ячейки. Это потребует значительных перестроек системы рендеринга, но это то, что "следует сделать" (для разрешения нашей проблемы).
А вторая заключается в том, что рисование "пола" не было оптимизировано (ускорено для облегчения жизни консоли) вообще, поэтому Хейнеман и "не успела исправить баги до релиза". Перерисовку полов следует переделать полностью.
Никакого кодинга, но парень описал смысл проблемы в самом коде. Уже что-то.
Пожалуйста) Только ты больно круто начал) Лучше зайти издалека. И в таких вопросах лучше использовать слово "could" вместо "can". Последний вариант повелительного наклонения, а они нам ничем не обязаны, лучше их не спугнуть, и без того не на кого опираться в этих вопросах.
Я спросил позже, может ли кто нам помочь с этим, посмотрим на ответ.
Ну, раз ты в той теме отписался, то ты можешь напрямую задавать вопросы. Я пока ограничился лишь тем, чтобы сделали мне наводку на того, кто может мне помочь с этим.
Просто я не считаю, что они возьмут и побегут помогать с этим. Соответственно, я счел нужным поступить вот эдак.
Versus писал(а):
Поменял can на could, правда, не знаю, чем они отличаются.
Could - вежливо. Can - не вежливо. Твой вопрос поначалу переводился как "Покажи, где искать?". С Could он переводится как "Подскажите, где можно найти?"
Надо будет подумать - может, в будущем, стоит задать подобные вопросы уже на форумах по сурспортам. Как-никак, сурспорты - прямые потомки от модификаций исходного кода.
Просто я не считаю, что они возьмут и побегут помогать с этим.
Не, конечно, никто не побежит. Более того, у меня сложилось ощущение, что сам 3DO порт там мало кому интересен.
Добавлено спустя 55 секунд:
DeXiaZ писал(а):
Твой вопрос поначалу переводился как "Покажи, где искать?". С Could он переводится как "Подскажите, где можно найти?"
Понял, спасибо за поправку.
Добавлено спустя 36 минут 30 секунд:
DeXiaZ писал(а):
Надо будет подумать - может, в будущем, стоит задать подобные вопросы уже на форумах по сурспортам. Как-никак, сурспорты - прямые потомки от модификаций исходного кода.
Тогда надо искать те сурспорты, которые пошли от Jaguar версии. Насколько я помню, таких пара будет.
_______________________________________ There are 10 types of people in the world: those who understand binary, and those who don't.
Не, конечно, никто не побежит. Более того, у меня сложилось ощущение, что сам 3DO порт там мало кому интересен.
Есть такое. 3DO считается плохо оптимизированным, но так как он весьма схож с Jaguar версией, то по их логике лучше играть на Jaguar, чем мучаться с 3DO. Тем не менее, спросить совет того стоило)
Versus писал(а):
Тогда надо искать те сурспорты, которые пошли от Jaguar версии. Насколько я помню, таких пара будет.
Ну, таковых всего 5: 3DO Doom, с которым мы работаем; GBA Doom, исходного кода которого нет и не будет; 32X Doom, исходный код я лично не нашел; Playstation Doom, исходного кода которого нет; Doom 64, исходного кода которого нет (Doom 64 EX использует метод обратной инженерии).
Нам предлагают использовать в каком-то смысле метод обратной инженерии - переписать самим код так, чтобы работало лучше, но при этом игра будет выглядеть все также.
You can discuss the DOOM Source Code with other Jaguar enthusiasts in our Atari Jaguar Forum.
Что ж, эти люди лучше всего поймут код 3DO, потому что там очень много схожего...стоит ли обратиться к ним? Или стоит взять код Jaguar и применить его целиком на железе 3DO?
Я бы посоветовал бы сделать сначала второе, хотя я все еще помню про то, что у 3DO своя система расчета уровней... А потом обращаться почти с теми же вопросами к этим людям.
К ним уже стучался. Там, похоже, я знаю больше всех.
Что ж, тогда хочется надеяться на ребят с Атари форума. Если не они, то придется самому пытаться понимать, что за дела там.
Вообще, язык программирования Дума является "С". Если будет совсем туго, то можно научиться этому языку. Благо он считается простым в освоении. Вообще, достаточно найти любых ребят, которые шарят хоть немного в этом языке (и которые могут хоть немного помочь с этим), и дело пойдет попроще. Сам я, вероятно, посмотрю пару туториалов, но не гарантирую, что что-то смогу полезное выудить для 3DO проекта.
Нашел видео на тему. Я все время нахожу что-то "вокруг да около", жаль, что не в яблочко...
Охрененно! Мне написал в ЛС на Думворлде один человек, который создал сурспорт EDGE. Легонькое лирическое отступление - он в EDGE смог создать настоящие порталы, соединяя абсолютно две разные части карты (такого больше нигде нет практически). И это не говоря про всякие 3д полы и объемные бассейны с жидкостями.
Итак, его сообщение:
Цитата:
Hey! Need help with the 3DO source? I have experience since I maintain a DOOM engine, and have ported said engine (3DGE) to lesser consoles, like the N64 and Dreamcast.
Does the 3DO have an SDK? If so, where and how do I compile? Set me up and we can get to work :)
Это очень круто. Что ж, я ему напишу о том, что основная тема разработки расположена здесь, дам ссылку на исходный код и дальше...даже не знаю. Он говорит про SDK. Вы чем-то же пользуетесь? Мне надо бы отослать и это дело.
Крутяяяк! Мне надо собраться с мыслями и подготовить ему софт!
Добавлено спустя 14 минут 42 секунды: Да, ссылку на эту тему обязательно. Если что непонятно ему будет, растолкуем по английски. Сделаю сборку со своим SDK (эмулятор Мака Basilisk II) и остальных вспомогательных прог под Win.
_______________________________________ There are 10 types of people in the world: those who understand binary, and those who don't.
Вот, собрал пакет для разработки, есть Readme. Если что-то не заработает, будем разбираться. Цепочка громоздкая, но удобнее сделать у меня не получилось. https://cloud.mail.ru/public/29gH/P1puRDypM
Readme
https://github.com/Olde-Skuul/doom3do -- Released source.
Basilisk_Doom.rar -- Preinstalled 3DO SDK under old Mac emulator.
PACK.rar -- REZFILE generation. All resources and utilities are included (made for Windows XP). Start _Convert.bat to convert resorces for REZFILE. Go to "Converted" folder and start MakeREZ.exe to make a REZFILE.
To_ISO_Doom3DO -- pack this folder with OperaFS[De]Compiller.exe to make a 3DO ISO CD image.
Original_Rezfile.rar -- Original REZFILE from Doom iso + unpacker + Unpacked data.
1) Unpack Basilisk_Doom.rar 2) Start BasiliskIIGUI.exe. Set ROM file path in Memory tab (1024.ROM). Check BasiliskII_prefs file location in "General" tab. Share at least one Hard drive in "My Computer" tab.
3) Start BasiliskII.exe. Go to For_compile:DoomWin. Open any *.c file. Close opened file. This will set the compile dir to "DoomWin" folder. Select from menu: "Build" -> "FullBuild". Type "Doom" and press OK button. This will create "Doom" file in DoomWin dir. Open shared hard drive and drag "Doom" file to it.
4) Go to Windows OS and rename "Doom" file to "Launchme". Place this file to "To_ISO_Doom3DO" folder. This is the main exe file.
5) Make REZFILE.
6) Place REZFILE in "To_ISO_Doom3DO" folder.
7) Run OperaFS[De]Compiller.exe to make an ISO.
8) Use Phoenix emulator to test the ISO.
Note, that preinstalled SDK (Basilisk_Doom.rar) is for Doom compile only. We have to modify few files in SDK. To compile SDK examples and others make a clean installation from SDK iso's in another Basilisk emulator.
Качать все по обеим ссылкам. PS. В комплекте уже измененные исходники и ресурсы на текущий момент. Там, где оригиналы - указано.
Добавлено спустя 1 минуту 42 секунды: Основные задачи: 1) Рендер пола и потолка. Переписать на cel-engine. 2) Спрайты. Формат каждого. Утилита по восстановлению. 3) Дополнительное анимированное огненное небо по образу PSX версии. 4) Добавить эффект эха (в зависимости от высоты сектора). 5) Добавить цветные сектора.
Вспомогательные задачи: 1) Удаление файлов из NVRAM из запущенной игры. 2) Неравномерно по времени держатся на экране ingame messages. 3) Не работает start (выход в главное меню из опций во время запущенной игры) после ввода чит-кода. 4) Предлагать удалить файлы из NVRAM при попытке сохранения после прохождения уровня (Если не хватает места в NVRAM). 5) Перекомпоновать главное меню. Сделать по образу New game. Load game. Options. 6) Добавить текстур стен, пола, потолка в REZFILE.
Ошибки и недоработки: 1) IR очки не всегда выключаются. 2) При загрузке бракованного сейва - вылет из игры. 3) Выбивает игру, когда часто нажимаешь save demo при полной памяти NVRAM. 4) Монстры не могут открыть двери с actions 117, 118.
_______________________________________ There are 10 types of people in the world: those who understand binary, and those who don't.
Хорошо, я отправлю эти ссылки и переведу эти моменты.
Но она написала ответное письмо:
Цитата:
BTW -- I am a girl, I read through the thread (real name is Coraline).
First thing I will do is fork the project, rename the source files to match my 3DGE engine, and speed up a lot of the math calls from my own engine and/or simplify the math.
Should I register at the forum link? I dont know Russian but Google Translate gives me a good idea, so I am not sure they would be able to understand English.
I am acquainted with Rebecca Heineman, who wrote the 3DO port, so I will ask her if she can elaborate the 3DO parts to me, but I understand 95% of the source code as-is. I still need to know how to compile the source. I also do not own a 3DO -- are there emulators for it?
Let me know, in the meantime, I will start simple refactoring of the code to match my source port.
Вкратце: 1) Она девушка (она просмотрела бегло тему, а я ее тут назвал "чуваком"...нехорошо с моей стороны получилось [sorry] ) 2) Она хочет подогнать движок 3DGE прямо в 3DO консоль. Ранее она уже писала, что ей это удалось для других консолей с Doom. Только это - нужен эмулятор. Каким пользуетесь сами? 3) Стоит ли ей регаться? Она не знает русский по понятным причинам, но может использовать гугл переводчик. Хотя, проще ей писать на английском, мы переведем (я переведу, если вдруг что).
Пусть регистрируется тут и пишет на английском. Я пойму, если что, задам наводящий вопрос. Тут много обсуждений, если Google translate ей переведет непонятно, объясним на английском. По ссылкам есть все, что ей нужно. Readme написал на английском. Ждем с нетерпением здесь.
_______________________________________ There are 10 types of people in the world: those who understand binary, and those who don't.
аже сейчас, просматривая код Doom, не могу уяснить, чем же отличается реализация отрисовки стен и пола/потолка.
Я так понимаю за это отвечают функции DrawWallColumn и DrawFloorColumn. И чем же они отличаются... В DrawWallColumn я вообще не вижу функции рендера, одни преобразования... В DrawFloorColumn вызывается DrawASpan. Я думаю наша цель - избавиться от этого DrawASpan (это вроде бы функция из Burgerlib) и заменить её на функции из GraphicsPholio 3DO SDK. Как-то так. Осталось разобраться как работает DrawWallColumn и почему отрисовка пола не работает по тому же принципу.
I still need to familiarize myself with the intricacies of the 3DO system, but it sounds like a good first start.
The very first thing I will look at first is memory handling -- this can greatly benefit the port by being the first thing looked at.
Second -- what do they mean about "cel-engine"? Is it different than just the "DOOM" engine? Is the DOOM engine decoupled as far as flat and wall rendering? Seems to me as a total waste of time -- they should be unified again and not deferred, as those are the two biggest pieces of the engine IMO. But maybe I am not understanding correctly. . .
SO, I'll be looking at 1) from both lists (it seems the objectives/priorities are slightly out of order here, since we are wanting the game to run at a faster and more stable framerate)
Я ей ответил, что CEL-Engine - это аналог GPU для 3DO, а не игровой движок (который и зовется Doom Engine/id tech 1). Также я ответил, что список целей направлен на создание TC, а сама пусть делает то, что в ее власти и силах - т.е. оптимизировать движок, она за этим и писала.
На это письмо она так и не ответила. В любом случае, сразу готовый код и все такое она не родит. Нужно дать ей время, возможно, она ничего не пишет, потому что особо нечего писать (кроме "ок") - как будут результаты, тогда она поделится ими.
Добавлено спустя 1 минуту 51 секунду: По поводу моих "личных" дел касательно проекта - решил заняться саундтреком на будущее. Пока свои треки не пишу, но занимаюсь кое-чем, что отличит "мой" набор от "чужих".
Да, похоже на то. Но Ребекка говорила, что-то про невозможность перспективной отрисовки в SDK. Но я могу ошибаться.
Добавлено спустя 16 минут 13 секунд: DeXiaZ Первоочередная и главная задача - рендер пола и потолка и общее ускорение игры другими методами (если это возможно). Остальное, думаю, мы потихоньку вкорячим. Интересно, код будет открыт?
Добавлено спустя 31 секунду:
DeXiaZ писал(а):
По поводу моих "личных" дел касательно проекта - решил заняться саундтреком на будущее. Пока свои треки не пишу, но занимаюсь кое-чем, что отличит "мой" набор от "чужих".
Мммм! Интригует!
_______________________________________ There are 10 types of people in the world: those who understand binary, and those who don't.
Первоочередная и главная задача - рендер пола и потолка и общее ускорение игры другими методами (если это возможно). Остальное, думаю, мы потихоньку вкорячим. Интересно, код будет открыт?
У ее детища - сурспорта EDGE (ныне 3DGE) исходный код открытый. Вероятно, "подгонка" этого порта для 3DO будет открытой...для нас. Для всего остального мира - хз, но вроде как "эта тема" кроме нас никого и не волнует.
Versus писал(а):
Мммм! Интригует!
Надеюсь, что не облажаюсь) Ну, в любом случае, я собираю только "варианты", по факту всегда можно будет что-нибудь изменить и/или добавить.
А, еще добавлю небольшое наблюдение. Пусть при возможности глянет дальность отрисовки и максимальную высоту сектора. При создании собственного уровня мы на эти грабли наступали. Уровень или вылетал, или работал с графическими артефактами, либо жутко тормозил. Но без увеличения производительности уделять этому внимание вряд ли нужно.
_______________________________________ There are 10 types of people in the world: those who understand binary, and those who don't.
Насколько мне известно, исходный код тут никак не поможет. Дело в силах консоли. Единственный баг, который "записан" в коде - это растяжение текстуры, если ее лимитировали до высоты сектора 256, например. Но это исправляется одним методом, хотя консоль может не потянуть.
В любом случае, я вам предоставил уровни из PSX Doom, где все сектора 256 максимум, так что можно не париться. А в PSX Lost Levels тем более - там точно также сделано по 256.
Есть еще Master Levels, там есть уровень Black Tower. Вот там высота сектора зашкаливает и вызывает графические глюки на 3DO.
Прочекай PSX The Lost Levels, я лично (да еще и Salahmander2 помог) переносил Black Tower туда под лимиты Соньки. Эта версия на 3DO должна работать исправно.
Только увидел это предложение. К сожалению, так не выйдет. Несмотря на прямое наследие, общего там не так и много.
Что же, очень надеюсь, что Кэролайн добьется успехов в этом, ведь она специалист, в отличие от нас. Если она сможет это сделать, то она будет моей личной богиней
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения