Перейти к содержимому
Zone of Games Forum
xoixa

Pacific Drive (утилиты для озвучки)

Рекомендованные сообщения

набор скриптов и инструментов для экспорта/импорта звука (для версии игры 1.1.4)

Pacific_Drive_VO_tools_1.2.zip

дополнение утилит

Для сжатия в формат wem необходимо предварительно установить audiokinetic wwise 2021.1.* (не включён в архив. скачать автономный установщик можно, например здесь (нужна регистрация) )

  1. Распаковать архив в папку PenDriverPro\Content\Paks\
  2. Запустить export.bat чтобы получить ogg файлы озвучки
  3. Переозвучить и сохранить в папку wav (озвученные файлы должны быть с теми же характеристиками что и оригиналы (имя, длительность, дискретизация, количество дорожек) в формате wav PCM s16)
  4. Запустить import.bat чтобы сжать wav и импортировать обратно в пак Запустить create_pak.bat чтобы сжать wav и создать pak с озвучкой

 

Скрытый текст

@echo off
REM Export wems
@echo It takes time to export all files. Be patient
@pause
quickbms pak2wem_meta.bms pakchunk0-WindowsNoEditor.pak

REM Rename wems to friendly name using filetable.txt
::%%1 size	%%2 mediaID	%%3 name	%%4 sha1	%%5 offset 1.1.1	%%6 offset 1.1.3	%%7 offset 1.1.4
for /f "tokens=1,2,3,4,5,6,7 delims=," %%1 in (filetable.txt) do IF exist wem\%%7.wem ren wem\%%7.wem %%3.%%7.wem 

REM Convert vo wems to ogg
mkdir ogg
for /f "tokens=1,2,3,4,5,6,7 delims=," %%1 in (filetable.txt) do IF exist wem\%%3.%%7.wem ww2ogg.exe —pcb packed_codebooks_aoTuV_603.bin wem\%%3.%%7.wem -o ogg\%%3.%%7.ogg

@echo Delete wem files? Close window now if you need them
@pause
del wem\*.wem
@pause

 

Скрытый текст

@echo off
REM Create ExternalSourcesList list.txt for WwiseCLI tool
echo ^<^?xml version=^"1.0^" encoding=^"UTF-8^"^?^> > list.txt
echo ^<ExternalSourcesList SchemaVersion=^"1^" Root=^"^"^> >> list.txt
for %%s in (wav\*.wav) do echo 	^<Source Path=^"%%~fs^" Conversion=^"Vorbis Quality High^" /^> >> list.txt
echo ^</ExternalSourcesList^> >> list.txt

REM Convert wavs to wem
"%WWISEROOT%\Authoring\x64\Release\bin\WwiseCLI.exe" dummy.wproj -ConvertExternalSources list.txt -ExternalSourcesOutput wem
RMDIR /S /Q .cache, Originals
del /A:h wem\Wwise.dat
del list.txt

REM Rename wems for importing using filetable.txt
::%%1 size	%%2 mediaID	%%3 name	%%4 sha1	%%5 offset 1.1.1	%%6 offset 1.1.3	%%7 offset 1.1.4
for /f "tokens=1,2,3,4,5,6,7 delims=," %%1 in (filetable.txt) do IF exist wem\%%3.%%7.wem ren wem\%%3.%%7.wem %%7.wem

REM inject metadata 
for %%a in (wem\*.wem) do IF exist wem\%%~na.meta quickbms -Y meta_inj.bms %%a

@echo Time to import
@pause
REM Import to pakchunk0-WindowsNoEditor.pak
quickbms -r -w pak2wem.bms pakchunk0-WindowsNoEditor.pak
@echo Delete wem folder?
RMDIR /S wem
@pause

 

Скрытый текст

//QuickBMS script for export/import wwise wem sound of Pcific Drive game
//to import use quickbms -r -w pak2wem.bms pakchunk0-WindowsNoEditor.pak

for 
findloc OFFSET binary "RIFF" 0 ""
if OFFSET == ""
	cleanexit
endif
goto OFFSET
idstring "RIFF"
get Size long

getDString check 4
if check != "WAVE"
	continue
endif

getDString fmt 4
get fmt long

math Size + 8
string Name P "wem/%OFFSET%.wem"
if fmt != 0x42
	//string Name P "fmt_%fmt%/%OFFSET%.wem"
	continue
endif
log Name OFFSET Size
math OFFSET + 4
goto OFFSET
next

 

Скрытый текст

//QuickBMS script for export wwise wem sound of Pacific Drive game

for 
	findloc OFFSET binary "RIFF" 0 ""
	if OFFSET == ""
		cleanexit
	endif
	goto OFFSET
	idstring "RIFF"
	get Size long

	getDString check 4
	if check != "WAVE"
		continue END
	endif

	getDString fmt 4
	get fmt long

	math Size + 8
	string Name P "wem/%OFFSET%.wem"
	if fmt != 0x42
		//string Name P "fmt_%fmt%/%OFFSET%.wem"
		continue END
	endif

	//Save metadata start
	log MEMORY_FILE 0 0
	log MEMORY_FILE OFFSET Size // write wem to memory file

	set MetaSize long 0
	set MetaOffset long 0x56 //skip RIFF and WAVE chunks(0x56)
	goto MetaOffset MEMORY_FILE

	for  
	get ChunkID long MEMORY_FILE
		if ChunkID = 0x61746164 // "data"
			string MetaName P "wem\%OFFSET%.meta"
				if MetaSize > 0
					//print "%OFFSET%.meta"
					log MetaName 0x56 MetaSize MEMORY_FILE //write meta to file
				endif
			break //end of metadata. exit cycle
		elif ChunkID = 0x4b4e554a // "JUNK"
			getdstring Unk 10 MEMORY_FILE
			get ChunkSize long MEMORY_FILE
			xmath MetaSize "MetaSize + 8 + 10 + ChunkSize"
			xmath Pos "MetaOffset + MetaSize"
			goto Pos MEMORY_FILE
		else
			get ChunkSize long MEMORY_FILE
			xmath MetaSize "MetaSize + 8 + ChunkSize"
			xmath Pos "MetaOffset + MetaSize"
			goto Pos MEMORY_FILE
		endif
	next
	//save metadata end

	log Name OFFSET Size //write wem to file
	label END
	math OFFSET + 4
	goto OFFSET
next

 

Скрытый текст

get Name basename 
open FDDE "meta" 1
get MetaSize asize 1

log MEMORY_FILE 0 0
get RIFF long
get WSize long
get WAVE long
get fmt long
get fmtSize long
xmath HeaderSize "20 + fmtSize"
goto HeaderSize
get Data long
if Data != 0x61746164 // "data"
string Name + ".error"
log Name 0 0
cleanexit
endif
xmath DataSize "WSize - fmtSize - 12"
log MEMORY_FILE 0 HeaderSize 
append
log MEMORY_FILE 0 MetaSize 1
log MEMORY_FILE HeaderSize DataSize
append 
math WSize + MetaSize
putVarChr MEMORY_FILE 4 WSize long
get Size asize MEMORY_FILE
string Name P "wem\%Name%.wem"
log Name 0 Size MEMORY_FILE

 

Скрытый текст

@echo off
::goto meta
REM Create ExternalSourcesList list.txt for WwiseCLI tool
echo ^<^?xml version=^"1.0^" encoding=^"UTF-8^"^?^> > list.txt
echo ^<ExternalSourcesList SchemaVersion=^"1^" Root=^"^"^> >> list.txt
for %%s in (wav\*.wav) do echo 	^<Source Path=^"%%~fs^" Conversion=^"Vorbis Quality High^" /^> >> list.txt
echo ^</ExternalSourcesList^> >> list.txt

REM Convert wavs to wem
"%WWISEROOT%\Authoring\x64\Release\bin\WwiseCLI.exe" dummy.wproj -ConvertExternalSources list.txt -ExternalSourcesOutput "pak_me\PenDriverPro\Content\WwiseAudio\Localized\English_US_\Media"
RMDIR /S /Q .cache, Originals
del /A:h pak_me\PenDriverPro\Content\WwiseAudio\Localized\English_US_\Media\Wwise.dat
del list.txt
:rename
REM Rename wems for importing using filetable.txt and Copy .meta to pak_me\PenDriverPro\Content\WwiseAudio\Localized\English_US_\Media\
::%%1 size	%%2 mediaID	%%3 name	%%4 sha1	%%5 offset 1.1.1	%%6 offset 1.1.3	%%7 offset 1.1.4
for /f "tokens=1,2,3,4,5,6,7 delims=," %%1 in (filetable.txt) do IF exist "pak_me\PenDriverPro\Content\WwiseAudio\Localized\English_US_\Media\%%3.%%7.wem" ren "pak_me\PenDriverPro\Content\WwiseAudio\Localized\English_US_\Media\%%3.%%7.wem" %%7.ubulk && copy wem\%%7.meta pak_me\PenDriverPro\Content\WwiseAudio\Localized\English_US_\Media\%%7.meta
:meta
REM inject metadata 
for %%a in (pak_me\PenDriverPro\Content\WwiseAudio\Localized\English_US_\Media\*.ubulk) do quickbms -Y meta_inj.bms %%a
del pak_me\PenDriverPro\Content\WwiseAudio\Localized\English_US_\Media\*.meta
:rename2
REM Rename wems for packing(MediaID) using filetable.txt
::%%1 size	%%2 mediaID	%%3 name	%%4 sha1	%%5 offset 1.1.1	%%6 offset 1.1.3	%%7 offset 1.1.4
for /f "tokens=1,2,3,4,5,6,7 delims=," %%1 in (filetable.txt) do IF exist "pak_me\PenDriverPro\Content\WwiseAudio\Localized\English_US_\Media\%%7.ubulk" ren "pak_me\PenDriverPro\Content\WwiseAudio\Localized\English_US_\Media\%%7.ubulk" %%2.ubulk
:size
for %%a in (pak_me\PenDriverPro\Content\WwiseAudio\Localized\English_US_\Media\*.ubulk) do quickbms -Y size.bms %%a
@echo Ready to pack
@pause
:pack
UnrealPak.exe "pakchunk5-WindowsNoEditor_VO.pak" -create=filelist.txt -compress
@echo _
@echo Done
@echo _
@echo Delete pak_me?
RMDIR /S pak_me
@pause

 

Скрытый текст

//quickbms script to fix ubulk size
//for %1 in (q00\*.ubulk) do quickbms -Y size.bms %1

get WavName basename
get WavSize asize //new size
Open "." filetable.txt 1 //original data
get TableSize asize 1

//read original data from filetable.txt and put it to array 0(size) and 1(names) and 2(mediaID)
open 1 //filetable.txt
for
getCT mediaSize string 0x2c
getCT mediaID string 0x2c
getCT mediaName string 0x2c
getCT O111 string 0x2c
getCT O113 string 0x2c
getCT O114 string 0x0D
get Dummu byte
savepos Pos
//print "%mediaSize% %mediaID% %mediaName%"
//print "%Pos% %TableSize%"
putarray 0 -1 mediaSize
putarray 2 -1 mediaID
putarray 1 -1 mediaName
if Pos = TableSize
break
endif
next
getarray ELEMENTS 0 -0x80000000 //get elements count in array 0(size)

//fix size
open 0 //new wav
for i = 0 < ELEMENTS
    getarray origSize 0 i
    getarray origName 1 i
    getarray origMID 2 i
    //print "wavSize origSize: %WavSize% %origSize%"
    if WavName == origMID
        log MEMORY_FILE 0 0
        xmath Delta "origSize - WavSize"
        if Delta < 0
            string Error P "File %WavName%.ubulk is bigger then original %origName%"
            put Error string MEMORY_FILE
            get Size asize MEMORY_FILE
            string Name P "%origMID%_error.txt"
            log Name 0 Size MEMORY_FILE
            cleanexit
        endif
        putvarchr MEMORY_FILE Delta 0 //create MF with zeroes
        print "%origName% %Delta%"
        string Name P "pak_me\PenDriverPro\Content\WwiseAudio\Localized\English_US_\Media\%origMID%.ubulk"
        append
        log Name 0 Delta MEMORY_FILE //append zeroes to ubulk to match origSize
    endif
next i

Скрытый текст

"pak_me\*.*" "..\..\..\*.*" 

 

Для экспорта файлов с понятными именами, понадобится файл filetable.txt(включён в архив) с описанием файлов “размер,медиаID,название,sha1 hash,адрес в патче 1.1.1,адрес в патче 1.1.3,адрес в патче 1.1.4”, разделённым запятыми. Вот такое:

17071,998451977,vo_q08_061_francis_TobiasTobias_int,0024a30aeb823d9abc006053afb0c2c851e4b87d,4657524654,4656476078,4656476078
122866,551825624,vo_q08_nudge_batterylow_003_tobias_DontWorryDriver_int,002e9ba74497e553037b537e17ebf2e5faf8d4e3,4346843982,4345795406,4345795406
...
172425,459377820,S07C_ToCheckpoint05A_052_054_int,003631d3d91e7c97f55c5fb30097ae4adbd9ef14,4289459786,4288411210,4288411210

как сгенерировать такой файл - отдельная история…

Инструменты:

QuickBMS универсальный инструмент для распаковки/запаковки по скрипту

ww2ogg утилита для конвертации wem файлов в ogg

audiokinetic wwise софт для работы со звуком для видео игр

UPD: утилиты обновлены до версии 1.2

  • Исправлены субтитры
  • Исправлен экспорт файлов vo_q01_retry_antennaparts_001_oppy_StillNeedThose_Alt_1_ext и vo_q01_retry_antennaparts_001_oppy_StillNeedThose_Alt_1_int
  • Оптимизирована конвертация wem в ogg при экспорте
  • Обновлён файл filetable.txt адресами из патча 1.1.4

UPD: filetable.txt с адресами из патча 1.5.0. Добавлен экспорт-импорт файлов radio_channel_m3 (кроме radio_interstitial04)

UPD: дополнение утилит для запаковки в pak файл (pakchunk5-WindowsNoEditor_VO.pak). Распаковать в ту же папку.

Скрытый текст

для добавления radio_interstitial04 в пак, нужно предварительно закинуть wav файл с именем radio_interstitial04.nd.wav в папку wav (длительность 2:14.548s, 44100Hz, stereo)

UPD: В обновлении 1.8 игру перенесли на 4.27.2. Имена файлов изменили с ubulk на wem.  Путь к файлам был

PenDriverPro\Content\WwiseAudio\Localized\English_US_\Media\

стал

PenDriverPro\Content\WwiseAudio\Media\English(US)

 

Изменено пользователем xoixa
дополнение утилит для запаковки в pak файл
  • Лайк (+1) 2
  • Спасибо (+1) 2

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сейчас популярно

  • Продвигаемые темы

  • Последние сообщения

    • Это даже звучит как бред, если человек идиот, то он может родится кем угодно и даже начать войну по идиотским причинам, но так же верно и то, что идиот быстрее погибнет, чем любой другой. Например по тому что начнет войну, которую не одобрят ни его солдаты, ни другие подчиненные. Идиотов использовали, даже при наличии высочайшего титула, вроде императора, люди которые идиотами не были, но если их поступки выходили за рамки чьих нибудь интересов, как можно было найти нового правителя. Любая политическая система построена на интересах тысяч людей и далеко не каждый будет делать то, что от него ожидают, просто потому что “правитель нам богом дан, а мы должны ему подчиняться”, так практически никогда и не случалось, так что если так случается в фэнтези и все это терпят довольно долго и без последствий — значит это бред. Обычно всему находятся довольно веские причины, ну например тирании, либо у нас злой и глупый человек который потакает своим порокам, но очень выгоден другим могущественным людям, либо тирания вымышлена теми, кому правление не пришлось по душе и это далеко не всегда простые люди (а любой участвующий в политической борьбе, должен понимать все риски), вспомнить Ивана Грозного, от которого пострадало куда меньше людей, чем нам представляется, всего около двух тысяч и по большей части это были боярские семьи. Я  уж тут промолчу про Сталинские “репрессии”. Поэтому хорошие писатели фэнтези так же хорошо знают историю в целом и это видно и  поэтому делают свои истории реалистичными, а плохие  могут написать любую фигню и брать их за пример хоть чего-то не имеет никакого смысла. Думаю любому писателю кроме воображения надо иметь еще и жизненный опыт, чтобы понимать других людей и описывать их. Пытки это не что-то из ряда вон, думаю до сих пор используются, это метод получить информацию и скорее правдивую, не лучший и не самый надежный но, скажем так “проверенный веками”, отсутствие образование так же не делает людей не плохими ни хорошими. А ощущение вседозволенности должно быть грамотно обосновано, если такое происходит, чтобы это не смотрелось как нелепость. Я даже боюсь представить, что вы там такое читали Взять к примеру даже не книгу, а игру KCD, у вас есть ощущение вседозволенности в средневековье? А ведь вы можете стать преступником только за охоту в чужих лесах, что уж говорить про нечто другое и это вполне нормально. Это очень смешно, право, а кто держит кнут, дражайший собеседник и как сделать так, чтобы держащий кнут направлял его в верную сторону, а не против вас же? С таким взглядом на вещи можно читать вообще все что угодно и находить это прекрасным А то по этой небольшой фразе стало понятно, что вы считаете, что в средние века родись вы лордом, делали бы что пожелаете без последствий? Ахах! Пряников особо не было, интернета, доставки на дом, до слез просто. Сохраню себе, это на самом деле прекрасно
    • По разному это как? Либо кнутом либо пряником. Пряников в средние века особо нету. 
    • Не любитель фэнтези и типичных рпгешек с магией, прокачкой и всем таким. Играл в Скайрим, может ещё во что-то. Понравилось. Tainted Grail после 9 часов вызывает исключительно положительные эмоции. Очень интересно приключаться. Видишь обломки/руины - обязательно что-нибудь там найдёшь. Кажется где-то там есть проход - не показалось, он обязательно к чему-то приведёт/выведет. В добавок ко всему ночная Марь, тоже разбавляет и мир и геймплей. Но больше всего тащусь от квестов, а именно от диалогов/текстов. Все разные, есть с неожиданными поворотами (документы в таверне или про букет), есть короткие и при этом глубокомысленные (пирог мамочки), есть просто забавные (война с чайками), а есть вполне необычные (разговор с немым). Пока не встретил ни одного проходного квеста по типу принеси/убей. Помимо квестов, мне интересно тупо разговаривать с нпс, ветки длинные, всё написано гладко, в результате органично раскрывается сам нпс и лор мира. Круть. В демке после прочтения первой же найденной книги (эротика) рассмеялся в голос и понял, что в игре с текстами будет порядок. Но полная версия превзошла ожидания.  Вся игра устроена и скроена очень удобно, от геймплейя, до инвентаря. Играю вообще без напрягов, шероховатостей или компромиссов. Почти. Единственное чего не хватает, это ускорения в плавании. Ну и оптимизация в игре не важная. Короче, кайф. Не ожидал такой годноты.
    • Ну для народа скажут, что там соседний лорд хочет землю отобрать, убить мужей изнасиловать жен, мы должны действовать. И все поверят, так же сказал господин. А настоящая причина может быть в чем угодно, в женщине, в желании завладеть более роскошным поместьем вражеского лорда, еще что нить. Это сейчас может звучит глупо как истинная причина, но когда сеттинг в котором присутствуют жестокие пытки, отсутствие образования(я имею ввиду что сам уровень его не высокий в средние то века), и ощущение вседозволенности, это все вполне реально уже выглядит.
    • Необразованные крестьяне, это в принципе логично,  если крестьянин образован, это скорее исключение и если он не забудет образование за не использованием, тому тоже должны найтись причины, так как зная историю даже нашей страны, некоторых обучали в скажем церковно-приходских школах и они напрочь это забывали, потому как им не приходилось ни писать ни читать. Но необразованный не значит глупый и именно поэтому повсеместное распространение образования при некоторых императорах и тем более в СССР так хорошо сказалось на развитии страны, скажем некоторые реформы Екатерины Великой дали толчок к золотому веку в литературе. Я бы сказал, что стереотипы про тираничных лордов больший бред, потому что сохранять свое влияние можно по разному и хоть лордов - любых не назовешь людьми которых сильно заботит жизнь тех кто делает их богатыми, вряд ли они были жестокими просто по рождению, скорее всего они все были такими же разными, как и прочее, а все остальное — так же логичный процесс воспитания.
    • В книге Фрэнка Герберта, прикольный сеттинг.  Мне очень нравится. Но я бы его и близко не назвал чем-то логичным и обоснованным. У него очень необычные родные миры домов, атрейдейс как дом со своей родной планетой уничтожается слишком быстро, император ведет себя не как император. Барон типичный жадный злодей из средневековья. Да и в целом, у него один дом зло чистейшее, а другой благородный и хороший — ну такое себе.  Спайс из-за которого все с ума сходят — является неограниченным ресурсом, он генерируется со временем, чтобы из-за него начинать войны. У Тома Клэнси в той части где война за заканчивающаяся нефть лучше прописано и логичнее. Но да, там лучше чем во многих других. В экспансии по которой собираются игру делать, например есть жители астероидного пояса, колонизированный марс и земля. И все ненавидят друг друга, землян ненавидят больше из зависти, что у них есть голубое небо и океаны, в то время как у пояса и марса этого нет. При этом они даже если вдруг победят землян, истребят их, все равно не смогут жить вместо них на земле. В экспансии, из-за отсутствия гравитации кости и сердце не адаптированы, и когда житель марса или житель астероидного пояса прилетает на землю — то для него нахождение там как пытка. Если говорить конкретно о конфликте, то там тоже из пальца высосанная причина. Не, у меня нет времени щас на них, лето — больше тренировок. И еще я тут себе составил список игр, которые хочу пройти. The Alters
      Fire emblem three houses
      Kingdom come 2.
      Triangle strategy.
      Tactics Ogre.
      Tainted Grail: The Fall of Avalon
      Warhammer 40,000: Rogue Trader
      Caribbean Legend
      Atelier Yumia: The Alchemist of Memories & the Envisioned Land
      Romancing SaGa 2: Revenge of the Seven
      Company of Heroes 3
      Dynasty Warriors: Origins Щас вот заканчиваю с The Hundred Line Last Defense Academy. осталось пару таймлайнов пройти. Крутая игра кстати. Некая смесь Zero Escape, Danganronpa в стиле tower defence+tactical jrpg. Но увы без русского языка. И на зоге даже никто тему про нее не создавал. Но оно не удивительно, кто захочет переводить новеллу на 100 часов геймплея. Слава богу мне моего базового знания хватило, чтобы пройти почти не подглядывая в словарик, ну может раз в час чтения, подглядывал.
    • Вообще то нет, даже история про Елену Троянскую историками считается за выдуманную. Что-то подобное адекватной причиной войны является почти никогда и скорее всего это лишь предлог или красивая сказка и собрать действительно большую армию, а не шайку, чтобы пойти на войну потому что дочка соседа понравилась может прийти в голову только полному идиоту и такие люди редко долго живут, собственные солдаты не довольные таким лордом или разорение, потому  что деньги потрачены впустую, а война — это всегда деньги, если не пополнять грабежами, на которые все остальные должны закрывать глаза тоже по логичным причинам. Конечно, исключения всегда найдутся. Опять же по поводу фантастики, я уже сказал, что образ мыслей писателя находит там отражение, как же оно будет на самом деле мало кому известно. Опять же когда вы говорите про ненависть, скорее всего речь идет про что-то такое — “ох уж эти американцы, ну тупые”, например. но это не значит, что тот же человек увидев американца на улице, подойдет ему высказать свое презрение или даже испытает его в принципе, просто потому, что “американцы тупые”, это не ненависть и даже не отношение к отдельным людям, это просто шутка или устоявшееся  выражение. А исключений довольно мало, возвращаясь же к фантастике, взять ту же Экспансию, там марсиане не ненавидят землян и наоборот, напряжение  есть среди военных и оно логично, так как есть определенное политическое и военное напряжение. Если же люди ненавидят без причины, то скорее всего просто писатель не очень хорош, вот и все. Людей можно заставить ненавидеть незнакомых им людей, но это будет конкретная работа, проделанная недавно или так давно, что это стало традицией и передается через воспитание.
    • Это ты про какую конкретно книгу? Название предоставишь? Всё-таки в литературе качество и сложность сюжета тоже бывает разным. Если в какой-нибудь Дюне и т.п. довольно хорошо продуманный мир и конфликт, то в более лёгком чтиве (в т.ч. обычной массовой штамповке на “почитать в метро”) может и вовсе отсутствовать причина-следствие с хоть какой-то сложной логикой, т.к. цель “лёгкой литературы” несколько в ином. То есть тут всё-таки не совсем именно от жанра подобное зависит всё же. Пример книги? Сложно судить о конфликте в литературе, не видя даже общего сюжета. Фентези фентези рознь. Качество в любом жанре от книги к книге разнится. Стереотипы о необразованных крестьянах в фентези, мягко говоря, далеко не всегда уместны. Фентези бывают разными, в т.ч. и образчики с развитыми магическими мирами, где развитие шло в этом направлении, а не в технический уклон. То есть никаких крестьян с палками, не умеющих читать может и не быть. Могу накидать примеры, если хочешь.
    • И не только они, ещё один товарищ делал с английского много, от него остались остаточные вещи в побочках, о чём я писал, и пока его варианты хостесс и JUSTIS(помимо сюжетных) тоже там. Илья поделал лайв-чат и предметы, но он занимался больше шрифтом. Потом ещё тестер, одна редактор прошлась всю сюжетку в аспекте того, как звучит и успеваешь ли прочитать. И прочая.
  • Изменения статусов

    • Дмитрий Соснов  »  Tirniel

      Привет! ты разбираешься в компьютерном железе, сможешь помочь с советом по апгрейду старого компа?
      · 1 ответ
    • SHAMAH

      Куда вход на сайт убрали и ЗАЧЕМ? Хотел файл скачать, там только медленная загрузка и “зарегистрируйтесь”. Все. Пришлось вручную страницу входа прописывать.
      · 0 ответов
    • Nosferatu  »  behar

      Добрый вечер.
      Подскажите пожалуйста, у вас не осталось случайно исходников для фикса на широкоформатные мониторы для игры Vampire The Masquerade Redemption?
      Если да, то не могли бы вы ими поделиться, а если нет, то прошу прощенья что побеспокоил.
      Заранее спасибо.
      · 0 ответов
    • AlcoKolyic  »  makc_ar

      Здраствуйте! Извините, а можно попросить ссылку на место где можно взять перевод (патч или образ игры с переводом) El Shaddai: Ascension of the Metatron для ps3, пожалуйста? А то в теме к этой игре у меня не получилось найти работающие ссылки… Первая ведет в группу в которой удалены большинство постов, а пост с этой игрой ведет на сайт https://psnext.ru который сейчас не имеет отношения к видеоиграм. 
      · 0 ответов
    • oleg72  »  Boor

      https://www.skidrowcodex.net/fate-reawakened-goldberg/
      · 0 ответов
  • Лучшие авторы


Zone of Games © 2003–2025 | Реклама на сайте.

×