|
Raven
Пользователь
Откуда: Владик Регистрация: Февр. 2004
Всего: 408 сообщений
|
Возможно, кто-то ещё помнит мой топик "Структура сейв-файлов". Единственным ответившим оказался Абель, полностью ответив на указанный вопрос. Но после изучения материалов по приведённым им ссылкам у меня возник новый вопрос: возможно ли каким-либо образом сделать сейв-геймы от оригинального Фола совместимыми с сейв-геймами различных модов? Мы начали переписыватся с Абелем по этому поводу. Результатом переписки стал ответ: можно! Технически, сейвы от мода становятся несовместимы с сейвами оригинальной игры при добавлении в игру новых глобальных переменных (GVARs). Т.е. если бы удалось использовать в моде те GVARs, что уже есть в игре, не добавляя новых, то проблема с сейвами была бы решена. В Фолауте 695 GVARS. Из них 117 свободных (объявлены в global.h, но не используются в игре). Список уже составлен (Абелем). 117 - казалось бы немного. Но в каждой варе - 32 бита. И в первые 30 бит каждой вары можно писать/читать. Т.е. 117 варов = 3510 битов. Средний квест можно заскриптовать используя всего 2 бита (взял/не взял, выполнил/не выполнил). Итого 1755 квестов. Хороший запас. Возникает второй вопрос: можно ли сделать совместимыми сейвы от различных модов. Ответ - можно! Для этого нужно, чтобы разработчики не использовали в своих модах одни и те же GVARы(или одни и те же биты этих GVARов). Решить такую проблему мог бы онлайновый сервис по регистрации GVARов. Т.е. должна быть доступна информация о том какие GVARы свободны и какие уже задействованы. Что это даст разработчикам: Простоту отладки и возможность использовать отдельные(неперсекающиеся по критерам) квесты из чужих модов простым Copy-Paste. Что это даст игрокам: Возможность поиграть в новый мод не с самого начала игры, а с момента сейва в оригинальном Фолауте/другом моде. Минусы: Разработчикам нужно будет регистрировать вары - т.е. писать куда-то письмо, просить нужное количество битиков, менять свой код под полученные значения. Не сложно - но хлопотно. Пожалуйста, высказывайте свои мнения по поводу данной идеи. К сожалению, совместимость сейвом не означает совместимости самих модов. Добится полной совместимости различных модов в общем случае невозможно - т.к. они могут содержать различные версии одного и того же int- или msg-файла. Но избавится от "тонких мест" - scripts.lst, scrname.msg и т.д. - вполне въозможно. Над чем мы, скорее всего и поразмышляем. Правда, Абель? :-)
|
Отправлено: 15:38 - 5 Мая, 2004
|
|
Tehnokrat
Модератор
Откуда: Новосибирск Регистрация: Окт. 2003
Всего: 489 сообщений
|
Я тут представил себе вполне реальную ситуацию, которая может возникнуть при попытке использовать "старые" записи: предположим поговорил ты с кем-то, записался, поставил новый мод, а в этом моде разговор с данным чуваком изменён, а у тебя в сэйве отмечено, что такой разговор уже был. Вот ты и обломаешся. Или нужный предмет не найдёшь, так как карта будет браться из сэйва, а не из мода. Так что я думаю, идея использовать "старые" сэйвы не есть гуд. Другое дело, что создатель мода может приложить к своему моду рабочий сэйв, для нежелающих начинать игру с начала. А уж неустраивающие хары можно подредактировать, благо редактор сэйвов имеется. И где же ты найдёшь создателей модов, которые согласятся чего-то там регистрировать и битики считать ради весма сомнительной необходимости использовать старые записи?
----- Прошлое можно узнать, но нельзя изменить. Будущее можно изменить, но нельзя узнать.
|
Отправлено: 23:59 - 5 Мая, 2004
|
|
ABel
Партизан
Откуда: Krasnoyarsk Регистрация: Дек. 2002
Всего: 307 сообщений
|
Дело не в том, что кто-то после установки нового мода не сможет продолжить играть со старого места. Речь идёт не о сейвах и их совместимости, а о возможности одновременно установить несколько модов от разных производителей на один Фолл. Сейчас, если два разных мода используют одни и те же переменные для разных целей, такой возможности нет. И её не будет до тех пор, пока моддеры не договорятся, что, мол, вот эту переменную пользует Вася, а вот эту Петя. Совместимость же сейвов - это так, приятное дополнение ко всеобщему миру и взаимопониманию. В общем... Предлагается уникальная система регистрации! Вы нам бабки (а вы как хотели?) - мы вам биты! Спешите проникнуться идеей! Первые 10 проектов обслуживаются со значительной скидой!
----- Семь раз об дверь, один - об рельс.
|
Отправлено: 6:06 - 6 Мая, 2004
|
|
Raven
Пользователь
Откуда: Владик Регистрация: Февр. 2004
Всего: 408 сообщений
|
to Abel Первой десятке - скидка 200%. Спешите! После этого скидка составит всего лишь 100%! :-) Да Абель, я тебе ещё про наши глобальные цели не говорил - читай ниже и удивляйся :-) to Techokrat Для большей ясности - идея совместимости сейвов - НЕ самодостаточна. Это лишь первый шаг к куда более глобальной цели - совместимости различных модов. Если 1. эта цель будет достигнута 2. и идея всеобщей совместимости будет достаточно распространена то всё мировое сообщество Фоллаут-модеров (громко, конечно, сказано) превратится в одну большую команду, делающую один гигантский супер-мод. Соответственно, наши цели: 1. найти все "перекрывающиеся" элементы модов (не каких-то конкретных модов, а в самом общем случае) 2. по возможности разрешить проблемы с этими элементами Пересекаться могут следующие вещи: 1. сейвы - проблема (теоретически) решена 2. различные лист-файлы (scrname.msg, *.lst) - у меня есть идею по разрешению этой проблемы 3. одинаковые файлы (различные версии одних и тех же int, msg, pro, frm, acm и т.д.) - т.е. разного рода "патчи" на Фол. Расширения/изменения уже существующего. То, что ты написал, я отношу к третьему типу. Этим нам ещё предстоит занятся. Потому - пожалуйста, проникнись глобальностью затеи - и ... присоединяйся. А теперь - ответ на критику :-) >>И где же ты найдёшь создателей модов, которые согласятся чего-то там регистрировать... >>А уж неустраивающие хары можно подредактировать, благо редактор сэйвов имеется. Т.е. тебе, разработчику, лень написать письмо регистратору, получить ответ и вписать вместо, скажем #define GVAR_my_var (696) #define GVAR_my_var (63) Зато игроку эдитить твой сейв предварительно закачаным редактором - самое оно. Не в напряг - ни-ни. Даже в радость. Найдёт чем занят себя на ближайщий час. Или поиграет сгенерированным тобою персонажем - ничего, не переломится. Схавает. >>... и битики считать ... А вот это я уже отношу к хорошему стилю. Я при написании покера писал всё побитово. Не потому, что прижало или ещё что. Просто WG сказала "не след в 32 битовых варах инфы на 1 бит хранить". Это не сложно. К тому же можно раздавать готовые процедуры для битовой записи/чтения. Но первую часть твоего письма признаю разумной. Но - см. выше. Этим ещё предстоит занятся. Т.к. все мы ТимИксяне - предлагаю перенести обсуждение в TeamX-Tech. Или ты тестер, Technokrat?
|
Отправлено: 7:45 - 6 Мая, 2004
|
|
Wasteland Ghost
Маленькое Злое Привидение
Откуда: Россия, Самара Регистрация: Дек. 2002
Всего: 2251 сообщение
|
Во-первых, проблема эта (буде таковая действительно имеется) относится как раз к межкомандному сотрудничеству, так что переносить обсуждение в приватные рассылки смысла нет ;). Во-вторых, ну бог с ними, с варами. Но ведь верно же сказано - это не панацея. Сюжет-то под вары не подгонишь. И если, например, по сюжету данного конкретного мода что-то *не должно* быть сделано раньше чего-то, то после такого вот совмещения полезут страшенные глюки. В общем, моё имхо: все эти мучения сейвов подходят для небольших "технических" модов типа смены брони неписей и тэ дэ. Для крупных модов, затрагивающих сюжет игры, типа Нового Взгляда, эта методика приведёт, во-первых, к неоправданному усложнению процесса разработки, а во-вторых, к появлению глюков у любителей конвертить старые сейвы, кои они, конечно же, отнесут на счёт разработчиков и будут поливать их (нас ;) тоннами грязи на каждом форуме. А теперь вопрос: а оно надо?
|
Отправлено: 9:54 - 6 Мая, 2004
|
|
Tehnokrat
Модератор
Откуда: Новосибирск Регистрация: Окт. 2003
Всего: 489 сообщений
|
to Raven Помнится, где-то в дебрях этого форума уже была тема про совместимость модов и если ты, Raven, отыщешь и перечитаешь её, то может быть ещё сильнее проникнешся величием данной проблемы и может быть даже сможешь правильно ответишь на вопрос Wasteland Ghost (а оно надо?)... в смысле отрицательно ответить. По поводу побитовых операций с варами: не надо ловить мух там, где можно ловить слонов Использовать одну вару на квест или на диалог с применением побитовых операций вполне оправдано и весьма удобно, но вот применение одной вары на несколько квестов - это уже перебор, ибо неудобно (имхо). >>Или ты тестер, Technokrat? Во первых - Tehnokrat (или Технократ), во вторых "я сам себе всё"
----- Прошлое можно узнать, но нельзя изменить. Будущее можно изменить, но нельзя узнать.
|
Отправлено: 23:38 - 6 Мая, 2004
|
|
Raven
Пользователь
Откуда: Владик Регистрация: Февр. 2004
Всего: 408 сообщений
|
to WG (можно так?) >>Для крупных модов, затрагивающих сюжет игры, типа Нового Взгляда, эта методика приведёт, во-первых ... Да, я согласен с тобой. В переписке с Абелем (том 67, стр. 894) я сказал буквально следующее: >Ну в принципе в "Новом взгляде" это не надо - всё равно для полноценной игры надо всё >сначала будет начинать. А вот для менее глобальных модов - это будет очень, очень полезно. >Смотри, моды, меняющие оружие и т.п. уже порядком всем надоели, т.к. не добавляют >практически ничего нового к игре. А если модер решает добавить квестов - то перед ним >встаёт в полный рост проблемма несовместимости сейвов. Т.е. даже если он добавил всего >один квест - сейвы уже не совместимы. Тогда нет никакого смысла выпускать мини-моды - кто >в здравом уме будет переигрывать игру до середины чтобы пообщаться, скажем, с парой новых >NPC в Нью-Рино? Потому имеют смысл только глобальные моды. Которые требуют огромное >количество времени, участников и трудозатрат. Новый Взгляд - это не обычный мод. В нём старые сейвы действительно не к месту - т.к. он подразумевает прохождение игры с самого начала новым персонажем + меняет баланс и, отчасти, геймплей. Ему нафиг не нужна совместимость сейвов или совместимость с другими модами. Но я-то говорю о других модах. О простых, обычных , маленьких модах. Пока что обыкновенный игрок, ничего не понимающий в форматах файлов, не может, скажем, поменять часть оружия на Хеклер и Кох, FN-FAL на калаш, поставить новую озвучку, новый арт для scenery, новые скины для Хайвеймена и патч 1.05 одновременно. И это, по-моему, неправильно. В то же время и разработчик не может выпустить мод, добавляющий пять персонажей и два квеста - потому как играть в него никто не будет - слишком мало новых ощущений по сравнению с рутинной работой по прокачке персонажа заново. По сути, разрешение этой проблемы даст право на существование таким вот маленьким модам. В идеале должны быть: 1. один всенародно разрабатываемый патч на Фол 2. куча мелких модов, из которых при желании можно было бы сделать новый геймплей 3. глобальные stand-alone моды, совместимые только с определёнными модами или не совместимые ни с чем. Т.е. мой ответ - оно надо. Не для Нового Взгляда и, возможно, не для будующих проектов ТимИкса, но для скриптеров-одиночек (коих не так уж и мало). Если честно - я бы и сам чего-нибудь мог написать - благо я сейчас не задействован в разработке - но вот именно указанная проблема и мешает мне что-либо сделать. "Глобалить" не хочется и не можется, а мелочёвка никому не нужна to Tehnokrat >>Во первых - Tehnokrat Извини. Описка. >>во вторых "я сам себе всё" Я имел в виду - входишь ли в состав TeamX и, если да, то в качестве кого? >>... но вот применение одной вары на несколько квестов - это уже перебор, ибо неудобно (имхо). _________gvar_parser.h________________ <...> //#define GVAR_ENEMY_ARROYO (7) #define set_global_var(GVAR_ENEMY_ARROYO,x) \ if x==1 then set_gvar_bit_on(7,1); \ else set_gvar_bit_off(7,1) #define set_global_var(GVAR_TALKED_TO_ELDER,x) \ if x==1 then set_gvar_bit_on(7,2); \ else set_gvar_bit_off(7,2) <...> _________gvar_parser.h________________ Тоже самое для global_var. Как видишь - без проблем. Так можно использовать "разные" вары. Исходник будет выглядеть так же (до препроцессора). А биты сэкономятся. Возможно, будет и универсальный gvar_parser.h
|
Отправлено: 15:36 - 7 Мая, 2004
|
|
Raven
Пользователь
Откуда: Владик Регистрация: Февр. 2004
Всего: 408 сообщений
|
Так что? Обсуждение закончилось? Кто нибудь заинтересован или нет? Уж лучше критика чем безразличие...
|
Отправлено: 8:21 - 10 Мая, 2004
|
|
izuk3n
Deleted Регистрация: N/A
Всего: N/A сообщений
|
Raven, а конкретней, что ты предлагаешь? /quote/ мой ответ - оно надо. Не для Нового Взгляда и, возможно, не для будующих проектов ТимИкса /unquote/ как я понимаю, речь идет о том, чтобы -первыми- построить будку, где будут торговать битами.., т.е. фактически о мировом господстве? =) почему бы и нет, мысля она конечно светлая. но, думается мне, тимикс и без этого переживет неплохо. Да и слишком узкий класс модов может спокойно и в полной мере пользоваться.. как сказать.. договорённостью им. Ravena.[] (моё дилетанское мнение)
|
Отправлено: 23:25 - 11 Мая, 2004
|
|
Raven
Пользователь
Откуда: Владик Регистрация: Февр. 2004
Всего: 408 сообщений
|
>как я понимаю, речь идет о том, чтобы -первыми- построить будку, где будут торговать битами.. Нет. Речь идёт о том, чтобы люди могли делать моды совместимые друг с другом. Биты - это только часть - необходимая, но не самая важная. >но, думается мне, тимикс и без этого переживет неплохо. А причём здесь TeamX? Нужна единая база для отслеживания ГВАРов + какие-нибудь инструменты для редактирования записей в этой базе. В самом примитивном случае - просто топик на форуме. При регистрации новой вары - меняется пост со списком вар. >Да и слишком узкий класс модов может спокойно и в полной мере пользоваться.. договорённостью Блин. Все моды, не меняющие старых персов, карты, шмотки + все моды, меняющие РАЗНЫХ персов, РАЗНЫЕ карты и РАЗНЫЕ шмотки могут быть совместимыми друг с другом. Понимаешь, что это даёт? Один человек сделал квестик, второй, третий. Четвёртый карту соорудил. Пятый предметов добавил. Шестой - фрм-ок подрисовал. Мнимум организации, отсутствие иерархии - и в результате не слишком целостный, но всё же единый мод! Модеров Фола много. А вот модов Фола мало. Потому что хороший мод - это много хорошей работы. Не каждый может уделять своему хобби много времени и внимания. Поэтому - много начатых, но не доведённых и до середины проектов. Потому что каждый хочет сделать много. Потому что мало делать - нету смысла, т.к. играть никто не будет. Если моды будут совместимы - отпадёт нужда в глобальности замыслов. Можно будет сделать ма-а-ленький кусочек планируемого (один-два квестика, новый персонаж) - и показать его людям. Потом добавить ещё кусочек. И ещё. И ещё. Договорится с ещё одним таким "кусочным" модером - и сделать "мостик" между своими модами. И так далее. Все они будут совместимы друг с другом. Можно будет играть со старых сейвов. Кроме базы ГВАРов придётся так же отслеживать распределение номеров из scrname.msg, номеров прототипов, музыки, фрмок. Нужно будет написать патчер дляmap-файлов. А может и с int-файлами чего-нибудь придумать. Работы валом :-) В конце концов - если это никому не надо - хорошо. Просто не постите больше сообщений. Я сам чего-нибудь поковыряю да и успокоюсь :-) (натянутый смайлик)
|
Отправлено: 3:42 - 12 Мая, 2004
|
|
|
|