Навигация по сайту
Случайная игра

Вступай!!!
Облако тегов
Перевод JAVA-игр

Перевод текстов из рисованных букв в JAVA-играх.
Я думаю, многие люди хотели бы сделать что-то для мобильного телефона. Например, написать игру на мобильный телефон, но из-за незнания языка программирования и нехватки времени это они сделать не могут. Но руки так и чешутся сделать, что-то самому, ну хотя бы внести какое то бесполезное изменение в программу или игру. Чтобы потом хвастаться знакомым. Но зачем вам делать, что-то некому не нужное. Лучше перевести игру. Вы скажете - Зачем их и так много переведенных? Я лучше внесу какое-то ненужное изменение в игру, с меня спроса меньше будет, чем за некачественный перевод.
Если вы так сказали, то вы глубоко заблуждаетесь. Переведённых игр не так уж и много тем более качественно. Ну, а если у вас чешутся руки, то всё-таки стоит попробовать, это не так уж и сложно. Но вы скажете - Но в Интернете нет никаких подробных инструкций по переводу Java игр. Вот тут вы окажетесь, абсолютно правы. Для этого я и решил написать этот документ, где подробно расскажу, как перевести в Java-играх рисованные буквы.

Я постараюсь объяснить всё как можно более доступным и понятным для вас языком. Поскольку мы только начинаем переводить, нам понадобится всего несколько программ. Большое желание и упорство. Желательно ко всему этому ещё и голову на плечах, но это не обязательно =). Я возьму такую игру, в которой будут использоваться рисованные буквы. Название игры – Finding NEMO. Так же мой выбор пал на эту игру потому, что она поддерживается многими эмуляторами JAVA.

Немного теории. Игра как вы, наверное знаете, хранится в файле *.jar. С этим файлам нам придётся работать. Для многих не секрет, что этот файл можно открыть при помощи обычного RAR архиватора. Рекомендую использовать WinRAR поддерживающей jar файлы.

Открываем Архив и выносим всё из него в одну папку. Это делается для того, что бы было легче изучить структуру игры.

Теперь запускаем игру в эмуляторе и смотрим что в ней за шрифты. Видно, что в игре используется два вида шрифтов один рисованный второй стандартный. Рисованный – тот шрифт, который нарисован, то есть нам придётся его перерисовать. Стандартный – тот шрифт, который идёт в мобильном телефоне - уже вшитый. Для примера если на компьютере зайти в ДОС режим, то там используется стандартный шрифт. В общем если говорить проще, то нам его перерисовывать не придётся.

Теперь ищем рисованный шрифт в самой игре. Для этого зайдём в папку, куда мы вынесли все файлы из jar файла. Ищем там рисунки. Обычно они бывают в формате *.png. Здесь понадобится наблюдательность. В игре Finding NEMO шрифт присутствует в файле spr1.png. Открываем файл в PhotoShop. Почему я рекомендую PhotoShop потому что он сохраняет прозрачность фона в отличии от других программ подобного типа. В принципе можно использовать любой редактор который сохраняет прозрачность фона.

Перевод JAVA-игр
рис. 1

Далее перерисовываем английские буквы на русские, как показано на рисунке (рис. 1). Я перерисовал не все буквы, но вы перерисовывайте все буквы, какие вам понадобятся для перевода. Хочу напомнить, что можно не перерисовывать “A” на “А” и т.п. Перерисовав буквы, вкидываем файл spr1.png обратно в архив *.jar. Проверяем игру в эмуляторе. Теперь мы видим, что буквы перерисованы.

Теперь нам надо найти тот файл, в котором хранится текст. Это будет не легко. В некоторых простых играх тексты хранятся в файле формата *.class, так что сначала проверим в них любой утилитой для перевода *.class. Например: InClassTrans или MobilTrans. Но в нашем случае в *.class файлах текст не хранится. А жаль, перевод бы был намного легче. Ну да ладно, сильно расстраиваться по этому поводу не будем, поэтому ищем дальше. В этой игре есть ещё два файла в котором может быть текст. Это k.bin и lang.bin. Судя из названия уже понятно, что текст будет в lang.bin, да и судя по его размеру это понятно.

Вы спросите - Чем же переводить эти bin файлы, да и вообще что это такое?
Их можно перевести двумя способами, но сначала расскажу, что это такое. Расширений *.bin существует куча видов. Большинству из вас они известны как образы чего-либо. Но в нашем случае, это не образ, а своего рода зашифрованный архив, который сделали разработчики, что бы такие как Вы не могли внести какие-то изменения в игру. То бишь, они спрятали самые ценные файлы. При изменение которых, можно внести очень значимое изменение в саму игру. Теперь, когда вы знаете что это такое вам надо узнать с чем его “едят”. Как я уже сказал внести изменение в этот *.bin файл можно двумя способами:
1. Тяжелый и ненужный способ
2. Легкий способ

Теперь расскажу, что это за первый способ, но вряд ли кто-то захочет его использовать, так как на ряду со вторым он очень тяжёл. Если вам повезёт, то вам удастся открыть этот *.bin с помощью какого-то архиватора. Но это бывает очень редко. Поэтому надо писать программу, которая разожмёт и обратно сожмёт файл – для этого нужно знать алгоритм сжатия. Далее если вы это всё сделали, и вам удалось извлечь файлы, то смотрим что там за файлы и дальше по ходу дела.

Перевод JAVA-игр
рис. 2

Способ номер два. Это любой hex-редактор. Как им пользоваться читайте в первом выпуске нашего журнала в статье про перевод NES игр.
В нашем случае мы будем использовать второй вариант. И так открываем hex-редактор. Я буду пользоваться Translhextion, но как я уже сказал, вы можете использовать любой другой какой вам нравится. Открываем там файл lang.bin теперь ищем слова PLAY это можно сделать либо с помощью поиска, либо “ручками”. Слово находится по адресу $0x140. Заменяем его на слово ИГРА (NFPA) (рис. 2). Тоже самое проделаем и с другими словами. На этом перевод рисованных букв закончен. И к концу также подошла и эта статья. А я с вами прощаюсь. Встретимся в следующих статьях TOF.

Журнал: TOF



Вернуться
  • Комментарий: 2
  • Просмотров: 4848
sinicum
#1
  • 23 октября 2014 22:46
  • Регистрация: --
  • ICQ: {icq}
  • Комментариев: 0
  • Новостей: 0
а вот с некоторыми переведёнными играми можно бы и ознакомить общественность. были инициаторы когда-то на фонзе..жаль Зельду никто не доделал
DFH89
#2
  • 12 октября 2020 22:29
  • Регистрация: --
  • ICQ: {icq}
  • Комментариев: 0
  • Новостей: 0
Окей, хорошо, когда знаешь, какое слово нужно искать, а что делать, если слов изначально не знаешь и увидеть их не можешь (многие мобильные китайские игры на экранах вместо диалогов отображают квадратики, на эмуляторах та же беда)? Беда даже не в том, что текст нужно перерисовывать (судя по тому, что я видел в диалоговых окнах, текст там не рисованный, а стандартный), а в том, что он, как вы и написали, часто лежит не в .class файлах, где всё просто и легко, а в какой-то за*нице, где его не только найти тяжело, но и как собрать воедино не ясно, так как туториалов по этому поводу практически нет в сети((

Комментарии:

Оставить комментарий