Универсальный эксорт/импорт сценариев

OpenTTD - современная игра, клон Transport Tycoon Deluxe с открытым исходным кодом, написанный на C и С++. Содержит ряд ключевых улучшений и возможность игры по сети. На данный момент это главное направление развития игры.

Модераторы: eraserkry, Mihamster, Smoky555, Группа модераторов

Универсальный эксорт/импорт сценариев

Сообщение vljak » Ср янв 31, 2007 05:47

Поднимаю тему, которую по моему еще никто не касался, а именно: зачастую бывает, что любовно созданный и вылизанный сценарий/карта под другой сборкой ОпенТТД просто не грузится... что грустно.
А нельзя ли сделать некий абстрактный уровень - экпорт сценария, чтобы его можно было принять в любой версии и сборке ОпенТТД невзирая на любые изменения в этой сборке. Ну и соответственно, чтобы любая сборка этот экспорт импортировала в свои версии/форматы сценариев.

По моему замыслу - это будет нечто вроде текстового файла... или .xml, ведь абстрактно сценарий можно лего описать поклеточно в текстовом виде...

Нужен будет человек из команды разработчиков или к которому они прислушиваются :) ведь необходим не просто доступ к исходникам, а к ревизиям этих исходников.
Нужно будет написать утилиту для экспорта "старых" сценариев.
Нужно будет внести процедуру импорта/экспорта в официальную сборку.
И нужно наконец, время.

Прошу высказываться по существу.
Вывоз из страны высококлассного программиста есть угроза ее национальной безопасности
vljak
Машинист
Машинист
 
Сообщения: 56
Зарегистрирован: Пт дек 08, 2006 05:33

Сообщение Quark » Ср янв 31, 2007 07:21

все сценарии, сделанные в официальной сборке не позднее другого мода, должны загружаться в этом моде — если не загружаются, то вините автора мода, тоже касается и сохранённых игр
все сценарии/игры, сделанные в любом моде, не обязаны загружаться в официальной сборке и в любом другом моде

Про XML уже были разговоры — основные аргументы против: 1) нужен новый дизайн формата сейвов; 2) файл будет занимать много места; 3) файл будет очень долго сохраняться/загружаться.

У любого человека, знающего что такое SVN, есть доступ ко всем ревизиям исходников (ну, кроме секретных :))

Чтобы сейв мог загружаться в старых версиях, необходимо, чтобы новые версии сохраняли его в старом формате, и даже те вещи, которые они больше не используют или использует по-другому, то есть нужен конвертор из новых сейвов в старые. Затем вся дополнительная информация для нового сейва должны быть записана отдельно в виде, совместимом со старым алгоритмом загрузки.
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
ⓤⓐⓡⓚ ⓤⓢⓛⓞⓝ
Аватара пользователя
Quark
Президент
Президент
 
Сообщения: 628
Зарегистрирован: Пт сен 08, 2006 01:17
Откуда: Москва

Сообщение vljak » Пт фев 02, 2007 12:21

Ладно, мысль не поняли.
Я имел в виду что текстовый файл - промежуточный, для описания сценария, с целью его безболезненного портирования из мода в мод невзирая на версию и/или набор графики. А сама сборка (точнее редактор сценариев) уже конвертирует текстовушку в свой формат, к своей графике...
Простейший пример: портирование сценария из одного климата в другой - попробуйте сделать вот прямо стандартными методами. А с такой утилиткой/функцией это будет вполне возможно, поиграть в интересный сценарий во всех климатах.

А насчет svn... мысль была та, что официальный человек такое протолкнет в официальные сборки... без всякой городьбы очередного мода...
Вывоз из страны высококлассного программиста есть угроза ее национальной безопасности
vljak
Машинист
Машинист
 
Сообщения: 56
Зарегистрирован: Пт дек 08, 2006 05:33

Сообщение Quark » Пт фев 02, 2007 13:06

сам файл сценария и есть его описание — или нужно что-то более абстрактное без привязки к клеточкам? в каждом климате есть свои постройки, аналогов которых может не быть в другом, а так климат можно через чит сменить.
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
ⓤⓐⓡⓚ ⓤⓢⓛⓞⓝ
Аватара пользователя
Quark
Президент
Президент
 
Сообщения: 628
Зарегистрирован: Пт сен 08, 2006 01:17
Откуда: Москва

Сообщение Quark » Пт фев 02, 2007 13:08

толку от того, что в OTTD появится текстовый формат описания сценария все равно не будет, т.к. мод не сможет его читать или записывать
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
ⓤⓐⓡⓚ ⓤⓢⓛⓞⓝ
Аватара пользователя
Quark
Президент
Президент
 
Сообщения: 628
Зарегистрирован: Пт сен 08, 2006 01:17
Откуда: Москва

Сообщение Pk » Сб фев 03, 2007 13:13

Quark писал(а):толку от того, что в OTTD появится текстовый формат описания сценария все равно не будет, т.к. мод не сможет его читать или записывать

А не проще переводчик?
Анализируй то, как ты делаешь сам. Потом объясни это компьютеру.
Кладу асфальт, гружу Лейланды.
новый вариант мышления ИИ
Pk
Директор
Директор
 
Сообщения: 320
Зарегистрирован: Пт сен 30, 2005 06:50
Откуда: Москва

Сообщение Quark » Сб фев 03, 2007 13:43

переводчик?
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
ⓤⓐⓡⓚ ⓤⓢⓛⓞⓝ
Аватара пользователя
Quark
Президент
Президент
 
Сообщения: 628
Зарегистрирован: Пт сен 08, 2006 01:17
Откуда: Москва

Переводчик

Сообщение Pk » Сб фев 03, 2007 13:56

Некоторый код, который:
а) Оценивает, из откуда у нас файл (по имеющимся видам орфографии)
б) переводит и "перепаковывает" файл при загрузке в память в код ясный программе. Сам файл не изменяется.
в) в случае обнаружения недостаточной своей опциональности, предлагает пропустить файл / добавить плагины.
г) в случае недостаточной опциональности программы предлагает отказаться/предупреждает о возможных неудобствах, всвязи с неполной функциональностью.

Что даст: передачу сценариев, "привинчивание" новой графики от других версий...
Анализируй то, как ты делаешь сам. Потом объясни это компьютеру.
Кладу асфальт, гружу Лейланды.
новый вариант мышления ИИ
Pk
Директор
Директор
 
Сообщения: 320
Зарегистрирован: Пт сен 30, 2005 06:50
Откуда: Москва

Сообщение Quark » Сб фев 03, 2007 14:20

ууу… т.е. это ему надо знать форматы файлов всех патчей? а что если патч заменяет часть данных, как её восстанавливать? а что если патч имеет фичу, которую нельзя упростить до транка без порчи карты? а кто будет писать конверторы? а фиксить баги?
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
ⓤⓐⓡⓚ ⓤⓢⓛⓞⓝ
Аватара пользователя
Quark
Президент
Президент
 
Сообщения: 628
Зарегистрирован: Пт сен 08, 2006 01:17
Откуда: Москва

Сообщение vljak » Ср фев 07, 2007 06:01

В том то и фишка, что переводчику это будет монопенисуально - описание клетки в нем будет содержать и набор крафики и/или каких нибудь условий, которые обеспечивает то как раз текущая сборка и наборы графики: примерно в виде:
Клетка 12:56, дом:123, GRF:tempset.grf<www.something.org>, VER:8534...

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

К тому же не забывайте: я предлагал такую фичу не для игры а для редактора - чтобы гораздо легче можно было переносить сценарии из разных сборок и версий... например из ttdpatch в openttd.[/b]
Вывоз из страны высококлассного программиста есть угроза ее национальной безопасности
vljak
Машинист
Машинист
 
Сообщения: 56
Зарегистрирован: Пт дек 08, 2006 05:33


Вернуться в Общие вопросы по OpenTTD

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 18

cron