2011年11月13日星期日

紙上談兵---養成遊戲製作(導入篇)

(k ゚∀゚)<這次我們是在程式方面談論一下如何製作養成遊戲。

由你講解關於養成遊戲真的恰當嗎? 你根本沒有製作過養成遊戲......>( ゚ω゚ s)

(k ゚∀゚)<所以這篇純粹是紙上談兵,並且把我的概念和想法分享給大家參考,若果大家覺得我有什麼錯誤,歡迎作出批評或糾正。

(k ゚∀゚)<當然,一開始先要說一下什麼是養成遊戲,簡單來說,養成遊戲主要是培育角色的遊戲。如果含有戀愛要素的話,有時亦稱之為戀愛模擬遊戲。

(k ゚∀゚)<玩家在指定的時間限期內培育主角的能力,或者是增加女主角的好感度之類,玩家選擇不同的行動來達成上述的目標。在到達時間限期後,遊戲會根據某些數值(如能力值和好感度等),判斷進入哪一個結局。

這的確是很常見的養成遊戲模樣,不過為什麼要講到這些東西?>( ゚ω゚ s)

(k ゚∀゚)<因為我們在製作養成遊戲之前,必須理解其結構,其實養成遊戲的結構跟戀愛冒險遊戲有不少相似的地方,兩者都是透過選項(行動)來改變數值(如flag和好感度等),最後也是透過這些被改變的數值來判斷進入哪一個角色的路線(結局)。

(k ゚∀゚)<但是,兩者有一個地方是截然不同的,戀愛冒險遊戲的結構一般是一直線的,即是劇本的前進方式是一直線的,其中可能有一些分歧點,最後有一些角色的個別路線,不過劇本不會有任何重複的部分,以下是流程圖。




















那麼養成遊戲有什麼不同?>( ゚ω゚ s)

(k ゚∀゚)<如果大家有玩過養成遊戲,就會發現養成遊戲大多是以行動-->事件模式來進行,即是玩家選擇並且執行行動,然後檢查是否達成條件並觸發事件,遊戲的本體大部分時間都重複在這部分,直到到達指定的時間限期為止。

(k ゚∀゚)<以下是流程圖。




















(k ゚∀゚)<簡單來說,養成遊戲的結構是一個很典型的迴圈結構,當到達指定的時間限期才離開迴圈,迴圈裡的內容可分為三個部分,分別是行動、事件和日子的前進(更新)。

(k ゚∀゚)<行動是一個給予玩家選擇的部分,在迴圈裡每次都會出現的,而執行行動都會改變了一些變數的數值(如疲勞值等各種數值),例如,玩家選擇打工時。疲勞值會上升,金錢亦會上升。

(k ゚∀゚)<執行完行動之後,我們必須檢查是否觸發事件,如果條件成立的話,事件就會被觸發,不過這意味著不一定每次都會觸發事件,而事件有時候會跟前一次行動有關,例如地圖移動等,會因不同的行動而影響事件的觸發,玩家選擇地圖的某地方才能遇見某角色。

有沒有其他例子?>( ゚ω゚ s)

(k ゚∀゚)<又或者說一下約會系統,玩家邀請女角去約會(行動),當到了當天的時候(檢查條件),就去跟女角約會(事件),這例子必須執行某些行動(邀請女角)才會發生某事件(約會),總不可能在沒有邀請女角的情況下,突然被女角強制去約會吧。

(k ゚∀゚)<最後我們要更新日期,當然啦,我們會用一個變數來儲存已經過了多少日子,這個日期是用行動單位來計算,而且它也是一個counter(計數器)。

(k ゚∀゚)<行動單位不一定是用日數來計算,大家大可以製作成一天可以行動兩、三次,而且更新行動單位時,不一定只能增加一個行動單位,大家可考慮不同的行動會花了不同的行動單位。

(k ゚∀゚)<當這個儲存行動單位的變數大於某個數值(到達指定的限期),遊戲就會離開迴圈,並且進入結局,否則繼續迴圈,再次給予玩家選擇行動。

(k ゚∀゚)<基本上一般常見的養成遊戲都可以用這個結構來製作出來,今次大致上就說到這裡,下次再見。

沒有留言:

發佈留言