» TeamX (Архив Форума)«


Форум TeamX » Исследования » Совместимость сейвов

Переход по темам
<< Пред. След. >>
Страницы этой темы [ 1 2 ] Все собщения

 
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
 

Переход по темам
<< Пред. След. >>
Страницы этой темы [ 1 2 ] Все собщения


Powered by Ikonboard 2.1.9 RUS
Modified by RU.Board Team
© 2000 Ikonboard.com