游戲漢化教程1-漢化流程


游戲漢化流程


  游戲漢化是非常具有挑戰和成就感的,挑戰在於和游戲開發商斗智斗勇,想盡一切辦法層層撥開文件,得到最后需要漢化的資源,其過程不亞於一段推理。成就感就不用說了,和開發程序一樣的,誰不願意看到自己的作品被很多人使用呢?

  實際上,游戲的漢化流程非常簡單,如下圖所示:

 

  其中,黃色的表示要根據實際情況進行處理,大部分游戲是需要處理字庫和編碼(字庫和編碼的處理屬於漢化中難度比較大的一個技術環節,后面的教程會詳細說明)的,不過如果運氣好遇到一些比較厚道的廠商(比如我們漢化的托托莉的工作室,采用Unicode編碼,TrueType字庫,那就可以直接利用ttf字庫,而不需要重新生成字庫了),那么這個環節就簡單多了。

  OK,我們還是按照流程來說,上圖整個左邊就是漢化組中,程序需要做的工作。看起來幾個簡單的步驟,實際上每一步都還可以拆分的更細,每一步要做的工作也不會很少。

  首先是要多整個游戲的文件資源進行分析,一般來說,游戲的資源都不是我們平時在Windows或者Linux下常見的文件類型,而是一些游戲廠商利用第三方工具處理或者自己開發的文件格式。例如PS3的psarc格式(playstation archive),CRIWare的cpk等等。這些文件都是對游戲資源的一個壓縮打包,作用是減小游戲的體積並且減少零碎文件的存在,以提升游戲的運行效率。這些文件有些可以直接利用現成的工具解包,有些則需要分析封包數據來自己編寫解包程序。

  游戲資源解包以后,就要開始尋找文本了,尋找文本以前,首先要搞清楚游戲文本所用的編碼方式,一般來說,PS3上的日文游戲采用的是UTF8、ShiftJIS等編碼,也有游戲使用的自定義編碼(自定義編碼處理起來稍微麻煩一些,不過到目前為止,還沒有在PS3上遇到過自定義編碼的,PSP上倒是有)。找編碼的方式有幾種,一是先找到字庫(大部分游戲是自制字庫,整個字庫就是一張圖片,整圖或者Tile圖片),通過字庫可以觀察出游戲的文本編碼。二是對文件進行16進制搜索,先在游戲中找到一段對話,然后利用工具在資源中選擇不同的編碼方式進行搜索,對於非自定義編碼,第二種方式比較簡單,對於自定義編碼,可以采用相對搜索方式(或者叫差值搜索),這種方式就需要結合字庫來進行。尋找字庫和編碼常用的工具有CrystalTile2(天使漢化組的一款功能比較強大的工具),還有一個是我近期才編寫的16進制搜索工具(源代碼在這里),我在網上找的16進制搜索工具都不太好用,不太適合漢化。

  文本搞定以后,就需要處理游戲圖片了,一般游戲圖片上也包含了需要漢化的內容(比如封面之類的),游戲的圖片常見格式為PNG或者DDS(當然還有其他格式)。但是這些圖片一般都不是直接就乖乖的躺在資源文件里面,而是用一種廠商自定義的格式來封裝了一下(也就是加了些文件頭信息和控制數據,但是圖片內容數據本身就是位圖),所以只需要去掉這些自定義的文件頭信息,換成BMP或者DDS的文件頭即可用常用圖片閱覽器打開。

  文本和圖片搞定以后,要做的就是編寫一個程序來導出文本和圖片(最好是批量工具,能整體處理某一個文件夾下的所有文件)。圖片還好,一般包裝的文件格式都比較簡單,文本就不一樣了,千差萬別。所以,為了導出文本,還需要讀懂文本包裝文件的數據。比如一個文本包裝文件,包含頭信息,里面告訴了你這個文件包含多少句文本,同時,每一句文本前還有控制數據,告訴你這句文本總共包含了多少字節的數據(但一般都直接利用一個特殊字節來做為每一句的結束,例如0x00)。所以,我們需要讀懂這些數據來編寫導入導出程序。

  上面的工作完成后,漢化就基本完成一半了,這個時候,還不要急着把文本和圖片丟給翻譯,一個擁有良好習慣的程序員總是要自測一下自己的程序的。我們需要將解包的資源封包,放回游戲,看看有沒有問題,如果沒有問題,則將導出的文本隨便修改一些,再導入放回游戲,看看在游戲里面是否有效果等等。完成一系列的測試后,再交給翻譯人員,不要等翻譯完了,才發現,不能封包什么的,那就虧大了。

  翻譯完成后,程序要做的事情實際上就是翻譯前的一個逆向過程了,就像上山總要下山一樣。不過一般的漢化組的程序會在編寫導出程序的同時,就完成了導入程序的開發,並且,按照我的習慣,會利用我的程序來將導出的資源導入回去,與原始文件做一次MD5校驗,必須保證完全一致,才能確保在游戲中不出問題。

  以上就是整個漢化的大致流程,比較粗,實際上整個漢化過程會非常繁瑣,而且有時候一個很小的細節,就會導致游戲出現各種問題。我會在后面的文章中,把每一個步驟都細分,然后結合實例來編寫這部漢化教程。教程中所有涉及到的源代碼,我會在Github上共享。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM