ДНЕВНИК, 2003-IX-16

«назад   заголовки   вперед»



Разговоры о CT.
Техническая и "историческая" информация из гостевой "Шедевра", а также с форума dotnet.lv.


{piroJOKE} 25 октября 2002 г. в 18:27 
Кстати, наш дружок, некто Хроно (персонаж), оказался парнем со странностями... ;-)
За всю игру он не произносит ни одного(!) слова! =8-о

{ДимОК} 25 октября 2002 г. в 18:52 
О-го, правда, что ли?
Да не может быть!


{piroJOKE} 9 октября 2002 г. в 12:54 
2MasterZ: Господа-товарищи, я уже не первый раз слышу эту фразу "если он владеет английским"... и вывод - "значит он может стать классным переводчиком". Но это расчитано на переводчика-одиночку, а не на команду. Я как-то еще ни разу не слышал, к примеру, чтоб команде переводчиков требовался человек, владеющий _русским_ языком; а жаль. ;-)))) А с другой стороны... чем и кому угрожают хилые переводы новичков??? Если уж запросы у играющего к переводу велики, он уже по заставке игры поймет, что к чему... и нажмет заветное Alt-F4. :)


{piroJOKE} 24 октября 2002 г. в 13:48 
Что такое MTE?

{ДимОК} 24 октября 2002 г. в 14:01 
блин, столько всгео написал, а экплореер гикнулся :)
короче мте - мульти текст энкодинг, по-моему, когда несколькими (одним?) байтами обозначается ралзличное количество символов. Например в терранигме, в хронике :) Частный случай мте - дте, когда одним байтом оозначается два символа (Фф6)...
Вот так :)

{ДимОК} 25 октября 2002 г. в 18:22 
А вот про мте...
В стандартном тексте в асц2 кодировке на то, чтобы обозначить одну букву уходит один байт. То есть слово "белиберда" потребует под себя девять байтов, по числу букв в слове.
Места в РОМах катастрофически не хватает, поэтому программисты всячески извращаются, чтобы вставить весь необходимый текст в игру. Так родилась идея обозначать одним байтом не букву, а какую-то их комбинацию, которая прописана где-нибудь в одном месте...
То есть, предположим, что у нас в этой таблице слогу "бе" соответствует какой-то особый байтик. Тогда это слово будет записано не 9, а всего лишь 7 байтами. Разумеется, в играх таблицы словаря (так они называются) состоят из большого количества записей, чем этих щзаписей больше, тем лучше будет зажат текст. Раличают две системы: МТЕ (словарная), и ДТЕ. ДТЕ используют принцип "две буквы - один байт", и является частным случаем МТЕ, где _произвольное_ количество символов обозначается одним-двумя байтами.
Достаточно часто при применении МТЕ обозначают не части слова, а целые слова (ТЕРРАНИГМА). Такая система называется словарной, и достаточно легко ломается. В тексте скрипта ссылка на слово в словаре может выглядеть по-разному.
Например в ФФ6 все хексы, начиная с 0х80 указывают на слово в словаре, по порядку, 0х80 на первое, 0х81 на второе и так далее... В хроно триггере система почти такая же.
В терранигме немножко по-другому. там сначала идет иденитификатор словаря (к какому нужно обращатся), байт е5 или е6, потом ссылка на номер слова в нем. и получается, что, например, два байтика е603 обозначают нерусское слово "Anyone".
Вот, кажется, и все что я про это дело знаю...


{piroJOKE} 30 октября 2002 г. в 21:35 
Народ, как вы думаете, если мы в одной японской игрушке ;) напишем название оружия - "Меч-Кладенец", фаны анимэ сильно обидятся, аль не очень? ;)

{АнС} 30 октября 2002 г. в 22:41 
2PiroJOKE: Это ты про Chrono Trigger? Я тебе вот что скажу - лично я ЗА, и за Меч-Кладенец, и за Живую Воду, и т.п. Но, чувствую, щас нас большинство закидают камнями, в том числе и ДимОК (или я ошибыюсь? :)
А почему-бы нет? Да сами японцы, за отсутствием собственной фантазии, называют многие вещи(персонажей) русскими словами, наверное, надеясь, что никто не поймёт. Вот в одной РПГ на NES есть такие действующие лица: BAV-MORDA, фея ZHENA :) и её заколдованный любимый - догадайтесь с 3 раз - MUZH :))) Да в тех же финалах фантазий - БАЦ, ГАВ,....продолжайте сами. Такие дела.

{piroJOKE} 31 октября 2002 г. в 14:25 
"Живая Вода" АКА Revive ?! Круто, я до этого не додумался! Тсенкс!!!! :-)

{AnS} 31 октября 2002 г. в 21:27 
piroJOKE, только не Masamune!!!

{piroJOKE} 1 ноября 2002 г. в 14:59 
Конечно, не Masamune! Гномики Клад и Енец - это было бы через чур! ;)

{AnS} 1 ноября 2002 г. в 23:49 
piroJoke: а мне что-то слово "гномики" не нравится...Какие они тебе гномики, когда бесы форменные. :)

[...]

{AnS} 2 ноября 2002 г. в 18:24 
Вот потому-то, что этих бесов(в хорошем смысле слова) никто в игре не называет, каждый придумывает, как может. А зря - Chrono Trigger - это такая Игра, в которой не должно быть разночтений. Ты ещё не понял, за ЧТО ты взялся :?


piroJOKE:
Как искать графику в играх SNESа, тайлики? Так, чтобы быстро и удобно? Типичная цель поиска - исправление нарисованных надписей.
Я вот один способ придумал... но он гиморный малёхо:
Загружаем нужную игру в zSNES. Записываемся в тот момент, когда на экране виден объект, подлежащий правке. Берем утилитку "yy-chr_e". Загружаем записуху (.zst, .zs#) через "Open...". Импортируем палитру, из этого же файла. Подбираем стрелочками палитру, если нужно. Просматриваем файл, пролистывем его. Записуха невелика, так что объекты легко найти, а кроме того, они почти всегда "в сборе". Так, теперь выделяем нужный тайлик, правой кнопкой мыши. "Копировать". "Новый файл". "Вставить". "Сохранить как...". Утилитка записывает небольшой файл, почти полностью заполненный нулями. То, что НЕ нули - наш тайлик. В HEX-редакторе (пойдет даже просмотрщик от WinCommandera... ах да, TotalCommandera) смотрим последовательность циферок, и используем ее для поиска в ROMе игрушки. Всё.
Нет ли тулзени, делающей то же самое на автомате?


А может просто взять Tile Layer Pro и поправить, то, что тебе нужно? без лишнего гимора... 

Э... ну, правильно. Речь шла только о том, как найти невзрачный крошечный тайлик в 4Мбайтном файле РОМа....


SuperDron2000: 09 Май 2002 06:57 
Ну,когда!!!Когда будет перевод Chrono Trigger'а!!!
Ждемс уже,наверное,пару лет!!!Специально не играю, чтоб потом заново непереигрывать.

DimOK:
Сразу после ФФ6... 
Но нужен еще фанатик, который переведет 300 КБ... 
А пока можешь попробовать "почти полный" перевод от 2RTeam

piroJOKE: 30 Авг 2002 13:22
Посмотрел я тамошний перевод.... Хм..
Ацтой [censored] [censored] [censored] !!!!! 
Если у вас, ребята, будет тоже самое.... так лучше вообще НЕ переводить!

DimOK:
Ну дык... Если есть ощущение веры в свои силы - давай, 300 с небольшим килобайт диалогов тебя ждут.

Bishop: 02 Сен 2002 17:45 
Когда Арчер переводил CT, он ничего не знал про DTE, т.е. реального места для переведенного текста у него становилось в два раза меньше. Потому перевод бын "настолько" литературным ;-)

piroJOKE:
Бишопу - Я тоже не знаю, что такое DTE. Расскажи, пожалуйста(!), по-подробней!

M.M.:
Щас Бишка закатит рассказик о DTE килобайтов на 50!

Bishop: 03 Сен 2002 07:49 
2piroJOKE: Dual Tile (Text) Encoding, это простейший спрособ упаковки текста, когда 2 символа соответствуют 1-му байту. Из наиболее часто встречающихся сочетаний двух символов в тексте (напр. We, re, it, se и т.п.) составляется таблица, где для каждого из сочетаний присваивается свое значение типа 
We=40 re=41 it=42 se=42. 
Т.е. если ты будешь тупо менять символы английского текста на русские, DTE у тебя не будет задействовано - место потеряется. А вообще, RTFM ;-)

piroJOKE:
2ММ - - накаркал ты, мало пан Бишоп рассказал! 
2Бишоп - FMа не нашел... точнее, нашел, но не всё понял. Ещё читаю. 
Получается, это 1 словарь на всю игру, так? Или несколько словарей? Или на каждый диалог отдельный словарь?

piroJOKE:
"Нео: Теперь я знаю кунг-фу!" :)

piroJOKE:
Мда... теперь я понимаю, чего с CT так долго возятся... 
Хотя насчет Арчера я что-то не понял. Если он "понятия не имел" про DTE, как же он увидел текст, который переводил, без таблицы перекодировки? Или он эту таблицу подключил к редактору, вообще в неё не заглядывая? 
Разумеется, для экономии места придется перестраивать таблицу под русский. Гм...

piroJOKE: 03 Сен 2002 21:54 
Гм... Ну-с, лежит себе таблица преобразования этих чертовых сокращений DTE по адресам примерно 001EFD00...001EFF00 ... в формате (байт:"к-во_букв")(строка:"буквы").... Кстати, не только 2, любое к-во букв может так кодироваться... Блин! Но на это же безобразие должны быть где-то ссылки. А вот где?! 
И еще не нашел, где таблицы VWF (описания ширины букв)... Но это, дык, у Арчера сдерём. 
Ох уж эта эмуляция! 

piroJOKE: 04 Сен 2002 11:54
Включил голову. Подумал. Эврика!!! ... Выключил голову. 
А мы не будем составлять полностью новую таблицу DTE, мы используем старую: там, где было "посадочное место" под, скажем, 4 символа, мы тута 4 и влепим, но - русских. 
Лишь бы клятые япошки не додумались там рекурсивное обращение к словарю влепить. Проверю это позже ... 
Гы! Кстати, мона сделать хардкорную версию CT: Самое длинное слово в словаре - CHANCELLOR: . Ну так вот, мы его заменим на что-то покороче, типа ПАЖ: или ЧМО: , а на длинное место всунем ", бл@%$, " , что позволит героям матюкаться каждую секунду, и почти "бесплатно"! Гы-гы-гы. ... Что, я слышу возражения? Ладно! Marle у нас ругаться не будет. Зато в команде есть такой грубиян, как Magus - так пусть хоть он отведёт душу! 
ЗЫ: Шутю, шутю! 

piroJOKE: 04 Сен 2002 12:11 
И еще вопрос - что это за "пойнтеры", о которых вспоминал Бишоп? Это часом не те штуки, что позволяют изменять размер фраз?

DimOK: 04 Сен 2002 17:03 
Словарь символов нужен исключительно дл яоптимизации переведенного скрипта, то есть чтобы он влез в отведенное место. 
Пойнтеры - это указатели на начало фраз, именно они позволят изменять их размер.

Bishop: 04 Сен 2002 20:33 
2piroJOKE: Арчер видел английские DTE, потому что пользовался английской таблицей, но как перевести DTE на русский (дурацкое объяснение, но смысл именно такой) он не знал. Алексей Рожнов / 2R Team написал специальную утилиту для подсчета русских DTE в переведенном тексте, но она появилась уже после того, как Арчер забил на CC.

DimOK: 04 Сен 2002 20:41
Не согласен, МТЕ жмет лучше и эффективнее чем ДТЕ. 
Благо можно и места побольше заюзать, и вообще... 
Могу порекомендовать сконтачить с французской группой terminus (ссылка была на http://donut.parodius.com/) они перевели перфектно, и давали всем желающим тулзы...

piroJOKE: 05 Сен 2002 14:56 
Йо-хо-хо! Вот чего я нашел: 
Итальянская группа писал(а): 
Перевод "Хроника" на итальянский... Рассказано о многих подробностях.... 
Страничка - http://www.sadnes.emuita.it/traduzioni/ct/chrono.html 
Готовый скрипт - http://www.sadnes.emuita.it/traduzioni/ct/script.txt 
Только я вот вашей, г-да, терминологии малость не понимаю! Это ж просто выдранный текст; а скриптом обычно (у нас) называют исполняемый файл, набор команд... 
Короче, начинаю его (текст) мучать... А там - будь что будет...

piroJOKE: 06 Сен 2002 16:21 
Народ, как вы полагаете, дикарка Ayla должна говорить на ломанном языке или на "обычном"? Ну, то-бишь - "моя пошла купаться" или "я пойду искупаюсь"? Что скажете?

DimOK: 06 Сен 2002 18:13 
Моя пошла, разумеется! А еще можно над ней хорошо прикольнуться, поле для приколов самое подходящее! Там двусмысленностей напихать, и все такое... Кстати, если сможешь стянуть с италов утилитки, я помогу с технической частью.

piroJOKE:
[...]Это будет очень кстати!

DimOK: 06 Сен 2002 19:57
Ты самую главную часть вырезал: "если сдерешь с италов утилитки"... 
Поскольку скрипт выдирали они, и только они знают как вставить скрипт именно этого формата. Письмо им напиши, что так, мол и так, ретранслируем на русский, копирайты ваши все сохраним, большими буквами напишем благодарность. 
Должны согласиться.
_________________
Мы переведем этот мир! 

piroJOKE: 07 Сен 2002 17:43 
Ладушки... А не выйдет, будем сами дергаться... 
Да! Я чего приполз-то сюда. Для меня это было новостью -- http://sky_render.tripod.com/cttrans.html {сайт уже НЕ работает}
Это проект перевода CT с японского на английский. Оказывается, между английской и японской версиями есть некоторые отличия, например -- http://sky_render.tripod.com/ctchan.html , 
ради реализации которых, как я понял, эти ребята и трудятся... ("трудились", точнее)... 
Проект, кстати, называется Chrono Shift. (как в оригинале) 
ЗЫ: А вот шрифт в ихнем переводе - действительно красивый!...

piroJOKE: 04 Окт 2002 18:17
Собрав 3 разных перевода CT (кому надо - поделюсь), понял, что почти всю работу {по хакингу} г-да забугорные хацкеры уже сделали за нас. Достаточно сравнить патчи, и будут видны, как ладони, и таблицы указателей на фразы (главное!), и таблицы ширины буковок.

piroJOKE: 13 Ноя 2002 14:26 
Ну, поскольку по делу никто так и не ответил, отвечаю себе сам. 
Х*р с ушами! Все переводы, которые я смог найти, выполнены на языки, использующие латинский алфавит. А следовательно, самое интересное, таблицы ширины буковок, никто из этих переводчиков скорее всего не изменял...

DimOK: 15 Ноя 2002 06:05 
Таблица ширины букв изменялась в немецком и руссском :) переводах фф5 

piroJOKE: 15 Ноя 2002 12:47 
Ээээ.... А причем тут ФФ5, чем он может помочь?

DimOK: 15 Ноя 2002 19:22 
Формат тот же. Шиирина обозначается количеством байтов, равных ширне в пикселях+1, по-моему... поищу строчку байтов в роме, составленную из ширин пяти букв, и ты ее найдешь.

piroJOKE: 15 Ноя 2002 21:38
2ДимОК: Тзенкс! Абдумаэм!... 
В принципе у меня на данное этапе есть вот такие затыки: 
• ширина букв (только что обсуждалось). 
• табличка символов для ввода имени героев. 
Где эта таблица и как она действует? 
Если там можно будет ставить любые символы, то часть "широких" букв знакогена (ЖжМмШшЩщЫыЮю) я перенесу в место, занимаемое щас иероглифами (это между значками оружия/доспехов и латиницей), где они смогут захватывать соседние символы из знакогена при рисовании, как делает это W в оригинале. 
После этого можно будет дорисовать знакоген и полность перевести меню/магию/шмотки. Это будет т.с. "скелет" будущей игры, потому что все названия уже будут заданы; и переводить диалоги можно будет с чистой совестью, поглядывая в уже готовую табличку с названиями предметов и мест, где происходит действие.

DimOK: 16 Ноя 2002 17:27 
Верной дорогой идете, товариЩ! ;)

piroJOKE: 16 Ноя 2002 17:40 
Верной-то оно верной... да только вот не могу найти энту таблицу. И это не радует.

DimOK: 16 Ноя 2002 20:40 
А чего ее искать-то? 262е6, начинается с буквы а.

piroJOKE: 17 Ноя 2002 01:07
Хех! Тзенкс! Втыкал на этот адрес пол-часа, пока до меня не дошло, о чем ты говоришь... Этот адрес - таблица ширины буковок 8х12, верно? А я сперва подумал, что ты про таблицу для ввода имени персонажа.

piroJOKE: 17 Ноя 2002 01:28 
Damn it!!! Не так всё просто, как казалось сперва... 
{иллюстрации} Это уменьшение расстояния между буквами. На первой картинке даже видно нечто вроде кернинга. Забавно, не так ли? Как видно на второй картинке - расстояние между буквами увеличивается, но соседние буквы и не думают захватываться... Вот блин!!!... 

DimOK: 17 Ноя 2002 08:37 
Ну да, разумеется, в этой табличке указывается, сколько пикселей отводить для каждого конкретного тайлика. Например, у тебя такой рисунок: 

**   **
*** ***
** * **
**   **
Если ты ему поставишь ширину 7, то буква будет идти "вплотную с остальными", и если ты моставишь в табличке соответствие типа М=АВАС (где АВ и АС - коды букв, которые ту хочешь "сложить рядом"), то у тебя будут юзаться две буквы, заместо одной, но никто этого не замеит! 
Я так делал в комикс зоне, там буква Л составлена из / и \, они придвинуты к друг дружке, и вместе смотрятся отлично!


piroJOKE: 17 Ноя 2002 14:26 
Другими словами, ты хочешь использовать механизм DTE (или приём а-ля DTE) для рисования "широких" букв, я правильно понял? Гм, жалко место словаря на это гробить... 
Вот посмотри на мою вторую иллюстрацию. Хоть SNES и завис, всё-таки видно, что m и w отрисовались широкими (11 пикселов в ширину каждая)(и не разорвались на 2 половинки, что интересно!), а у остальных букв просто выросло расстояние между ними. В общем, у CT есть свой механизм "склеивания" двух символов в один, кто бы мог подумать... 

piroJOKE: 17 Ноя 2002 14:26 
В тот же день, вечером ... (дополнение). 
Я решил перенести ответ АнС'a из гостевой книги Шедевра cюда, чтобы он не потерялся: 
Цитата {AnS}: 
Значит так, Пирожок! 
3FCBACh - Начало таблицы ввода имени. 
3F2BC0h - Первая половинка буквы `m' ; смотреть в RomArt с Height=12 
3F40C0h - Вторая половинка буквы `m' ; Только чётные("A" = #0) символы могут иметь длину больше 8 
Я - {Блин, да как же я сам не догадался?!.........} И далее:
Цитата {AnS}: 
Вообще, часто бывает, что сильно задумываешься над вещью, что первое более-менее логичное решение кажется верным - и закрывает собой дальнейшие размышления. Честно говоря, я сам сперва поддался твоей идее, что m=n+n. Тут главное - расслабиться и спокоино найти, что надо. Медитииииируем... :)

Дополнения:

Читая "history" от программы ROM-Artist, наткнулся на такое:

v0.10 - 9.07.2001: Работая над переводом Chrono Trigger, решил написать программу для редактирования шрифта прямо в РОМе. Программа называется Chrono Trigger Font Editor. Пока умеет только делать только просмотр шрифтов в Chrono Trigger.

Hosted by uCoz