Slg игры что это
Русские Блоги
Прошло много времени с момента последнего обновления блога, на самом деле в этом нет ничего серьезного, только куча пустых вещей. Первоначально в этой серии было желание написать статью и часть кода, но, учитывая, что он может время от времени не обновляться часто, я планирую сначала опубликовать завершенные сценарии использования, а затем распространять исходный код после написания этой серии.
Тут нечего сказать, это просто базовая концепция в серии 0.
Интерфейс главного меню:
Основной интерфейс игры, главный герой настройки фона находится в городе, есть пять основных команд на выбор.
Интерфейс занятости товарища по команде:
Интерфейс отеля, используется для поиска товарищей, чтобы присоединиться
Интерфейс покупки товара:
Магазин, используемый для дополнения игровых предметов
Элементы и оборудование интерфейса:
Предметы и оборудование, используемые для оснащения купленных предметов
Интерфейс выбора уровня:
Выбор задания, потому что в этом примере не рассматривалось его увеличение, поэтому уровень напрямую превращается в режим вознаграждения, чтобы игроки могли выбирать
Причина, по которой я обычно люблю возиться с контентом, связанным с играми для Java-ПК, конечно, не в его сложности, а в том, что он слишком прост. Вы видели тысячи разработчиков j2me-игр? Однако, в конце концов, j2me-игры не могут быть полностью эквивалентны j2se-играм, хотя между ними нет качественного различия, в конце концов, существуют количественные различия. Из-за популярности настольных Java-приложений учебники по разработке игр на основе Java часто ограничиваются j2me. Редко упоминается разработка ПК. Даже если это так, часто это степень жадных змей и разминирования. С точки зрения игрового процесса Даже по мере использования пользователями таких «игрушек», как RMXP.
Java действительно подходит для настольных игр?
Честно говоря, так называемое игровое программное обеспечение, особенно традиционная 2D-игра, представляет собой просто комбинацию изображений и звуковых эффектов.Это всего лишь помещение нескольких разрозненных функций в большое тело цикла, в котором различные Такие суждения, вызовы и переходы отвечают за контроль развития игровых сюжетов, обновлений экрана, выбора игроков и ввода данных. Никаких загадок нет. Java полностью компетентна, даже неспециалисты могут быстро начать работу (например, даже Чисто любитель).
С одной стороны, это очень просто, с одной стороны, мало кто вовлечен, поэтому я написал учебник по разработке игр на Java для ПК, который почти никто не играл в моем блоге.
Анализ инструментов визуальной новеллы
Визуальные новеллы с точки зрения механики имеют минимальный геймплей. Основой игры в визуальной новелле является выбор, предоставляемый игроку, дополненный текстом и картинкой. В силу простого геймплея в играх этого жанра зачастую добавляются дополнительные механики.
В статье много ссылок на источники. Некоторых материалов нет в сети.
Их список указан в конце статьи.
Визуальные новеллы сейчас в основном ассоциируются с dating sim — симуляторами свиданий, значительной частью самых продаваемых новелл. Из первых 15 игр с наивысшей оценкой в Steam по метке «визуальная новелла» девять игр являются dating sim новеллами.
Симуляторы свиданий в основном предлагают игрокам простую, приятную картинку (фансервис и красивые герои) и несложный развлекательный геймплей (диалоги с персонажами и варианты ответа).
Для игроков одним из ключевых пунктов при выборе игры является ее визуальная составляющая. Однако существуют «нетипичные» новеллы, выходящие за рамки просто визуально приятных симуляторов свиданий. Новелла как инструмент используется в разных сферах игр:
Визуальные новеллы могут быть использованы для серьезных тем и выходить за рамки простого выбора варианта диалога. Задача статьи — рассмотреть нестандартные визуальные новеллы (не простейшие дейтинг-сим новеллы) и изучить минимальные инструменты вовлечения игрока в историю: выбор, текст, картинка.
Новелла состоит из текста, визуальной составляющей и механики. Визуальная новелла, как и любая игра, базируется на определенной идее. Идеей может быть как донесение определенного посыла, так и оригинальный сюжет или механика. Из всех развлекательных медиумов визуальной новелле наиболее близок комикс как смешение текстового и графического — визуальные приёмы в них схожи.
Идея — основа для последующей разработки. Схожа с «конструирующим принципом» комикса: нарратив строится так, чтобы текст и картинка взаимодействовали друг с другом, подтверждая замысел. От идеи зависят механика, текст и визуальная составляющая, они должны дополнять идею и развивать ее.
В новелле Вагон-вагон идея может звучать так: как мелочи могут изменить судьбу? Механика — выбор игрока, от которого зависит, полюбят ли друг друга два человека в поезде. Визуал — уютное и маленькое купе поезда, люди при этом остаются за кадром. Все эти элементы поддерживают идею игры.
Для каждой идеи подходит свой набор инструментов — у dating sim о кошачьем гареме и у политического симулятора в альтернативном советском союзе «инструментарий» будет разный.
Текст — основной инструмент в новелле, который сообщает игроку информацию через диалоги или описания локаций, действий игрока и героев. При этом текст условно можно разделить на несколько составляющих: сеттинг, «жанр» и персонаж.
Сеттинг может быть как вторичным, так и непосредственно влиять на развитие идеи. К примеру, для игры Danganronpa сеттинг является сюжетной составляющей. Люди заперты в игре, их цель — победить и остаться в живых. Сеттинг создает основу сюжета. В новелле Dream Daddy сеттинг практически не имеет значения — в основе лежат взаимоотношения с персонажами, а вот смена места действия и самих персонажей не критичны для сюжета.
Подачу текста можно разделить на литературные жанры. Визуальная новелла может быть, например:
Персонаж — один из элементов новеллы, значительно влияющий на уровень погружения. Зачастую от его лица написан текст. В игре Cateau повествование строится так, что героем является сам игрок. В VA-11 HALL-A: CYBERPUNK BARTENDER ACTION героем является прописанный персонаж.
В новеллах и комиксах применяются одинаковые принципы: абстрактность персонажа позволяет легче и шире трактовать героя, его прописанность напрямую влияет на наше восприятие истории.
Словарь геймера: переводим с игрового на русский
Содержание
Содержание
Друг-геймер опять говорит на непонятном языке? Собирает какой-то лут, вечно ему не хватает то маны, то хила, то хр. Если вы хотите понимать окружающих геймеров или сами только-только вступаете на путь бойца геймпада — вот вам геймерский словарь. Пригодится!
Общие понятия
Игровой сленг — часть компьютерного сленга. Большинство терминов прискакало из английского языка, навалом аббревиатур, какие-то слова прошли сквозь горнило просторечия — так, Quake стала «Квакой», Warcraft 3 — «Вариком», Sid Meier’s Civilization — «Цивой». Геймерскому сленгу присуща краткость, а потому он усваивается на лету. Вот увидите, со временем и вы будете отличать бафф от перка и со знанием дела комментировать количество fps в FPS.
Начнем с общих терминов и названий жанров игр.
В Shadow of the Colossus все противники уникальные, все — боссы!
Аббревиатуры
Все аббревиатуры взяты из английского. Некоторые в русском потеряли признаки аббревиатур — XP у нас просто «экспа», а NPC — «непись».
AP (action points) | очки действия |
DLC (downloadable content) | цифровое дополнение к игре |
FPS (first-person shooter) | шутер от первого лица |
fps (frames per second) | количество кадров в секунду |
HP (health points) | очки здоровья |
MP (mana points) | очки маны, магической энергии |
NPC (non-player character) | неигровой персонаж |
PvE (player versus environment) | кооперативный (совместный) мультиплеер |
PvP (player versus player) | соревновательный мультиплеер |
QTE (quick time event) | серия команд, быстро высвечивающихся на экране |
RPG (role-playing game) | ролевая игра |
TPS (third-person shooter) | шутер от третьего лица |
XP (experience points) | очки опыта |
Чтобы fps в Assassin’s Creed Valhalla радовал при разрешении выше Full HD, нужна GeForce RTX 3000-й серии.
Не стоит злоупотреблять аббревиатурами. В них-то как раз эмоций нет, в отличие от сленговых слов. Представьте себе такой диалог:
А: Ты как, прошел Detroit: Become Human?
Б: Нет, ненавижу QTE!
А: Далеко продвинулся в The Outer Worlds?
Б: Не, RPG не для меня вообще, все эти HP, MP… возня с характеристиками бесит.
А: Ну а что нравится? PUBG, Fortnite?
Б: Какой PUBG, я больше по PvE!
Сленг по жанрам
Жанры от A до Z исследовать не станем, остановимся на трех популярных — шутерах, ролевых играх, файтингах. Шутеры и файтинги востребованы и на соревновательной сцене, где вокруг них сформировалось мощное сообщество, что вылилось во множество специфических слов.
Шутеры:
инвиз | невидимость |
казуал | массовый игрок, в отличие от хардкорщика |
кемпер (кэмпер) | игрок, который подолгу сидит в засаде |
киллстрик | серия убийств и награда за нее |
кишка | коридор, часть карты (локации) в форме зигзага |
нуб | новичок |
обвес | различные улучшения для «пушки» |
респаун | возрождение после убийства / сама точка возрождения |
стрейф | перемещение боком |
танк | герой с хорошими показателями защиты и здоровья |
фраг | 1) очко за убийство, 2) сраженный противник |
хедшот | попадание в голову |
хилер | герой-медик |
читер | игрок, получивший преимущество нечестным путем |
Ролевые игры:
абилка | способность |
бафф | временное усиление характеристик |
дамаг | урон |
кастовать | произносить заклинание |
квест | задание |
крафтинг | создание предметов |
лут | добыча |
перк | бонус к навыку |
прокачка | набор опыта |
скилл | 1) навык, 2) мастерство игрока |
спелл | заклинание |
статы | параметры героя |
level up | повышение уровня |
Лут — примета не только RPG. Взять Borderlands — игры серии разработчики любовно именуют «лутер-шутерами».
Файтинги:
дэш | рывок |
комбо | непрерывная серия ударов |
мувлист | список приемов |
проджектайл | огненный шар или другой предмет, брошенный с дальней дистанции |
ростер | список бойцов |
спешел | специальная атака |
супер | самая сильная атака бойца |
фаталити | добивание в Mortal Kombat |
В файтингах можно крутить комбо, зубрить спешелы, с наслаждением копаться в ростере и бомбардировать противников проджектайлами в мультиплеере, пока GeForce RTX 2070 Super не задымится. Хотя зачем RTX 2070 Super, хватит и народной GTX 1060 с 6 ГБ памяти. Благо, виртуальные драки нетребовательны к железу.
Железный сленг
К слову о железе! Тут у нас целый пласт геймерского сленга.
бокс, ящик | консоль семейства Xbox |
видяха | видеокарта |
консольщик | тот, кто в основном играет на консолях |
моник | монитор |
пекарь | тот, кто в основном играет на PC |
плойка, сонька | консоль семейства PlayStation |
проц | центральный процессор |
хард | жесткий диск |
А: Старые плойка с ящиком не тянут Cyberpunk 2077.
А: Ждать, пока поляки выпустят версии для PS5 и XSX или менять проц и видяху на компе на что-нибудь поновее!
Чаты, киберспорт, MMO
Общение в чатах распространено в киберспортивных дисциплинах и массовых многопользовательских играх. Также для киберспорта и MMO свойственны стремление обособиться, отделиться от «не своих», как итог — самобытный жаргон чуть ли в не каждой игре. Вот самые популярные фразы и выражения.
дроп | предметы, выбитые из монстров |
гринд | нудная прокачка |
катка | матч |
кулдаун | время для перезарядки умения |
маунт | ездовое животное, транспорт |
моб | рядовой противник |
пати | отряд игроков |
рарный, рарность | редкий предмет |
сет | набор (брони) |
afk (away from keyboard) | отошел, не на связи |
bb (buy buy) | пока-пока |
first blood | первое убийство в матче |
gg (Good game!), гг | комплимент по ходу или по итогу матча |
ggwp (Good game, well played!) | вежливое прощание после матча |
glhf (Good luck, have fun!) | вежливое приветствие перед матчем |
Посмотрите нарезку с финала одного из турниров по League of Legends. Что-нибудь поняли из слов комментатора? А мы ведь предупреждали, что в каждой киберспортивной дисциплине — свой жаргон!
Какие слова из игрового сленга с ходу приходят в голову вам?
Slg игры что это
Технические аспекты русификации игр на движках: SLG System
Сия часть данной серии статей, что столь задержалась, коснётся очень значимого движка, на котором написано немало важных игр, в том числе составляющих две легендарные серии визуальных новелл и по совместительству jRPG — Принцессы Сэнгоку (Sengoku Hime) и Принцессы Троецарствия (Sangoku Hime).
Когда-то сей движок, основанный на древнем и почти всеми забытым Тэнки То:дзицу ADVANCE, процветал, теперь же (примерно с седьмой части Принцесс Сэнгоку, которая использует Unity), новые игры на нём не выпускаются. Наследие сего движка живо и поныне, ожидая своего часа для выхода где-нибудь кроме Японии.
На момент написания статьи ни одна из игр на сим движке не была ни русифицирована, ни даже переведена на английский язык (кроме разве что интерфейса четвёртой части Принцесс Сэнгоку на PlayStation, которая, вероятно, использует другой движок). Почему? Одна из причин — существенное количество текста (касается только игры серии Принцессы Сэнгоку свыше 3 части), другая — избыточное количество требуемой для перевода графики, последняя и, вероятно, одна из главных — техническая сложность движка и очень малое количество наработок к нему, многие из которых из-за недостатка понимания взломщиком движка приводят к малозаметным багам, которые предстоит обнаружить бедным пользователям.
Почему нынешняя часть статей про сей движок? Во-первых, хочется в той иль иной степени поспособствовать возможной их русификации. Во-вторых, желаю поставить точку в своих изысканиях по взлому движка и написанию полноценных средств, что не сломают игру на нём и позволят не только любоваться частично корректно конвертированными картинками, но и полноценно работать со всеми форматами данных.
Также известен как: SLGSystem, Tenki To:jitsu ADVANCE Modified, модифицированный Тэнки То:дзицу ADVANCE.
Игры, которые теоретически также должны быть на сим движке:
— Все игры от Gesen 18, заканчивая (примерно) Принцессами Сэнгоку 6. Последние игры студии написаны на много более известном широкой публике Unity.
— Все игры от Unicorn-A, заканчивая (примерно) Принцессами Сэнгоку 6. Последние игры студии написаны на много более известном широкой публике Unity.
Важно: технические тонкости опущены, так как тест вёлся лишь в контексте возможности перевода на данный конкретный момент с данными конкретными средствами и оценки удобности конкретной русской версии.
Важно: все методы для работы с движком написаны для оригинального движка, эталонными версиями которого являются оригинальные (японские) версии подчёркнутых четырёх игр.
На протяжении долгих лет своего развития движок активно развивался и сильно менялся. Официальных данных о классификации различных разновидностей движка не существует, поэтому мною на основе исследования особенностей скриптов игр на движке была создана собственная классификация, которая, впрочем, может не отражать все нюансы на 100% из-за наличия некоторых различий даже между играми на одной, казалось бы, вариации движка.
Версии идут следующим образом.
#0 — Псалтырь 69 (Shihen 69).
#1 — Принцессы Сэнгоку 1 (Sengoku Hime 1).
#2 — Принцессы Сэнгоку 2, 3 (Sengoku Hime 2, 3).
#3:
##3.0 — Принцессы Сэнгоку 4 (Sengoku Hime 4).
##3.1 — Принцессы Троецарствия 1: Обновлённая версия (Sangoku Hime 1 Renewal).
#4:
##4.0 — Принцессы Сэнгоку 5 (Sengoku Hime 5).
##4.1 — Принцессы Сэнгоку 6 (Sengoku Hime 6).
Почему же отсчёт начат не с первой версии, а с нулевой? Нулевая версия движка — своего рода прототипная версия. Она существенно отличается от поздних, хотя ряд сходств всё же прослеживается (в частичности, в т. н. «сложных структурах» в скриптах и отчасти в структуре папок).
Используется множество скриптов по обычной в движках формуле: 1 скрипт = 1 файл.
Известно, что на данной версии имеется лишь одна игра, хотя предположительно их число таковых от 2-х до 13-и.
Наиболее диковинная версия движка.
Основные версии начинаются с первой, в которой уже появляется полноценная привычная структура файлов, система, форматы (кроме VOI, использующийся во всех версиях, включая 0). Использует обычно один скрипт, разбитый на несколько файлов. Скриптовый язык совершенно отличается от такового в нулевой версии, хотя и содержит несколько похожих черт (в частности, одинаковые «сложные структуры»).
В скриптах этой версии после всякой команды начинают встречаться т. н. «послекомандные аргументы», которые не используются именно командой как аргументы.
Вспомогательные форматы данных похожи на таковые в нулевой версии. Пожалуй, наиболее простая версия.
Вторая версия имеет похожую на первую структуру папок. Использует те же форматы данных. Скрипты претерпевают некоторые изменения (около десятка изменений в системе команд, в том числе перенос важной команды «CHOICE» с 0x13 на 0x14), «послекомандные аргументы» вместо «BH» становятся «HH» (после чего не изменяются до последних версий). Иногда встречаются архивы «szs», в которые запакована часть данных (в поздних играх на этой версии).
Возможно, если бы не встречаемость szs и не кардинальное изменение «послекомандных аргументов», мог бы быть отнесён к версии 1 (в качестве некоторой подверсии).
(В указанных обозначениях * — набор символов неопределённой длины, а # — ровно один символ).
Эталонная игра на SLG System версии 0 содержит:
Эталонная игра на SLG System версии 1 содержит:
Игра на SLG System версии 2 может содержать:
Эталонная игра на SLG System версии 3 может содержать:
Эталонная игра на SLG System версии 4 может содержать:
— Папку SaveData, где лежат сохранения.
— exe-файл игры с уникальным названием.
Как работать с архивами?
Движок использует два типа архивов: szs и SFP.
Первый, szs, — стандартный архив ресурсов движка SLG System. Часто содержит скрипты, картинки и прочее подобное. Содержит несжатые, но немного обфусицированные (xor 0x90) данные.
Используется начиная с последних игр на второй версии движка, но массовое использование получает только с последних игр на третьей версии движка.
Для распаковки и извлечения используется SLGSystemDataTool.
Инструкция по распаковке/запаковке.
1. Скачать и запустить средство.
2. Перейти на вкладку «Архивы szs».
3. Выбрать версию (как правило «0»).
4. Выбрать архив szs.
5. Выбрать директорию данных.
6. Выполнить распаковку (из файла архива в директорию) или запаковку (из директории в файл архива).
7. Ожидать. Можете пока поесть же мягких французских булок да выпить чаю.
Второй, SFP, — специальный двухкомпонентный архив движка SLG System. Содержит только (или почти только) аудиоданные, однако в теории может содержать и другие типы данных. Компонент SDP содержит сами данные, в то время как SPL — их список. Данные не обфусифицированы.
Используется начиная с последних игр на второй версии движка (крайне редко), но массовое использование получается только на играх на четвёртой версии движка.
Для распаковки и извлечения используется SLGSystemDataTool.
Как работать с картинками?
Движок использует следующие форматы картинок: alb, tig, tic, TIM и примкнувший к ним tds.
Первый, alb, — вельми экзотичный формат, ужасно сжатая картинка png, что повсеместно используется в играх на старейших разновидностях SLG System. Настолько могуче сжатая, что размер alb вдвое больше, чем у исходной png! Никогда не повторяйте ошибок горе-разработчиков формата! Даже не буду объяснять про сей ужасный алгоритм сжатия. Посмотрите на сей бардак сами, коль желаете.
Используется исключительно в играх на SLG System версии «0».
Для конвертации и реконвертации используется SLGSystemDataTool.
Инструкция по конвертации и реконвертации.
1. Скачать и запустить средство.
2. Перейти на вкладку «Картинки alb».
3. Выбрать версию (как правило «1.21»).
4. Выбрать режим обработки ((ре)конвертировать один файл в файл или все файлы в одной директорию в другую директорию).
5. Выбрать файл картинки alb или папку с ними.
6. Выбрать картинку png или папку с ними.
7. Конвертировать alb в png или реконвертировать (получить) alb из png.
8. Ожидать. Можете пока поесть же мягких французских булок да выпить чаю.
Сие средство создаёт лучшие alb (кои игры на движке понимают) размером примерно с исходные png. Посему имеет смысл конвертировать все alb игры в png и реконвертировать их обратно. Так можно существенно уменьшить занимаемое самой игрой место на диске.
Второй, tig, — обфусифицированная png. Наиболее частый формат картинок игр на движке SLG System (кроме старейших версий). Новый байт = старый байт + ключ, где каждый следующий ключ = (прошлый ключ * a + b) >> 16.
Встречается во всех версиях движка, кроме нулевой.
Для конвертации и реконвертации используется SLGSystemDataTool.
Инструкция по конвертации и реконвертации.
1. Скачать и запустить средство.
2. Перейти на вкладку «Картинки tig».
3. Выбрать режим обработки ((ре)конвертировать один файл в файл или все файлы в одной директорию в другую директорию).
4. Выбрать файл картинки tig или папку с ними.
5. Выбрать картинку png или папку с ними.
6. Конвертировать tig в png или реконвертировать (получить) tig из png.
7. Ожидать. Можете пока поесть же мягких французских булок да выпить чаю.
Третий, tic, — обфусифицированная (так же, как и tig) jpg. Крайне редко встречается.
Точные данные о встречаемости утрачены. Предположительно, может иногда попасться во всех версиях движка, кроме нулевой.
Для конвертации и реконвертации используется SLGSystemDataTool.
Инструкция по конвертации и реконвертации.
1. Скачать и запустить средство.
2. Перейти на вкладку «Картинки tic».
3. Выбрать режим обработки ((ре)конвертировать один файл в файл или все файлы в одной директорию в другую директорию).
4. Выбрать файл картинки tic или папку с ними.
5. Выбрать картинку png или папку с ними.
6. Конвертировать tic в png или реконвертировать (получить) tic из png.
7. Ожидать. Можете пока поесть же мягких французских булок да выпить чаю.
Четвёртый, TIM, — особая картинка движка SLG System. Вмещает некоторые технические данные, каждая картинка может быть зашифрована своим ключём. Шифрование похоже на таковое у tig и tic, но у самих данных изображения ключи повторяются каждые 0x1000 байтов.
Встречалась только в первой части Принцесс Сэнгоку, хотя в теории может попасться и в других играх на движке позднее нулевой версии.
Для конвертации и реконвертации используется SLGSystemDataTool.
Инструкция по конвертации и реконвертации.
1. Скачать и запустить средство.
2. Перейти на вкладку «Картинки TIM».
3. Выбрать режим обработки ((ре)конвертировать один файл в файл или все файлы в одной директорию в другую директорию).
4. Выбрать файл картинки TIM или папку с ними.
5. Выбрать картинку bmp или папку с ними.
6. Конвертировать TIM в bmp или реконвертировать (получить) TIM из bmp.
7. Ожидать. Можете пока поесть же мягких французских булок да выпить чаю.
Пятый, tds, — внезапно примкнувший к играм на последней, четвёртой, версии SLG System формат. Обычно используется совместно с фонами.
Встречается только в играх на четвёртой версии SLG System.
Для конвертации и реконвертации используется SLGSystemDataTool. Выделенного модуля для работы с tds в данном средстве не предусмотрено, но справиться можно и без него.
Инструкция по конвертации и реконвертации.
1. Скачать и запустить средство.
2. Перейти на вкладку «Картинки tig».
3. Выбрать режим обработки ((ре)конвертировать один файл в файл или все файлы в одной директорию в другую директорию).
4. Выбрать файл картинки tds или папку с ними. Не меняйте расширение на tig! Укажите расширение «tds», если конвертируется по файлам.
5. Выбрать картинку dds в поле для выбора картинки png или папку с ними. Укажите расширение «dds», если конвертируется по файлам.
6. Конвертировать tds в png или реконвертировать (получить) tds из png.
7. Ожидать. Можете пока поесть же мягких французских булок да выпить чаю.
8. Смените расширение, коли конвертировали по директориям.
8.1. Если вы конвертировали картинку из tds в dds (номинально png), то итоговый файл всё равно будет иметь расширение tds. Смените его на dds.
8.2. Если вы реконвертировали картинку tds из dds (номинально png), то итоговый файл всё равно будет иметь расширение dds. Смените его на tds.
Стоит отметить, что dds не требует дальнейшей конвертации, понеже является стандартным форматом. Его можно редактировать с помощью DirectX SDK.
Однако ежели вы всё же желаете превратить его в более удобный формат, можете, например, конвертировать в png. Конвертировать dds в png можно на сей странице, а провести обратное преобразование — уже на той странице (через онлайн-конвертатор convertio).
Как работать с аудио?
В играх на движке SLG System используется два вида формата аудио: VOI и WMA.
Второй, VOI, есть повсеместно используемый аудиоформат движка SLG System. По сути своей некоторые технические данные в сочетании с простым ogg.
Единственный формат данных, использующийся абсолютно во всех играх на всех версиях движка SLG System.
Для конвертации и реконвертации используется SLGSystemDataTool.
Инструкция по конвертации и реконвертации.
1. Скачать и запустить средство.
2. Перейти на вкладку «Аудио VOI».
3. Выбрать режим обработки ((ре)конвертировать один файл в файл или все файлы в одной директорию в другую директорию).
4. Выбрать аудиофайл VOI или папку с ними.
5. Выбрать аудиофайл ogg или папку с ними.
6. Конвертировать VOI в ogg или реконвертировать (получить) VOI из ogg.
7. Ожидать. Можете пока поесть же мягких французских булок да выпить чаю.
Второй, WMA, является стандартным форматом и не требует конвертации в какие-либо иные форматы. Для привычности можете на время редактирования поменять ему расширение с «.WMA» на «.wma».
Он используется для фоновой музыки исключительно в четвёртой версии движка.
Как работать с видео?
В играх на движке SLG System используются следующие видеоформаты: mpg, mda, mdm.
Первый, mpg, является стандартным форматом и не требует конвертации в какие-либо иные форматы.
Он используется в первых трёх (0, 1, 2) версиях SLG System.
Используется исключительно в третьей версии движка совместно с mdm
В основном используется в третьей (совместно с mda) и четвёртой версиях движка. Изредко встречается в поздних играх на второй версии движка.
Доказательство того, что mdm (и mda) являются обычными MPEG, представлено ниже.
Как взломать ключ игры на SLG System?
У каждой игры на SLG System третьей версии есть уникальный ключ шифрования, коим зашифрованы скрипты и файлы вспомогательных структур данных (частично) движка. У игры на четвёртой версии ключ тоже есть, но, как считается, он один на всех.
Прежде чем использовать и редактировать игровые скрипты, а также файлы вспомогательных структур, их надо расшифровать (если игра шифрованная). Ежели ключ игры не известен, необходимо его добыть.
В связи с уязвимостью системы шифрования игр на SLG System, связанной с недостатком её реализации, ресурсы игр можно расшифровать не только основным игровым ключём, но и рядом побочных. Посему введём следующие понятия.
Оригинальный ключ — основной ключ шифрования игры, с помощью которого расшифрует игры сама игра.
Возможный ключ — ключ, с помощью которого можно расшифровать и зашифровать ресурсы игры с результатом, идентичным таковым при расшифровке оригинальным ключём, но не используемый игрой.
Таким образом, преимуществ от использования оригинального ключа нет. Можно использовать и возможный.
Однозначное получение оригинального ключа (не состоящих в приложенном ниже перечне приложенных) возможно путём использования дизассемблера и программного отладчика. Оно рассмотрено не будет за ненадобностью.
Получение всех возможных ключей (или одного из них) возможно с помощью модуля криптоатаки в SLGSystemScriptTool. Стоит отметить, что он расчитан на работу исключительно с файлом «main.sd», содержащимся, впрочем, по всех играх на SLG System.
Инструкция по проведению криптоатак с помощью SLGSystemScriptTool.
1. Запустите средство.
2. Перейдите во вкладку «Криптомодуль» и сосредоточьте взгляд на правой части экрана.
3. Выберите скрипт main.sd (обязательно скрипт именно с таким названием!)
4. Выберите выходной текстовый файл (для вывода результатов криптоатаки).
5. Выберите тип атаки. Обычно все игры уязвимы пред «2 0 0 2 0», но ранние могут быть уязвимы лишь пред «2 0 2 0 0». Для каждого main.sd есть лишь один корректный тип криптоатаки!
6. Выберите режим обработки атаки — находить один возможный ключ (что может и не работать в зависимости от настроек) иль все.
7. Выберите режим собственно атаки. В ранних играх (версии 3 и поздние 2-й версии) используйте второй (i-(key>>16)&0xff), но для тех, что на 4, первый — (i^(key&0xff)).
8. Запускайте! Коль вы выбрали правильные режим и тип атаки, то скорее всего получите первый корректный ключ аж за минуту! Коль не можете получить никакого ключа за 5 минут, просто попробуйте иные настройки.
Расшифровка и шифровка ресурсов.
В играх на движке SLG System версий 3 и 4 скрипты и часть вспомогательных форматов данных зашифрована. Но не беда! Их всегда можно расшифровать и зашифровать обратно!
Впрочем, перед тем, как это делать, вам должен быть известен ключ. Что делать, ежели ключ не известен, смотрите в разделе «Как взломать ключ игры на SLG System?«.
Данные по всем известным ключам игр на SLG System.
«(!)» отмечены не оригинальные ключи, но возможные, взломанные с помощью алгоритма криптоатаки.
Расшифровка и шифровка файлов осуществляются с помощью криптографического модуля в SLGSystemScriptTool.
Инструкция по (рас)шифровке файлов с помощью SLGSystemScriptTool.
Как работать со скриптами?
Для того, чтобы работать со скриптами, их надо декомпилировать (для получения текстовых файлов, с коими можно работать) и компилировать (после внесения изменений). Работа со скриптами версии 0 и остальных версий несколько отличается, так что для них даны разные инструкции.
(Де)компиляция скриптов SLG System осуществляется с помощью SLGSystemScriptTool.
Инструкция по (де)компиляции скриптов версии 0.
1. Запустите средство.
2. Перейдите на вкладку «Скрипт версии 0».
3. Выберите режим обработки (по файлу или по папке).
4. Выберите входные и выходные файлы или папки.
5. Выберите кодировку (что применяется как для компилированного скрипта, так и декомпилированного txt). Ежели вы хотите сменить кодировку скрипта, то сперва декомпилируйте скрипт со старой, затем измените кодировку полученного текстового файла и создайте скрипт с новой кодировкой.
6. Запускайте! Вскоре нужное будет (де)компилировано.
Пример содержимого скрипта версии 0 (из Псалтыря 69) представлен ниже.
Инструкция по (де)компиляции скриптов поздних версий.
1. Запустите средство.
2. Перейдите на вкладку «Скрипты версий 1+».
3. Выберите режим рекомпиляции (в файл или папку). Сей режим также относится и к компиляции: из файла иль из папки.
4. Выберите папку и основу имени скрипта (имя скрипта без расширения). Может быть удобно кликнуть на кнопку «. » с правой части подраздела «имени скрипта» и выбрать скрипт «.sd», после чего папка и основа имени скрипта будет заполнены автоматически.
5. Выберите файл или папку декомпилированного скрипта в текстовом формате. Заметьте, что, даже ежели вы декомпилируете скрипт в один файл, в той же директории появятся технические файлы, имена коих начинаются с «__».
6. Выберите кодировку (что применяется как для компилированного скрипта, так и декомпилированного txt). Ежели вы хотите сменить кодировку скрипта, то сперва декомпилируйте скрипт со старой, затем измените кодировку полученного текстового файла и создайте скрипт с новой кодировкой.
7. Посредством виджета ComboBox выберите версию.
8. Запускайте! Вскоре нужное будет (де)компилировано. Хотя, справедливости ради, если обычно (де)компиляция выполняется примерно за минуту, то компиляция из множества файлов (из папки) может занять уже несколько минут.
Пример папки с файлами, на кои был разделён скрипт старших версий (из Принцесс Сэнгоку 4), представлен ниже.
Пример содержимого скриптов поздних версий (из Принцесс Сэнгоку 6) представлен ниже.
ВАЖНО: ДВОЙНЫЕ КАВЫЧКИ («) В СТРОКАХ ДОЛЖНЫ БЫТЬ ОБОСОБЛЕНЫ ОБРАТНЫМ СЛЭШЕМ (\), ТАК ЧТО В ИТОГЕ ДОЛЖНО ПОЛУЧАТЬСЯ (\»), ИНАЧЕ СТРОКИ БУДУТ ЛОМАТЬСЯ! ДВОЙНЫЕ КАВЫЧКИ БЕЗ СЛЭШЕЙ ДОЛЖНЫ БЫТЬ ЛИШЬ В НАЧАЛЕ СТРОКИ!
ВАЖНО: ЕСЛИ ВЫ ИСПОЛЬЗУЕТЕ ОРИГИНАЛЬНУЮ КОДИРОВКУ СКРИПТА, НЕ ЗАБЫВАЙТЕ ПРОСТАВЛЯТЬ ЕЁ В РЕЖИМЕ ОТОБРАЖЕНИЯ ТЕКСТОВОГО РЕДАКТОРА!
При работе со скриптами может получиться так, что строка либо сообщение слишком длинные и не влезают в диалоговое окно. Что делать? Ответ на сей извечный вопрос вы узрите в разделе «Как добавлять переносы по строкам и сообщениям?«.
Также просто так никакая игра на движке не будет поддерживать кириллицу. Точнее, будет, но переносы будут зело велики. Что с сим делать? Читайте в разделе «Как заставить игру работать с кириллицей?«.
Как добавлять переносы по строкам и сообщениям?
SLG System не поддерживает перенос по строкам. В версиях 0, 1 и 2 новые строки могут переноситься после сообщения, если они выводятся, когда в диалоговом окне нет места. В версиях 3 и 4 и такого не предусмотрено.
Однако благодаря взлому скриптов есть методы, коими можно добавить переносы по строкам и сообщениям самим.
Перенос строк на примере Принцесс Сэнгоку 1.
1. При переводе вы наткнулись на строку, перевод которой ну слишком длинный.
2. Коли у вас версии игры 0, 1 или 2, продублируйте строку под «GROUP», добавив после непоследней строки «,». Коли версии 3 или 4, добавляйте в то место строки, после коего должен быть перенос, «\n».
(Как можете заметить, продолжение идёт на следующем сообщении. Да, метод для переносов по сообщениям в версиях 0, 1 и 2 такой же, как по строкам).
Перенос по сообщениям на примере Принцесс Сэнгоку 6.
1. При переводе вы наткнулись на сообщение, перевод которого ну слишком не влезает.
(Английский вариант реплики на первой картинке утроен, дабы показать, что метод переноса для версий 0, 1 и 2 не работает для 3 и 4).
2. Ежели у вас версии 0, 1 и 3, то выполняйте второе действие как и при переносе по строкам. Ежели 4 и 5, то дублируйте команды MESSAGE и WAIT_FOR_CLICK с аргументами и переносите в новое часть, что не влезает.
Как заставить игру нормально работать с кириллицей?
Движок SLG System по умолчанию использует кодировку cp932 (расширенные Shift-JIS). Соответственно, кириллица полноценно не поддерживается. Однако есть способы сделать поддержку кириллицы, даже оставив поддержку и латиницы. Один из таких способов и будет разобран в статье.
Ниже представлено, как движок поддерживает кириллицу по умолчанию и какой её надо сделать.
(Картинка из Принцесс Сэнгоку 2).
Как выполнить «костыльное преобразование строк»?
Костыльное преобразование строк нужно, дабы преобразовать строку «на человеческом» в такую строку, что мог бы отрисовывать движок как кириллическую после изменения шрифта.
В чём суть такого преобразования? Для сего нужно понять, что такое костыльный шрифт.
«Костыльный шрифт», грубо говоря, есть шрифт, куда из другого шрифта были перенесены глифы кириллических символов в глифы символов, что воспринимаются движком одноширинными. К таким символам у японских движков относятся латиница, некоторые спецсимволы и половинная кана, но вторая не всегда поддерживается.
Таким образом, в «костыльном преобразовании» исходные символы меняются на те, в глифы коих костыльного шрифта были перенесы глифы исходных символов.
Дабы при использовании костыльного шрифта строки с кириллическими символами отображались как полагается, всех их надобно таким образом преобразовывать.
Инструкция по костыльному преобразованию на примере TBGoth.
1. Установите Python 3.
2. Запустите Python IDLE.
3. Скачайте TesterSLGSystemConv.py.
4. Откройте с помощью Python IDLE TesterSLGSystemConv.py.
=== Далее идут основные этапы.
5. Скопируйте строки, кои вы хотите преобразовать, в буфер обмена. Вы можете также выделить весь скрипт с помощью Ctrl+A. Скопировать можно выделением строки и Ctrl+C.
6. Запустите программу (например, с помощью F5).
7. Вставьте преобразованный текст (с помощью Ctrl+V). Данные в буфере обмена изменились (программа сама вытащила данные из буфера обмена, преобразовала их и вновь переместила в буфер обмена).
На картинках ниже показан текст до и после преобразования. Для преобразования копировались все строки, указанные на картинке.
До.
После.
Работа со вспомогательными форматами данных.
Инструкция по работе с файлами вспомогательных структур на примере Принцесс Сэнгоку 3.
1. Извлеките все файлы вспомогательных структур и скрипты из игры.
2. Расшифруйте все зашифрованные файлы игры.
3. Выберите строку, кою вы русифицировать желаете. Допустим, ту, что выделена на картинке ниже красным.
5. Строка таки нашлась! Пишем новую строку (в примере ниже уже после преобразования), но так, дабы после строки перед следующими ненулевыми байтами оставался хотя бы один нулевой байт (на примере ниже отмечено красным).
До.
6. Как можете зреть ниже, строка успешно русифицирована. Продолжайте в том же духе, используя, ежели не можете найти какую-то строку, поиск.
Сведения о запуске игр на движке.
Движок по умолчанию использует японскую локаль, игры на нём требуют для запуска также японскую локаль. Возможно использование Locale Emulator для эмуляции локали и написание скрипта для запуска с помощью его API и, скажем, bat-ника. Во втором случае пользователю не придётся ничего делать, кроме как нажать на скрипт, который и сделает всю работу.
Игры более поздних версий, 3 и 4, могут нормально запускаться и без японской локали, но при этом возможны непредвиденные проблемы в их работе.
Скрипт bat, использующий API эмулятора локали для запуска игры на японской локали, представлен ниже, как и доказательство его работы на Принцессах Сэнгоку 4.
(Тем не менее, не забывайте, что для работы скрипта папка эмулятора локали должна быть в указанном в скрипте пути).
(Также на первой картинке показан скрипт автоустановки шрифта, что должен запускаться с правами администратора, в отличии от скрипта по запуску игры).