鐵之狂傲

 取回密碼
 註冊
搜尋

無名的勇者

天繾寶寶說你好

切換到指定樓層
1#


這一篇是從原本是我發在巴哈的文章修改而成,因為原本主要是給和不懂程式的使用者看和要求代理商加強翻譯。原文共有兩篇,這邊稍作修改成一篇。
(對一個日版RMXP的使用者來說,看到之前巴哈上廠商版一些文就想替那些人解說一下)

日版的 RMXP 說明分為紙本說明書和電子說明檔,紙本說明書的部份沒有提到RGSS,而是對於圖形化使用者介面(GUI)做出基本且完整的介紹。我認為這部份英特衛應該保留,前面有人認為這是多餘的,但其說法顯然有誤解。
這主要有兩點:
一來要顧慮剛入門的使用者,並不是每個人都有用過前幾代。
二來是讓人搞清楚RMXP[到底是什麼東西]。

看大家在巴哈前面的發言對RMXP的本質似乎都不了解,即使有用過前代的人也因為對RGSS的誤解造成整體的誤解。就我所知,即使在日本這個原產地,大部分做出遊戲的使用者除了套套網路上強者做的RGSS script,其實真正會對內建的的RGSS碼做大修改甚至架構性改變的很少,因為除非你是要做完全不同類型的遊戲(ex:第一人稱射擊、即時戰略等非rpg類),其實在架構上全部自己重寫在大部分的情況下是沒有必要的。反而會造成在投入(做遊戲專案)與產出(專案成果)上的不平衡,(時間/成果的C/P值會很低),剛好抹煞了RMXP 這軟體的優勢和本意。後面我會分享一些我個人在實作上的經驗,

這邊先舉個例子:
RMXP的官方範例遊戲
「白之絆」(http://0rz.tw/d32q5)

這遊戲在戰鬥畫面上完全和RMXP內建不一樣,系統選單也是自製的,但事實上,內部的RGSS碼一個字也沒改,簡單來說,除了素材是自己重畫,只要對如何用GUI操作系統了解透徹,用用前面幾代就有的圖形化介面建立的「開關」和「變數」,用RMXP做出這類遊戲在程式上一點也不難。
(白之絆用的還是其中最簡單且最笨的方式)

總之,我希望英特衛保留原日版紙本這部份,即使我不需要,我想大多數的使用者會需要的。再來是有關介紹電子說明檔和RGSS的部份。

下面主要是介紹日版RMXP的電子檔和RGSS,和由我個人製作經驗產生對說明書製作的看法。
而為了讓大家理解什麼是RGSS,我想有必要先讓大家理解RMXP「到底是什麼東西」。事實上,RMXP 的本質和前面幾代都一樣,並不會因為多開放了RGSS就不同。

「RM系列的本質就是一套用來製作遊戲的framework(框架)」。

所謂的framework就是為了避免設計者接觸底層的低階技術,多花點時間在主要任務(遊戲設計)上,總之,是為了增加生產效能和效率所誕生的軟體。RMXP 和前幾代的不同在於允許使用者去處理更底層的技術,但在此有件事必須先說明,那就是目前所有的RM系列所包裝的「低階技術」,從電腦的角度來看其實都很「高階」,而其內部的元件設計的也不複雜。說明白點就是RM系列不管哪一代,都是使用非常方便的framework,即使不懂得程式的人都可以用。

好的framework可以集合設計者常用的指令,用以減少設計者 coding(寫程式)的量。

不好的 framework會弄出要求使用者硬套的模型,表面上看起來幫使用者寫了很多程式碼,
實際上這模型對設計者不是太小就是太大,有時更慘的是還有一堆猶如隔靴搔癢的不合用介面。

這些缺點剛好就是 XP以前RM系列的問題,如果使用者要做的遊戲型態和預設模型有很大差異,
則必需在這上面疊床架屋,繞一大圈才能完成功能。還不如放棄framework,直接自己另外寫程式最快;但XP的做法卻是一個更好的減少程式碼的實作法。

XP除了舊系列就有的預設簡單模型,重要的是又提供這個簡單模型的程式碼,讓使用者可以直接修改成合用形式。如果預設的完全不能用,也可以把預設的程式碼全部砍掉重寫,這裡的重寫很方便,至少比起另外自己寫程式輕鬆很多,關鍵就是這些架構的實作方法:RGSS。

為何用RGSS會比直接使用任何其他高階語言輕鬆?(常用的高階語言:C++、JAVA……等)
首先必須解釋RGSS是什麼。

RGSS(Ruby Game Scripting System),中文的意思是RUBY遊戲腳本系統。是應用RUBY語言去做Windows 2D遊戲的系統。日方原廠對RGSS這個名詞的解說也大約只有以上如此,但就我看過其他日本使用者作品和實做的感想,這個說法其實太模糊且不盡正確,或許日方也有其考量?

事實上,RGSS 在程式語法上和 RUBY 完全相同,只有在遊戲必要相關上強化。(ex:音樂演奏、子圖集…..等)嚴格說起來那些強化並沒有全部「包起來」,(但是包了大部分就是...)是有看的見的程式碼,要全部砍掉或忽略而自己重寫不是不行,(比如說要做3D遊戲),只是這樣原本的GUI(圖形使用者介面)大都會變沒用。感覺「很像」直接拿RUBY編譯器去寫遊戲,不同的是這套RGSS的API用的是微軟的DirectX,(所以只能在Windows上跑)因為有了API理所當然不用接觸底層的硬體,(為了不同型號的搖桿寫個別的程式碼不是遊戲設計者該做的)。更方便的是除非你要搞東西要用的API在原廠預設的以外,(我就是在說3D遊戲),事實上設計者連DirectX要怎麼用也不用管,這點絕對比直接拿高階語言寫方便。

由於以上的狀況,我個人推薦的實做方法是兩者兼容,除非該功能原廠沒給,否則就別自己實做。
即使你遊戲架構全重寫了,但原廠程式碼因為RUBY物件導向的優點,很多功能可以剪貼出來用,
這樣的好處是快,且降低跟原本核心衝突的可能性。一個更常見的模式是遊戲架構和原廠相通,
只是在功能上做改變或增加。(常見的是強化或改變戰鬥系統)。如果那個功能完全沒有在原廠預訂裡,其實可以直接在RGSS裡調用想用的API,對一般設計師來說還是比硬幹快樂多了。
(當然對RM系列大多使用者來說頗難)

解釋完RGSS終於可以來講電子檔了,電子檔內容分成三部份,剛好對應三種程度的使用者。

第一部份內容跟紙本說明書一樣(簡略版),對應完全不想碰程式的使用者。

第二部份是腳本入門,是原廠編寫的程式設計基本教科書,介紹的是看懂程式該懂的基本知識。
(包括一些預設程式碼的介紹)這裏專給完全不懂卻想學程式的人看。

第三部份是RGSS的技術文件,是由RUBY官網上參考手冊擷取必要內容,再加上RGSS裡特有的類別和函數所改寫成。

版大(巴哈英版版主)上面引的那段就出自於此,所以我才會說內容沒問題。大家看不懂一來是翻譯實在太爛,二來是不習慣看技術文件。

總之,我希望英特衛可以加強糟糕的翻譯,就結果來看,這次的翻譯靠對岸來做實在不是一件好事。希望校稿的能多用點心加油。還有就是教育使用者,後續教育訓練我不敢期待,但至少在消費之前要教育使用者,讓大家知道自己買的東西是什麼又能做什麼。而不是一堆空泛的廣告詞。
 
轉播0 分享0 收藏0

回覆 使用道具 檢舉

白之絆並沒有完全沒有動過script裡的東西的,雖沒有對默認的rgss改動過,但作者也多寫了幾個,而且是跟戰鬥系統有關聯的。

那個戰鬥系統有一些部份還是依靠了簡單的腳本,但主要的還是事件。白之絆其實是做得蠻不錯的,除了事件外面的運用有些太複雜外,作為一個範例遊戲,它是挺成功的。

只要對事件的運用有一定的熟悉,便能把這個範例看懂。基本上要做出這樣的效果並不難(就是沒有素材)。
 

回覆 使用道具 檢舉

你需要登入後才可以回覆 登入 | 註冊

存檔|手機版|聯絡我們|新聞提供|鐵之狂傲

GMT+8, 24-11-2 18:32 , Processed in 0.020267 second(s), 20 queries , Gzip On.

回頂部