無雙引擎

無雙引擎,是一款遊戲製作工具。它現階段的目標是使用者不需要掌握任何程式語言或外語,就可以輕鬆地製作出電子小說式AVG遊戲·。

基本介紹

  • 中文名:無雙引擎
  • 類別:遊戲製作工具
  • 劇本構成:初始化和劇情
  • 命令版本:簡體,繁體和英文
製作思路,軟體目錄,劇本結構,劇情部分,配置檔案,命令詳解,圖形命令,音效命令,控制邏輯,進階教程,角色定義,界面製作,動畫特效,幀動畫,好感度,API手冊,命令對照表,

製作思路

無雙引擎的目標是儘可能地降低電子小說的製作門檻,但這並不意味著製作電子小說從此就可以很輕鬆.一個時長為半小時的電子小說
可能就會有上萬字,多個分支情節以及結局.構造這樣的非線性的故事情節顯然不是容易的事情.而無雙引擎的優勢在於她可以使你
快速試驗自己的想法.只需要有個大概的背景設定,兩三個角色,你就可以開始錄入劇本並查看最終遊戲效果.你可以在遊戲尚未完成時
就將她發布出來,也可以以續集的形式來發布後續版本.總之,”儘早發布”和”頻繁發布”,是保證一個遊戲項目生命力的絕佳手段.
無雙引擎自帶有很多遊戲示例,這些遊戲示例的劇本都是很好的上手指南,可以通過修改現有劇本來快速地上手無雙使用。

軟體目錄

無雙引擎的主要目錄結構如下:
根目錄
|__圖片
|__音樂
|__遊戲目錄
|__無雙簡介
|__存檔
|__圖片
|__音樂
|__劇本.txt
|__設定.txt
|__其他遊戲
|__存檔
|__圖片
|__音樂
|__劇本.txt
|__設定.txt
|__使用指南.txt
|__運行無雙.exe
主要的遊戲相關數據檔案都保存在遊戲目錄中。當遊戲目錄中只有一個遊戲時,會直接啟動這個遊戲。在載入圖片和音樂時,
會先在遊戲目錄中的相應資料夾查找檔案,查找不到才會去根目錄下的圖片音樂目錄中去查找,仍然找不到的話會有錯誤提示。
這樣一來,”遊戲目錄”下的每個子目錄都包含了一個遊戲的所有數據,可以單獨發布.如果玩過模擬器的話,可以把遊戲目錄下的每個
子目錄理解為一個ROM.由於我構想中的AVG遊戲都比較短小,並且可能以續集的形式持續發布,那么採用這種目錄結構可以減小
每個遊戲的下載量.假如把圖片音樂都放到根目錄的話,發布續集更是只需要發布劇本和設定這兩個txt檔案就可以了,更新很方便!
每個遊戲必須至少有 劇本.txt 和 設定.txt 這兩個檔案

劇本結構

初始化部分
初始化主要用來定義劇情中需要用到的圖片和音樂檔案,相當於給圖片和音樂檔案起一個”別名”,
這樣以後使用這些圖片音樂檔案時,就可以只使用別名。當需要替換資源檔案時,也只需要修改
初始化中相應的部分,劇情部分的別名無需改動,非常方便。
初始化部分還可以定義一些”全局變數”,來控制遊戲運行狀態,相關文檔內容會隨著高級遊戲系統
如角色屬性,背包系統的開發而逐步添加.

劇情部分

劇情部分由一個或多個標籤組成.標籤可以作為劇情的章節,場景的描述等等來理解.劇情的分支
可以通過”分支選單”,”如果”指令以及”全局變數”來控制.標籤的末尾一般應該設定”跳轉”指令,
否則會繼續執行下一個相鄰的標籤內容.劇本中可用的指令,請參考命令詳解.
劇本中至少需要有一個”開始”標籤和一句台詞
劇本格式必須嚴格遵守縮進.推薦使用兩個空格鍵來縮進.不能使用Tab鍵縮進.
劇本中的控制類標點符號,如 : ” = == 等,必須用英文半角標點符號

配置檔案

設定.txt 中可以設定遊戲的基本屬性,如遊戲名稱,視窗大小,字型,文本框背景圖等等.查看設定.txt 說明可以得到更多信息.
無雙目前只支持視窗模式,並且不支持拉伸,所以背景圖的解析度應該和視窗大小保持一致。

命令詳解

命令目前提供簡體,繁體和英文三種版本,具體對照請參見簡繁英命令對照表.下面主要針對簡體版命令進行講解.

圖形命令

4.1.1 "圖片"命令
格式: 圖片 組名 標記名 = “圖片連結”
圖片命令的主要作用是給一個圖片打上標籤,這樣在後續劇本中就可以方便地顯示該圖片.如:
圖片 無雙 高興 = "無雙_高興.png" 其中 無雙 可以理解為組,而 高興 可以理解為具體動作.當顯示組中的某個動作時,其他動作會自動隱藏,這樣可以簡化劇本的編寫,
因為通常我們都不需要兩個 無雙 顯示在螢幕上.
4.1.2 "顯示"命令
格式: 顯示 組名 標記名 位置 X坐標 Z坐標
顯示命令用來顯示一個圖片,用法如下:
顯示 無雙 高興
顯示 無雙 高興 左 50
顯示 無雙 高興 左 50 10
顯示 背景 街景 中 0 -10 圖片的坐標定位只有三個,即 左 中 右.默認圖片會在中間顯示,如果想顯示在左或右,可以再加一個X坐標(如50)來控制圖片相對於
視窗左框線或右框線的距離.
如果還想控制圖片的遮擋關係,可以再加一個Z坐標(如10).Z坐標大的圖片會擋住Z坐標小的圖片.
如果Z坐標相同,後顯示的圖片會擋住先顯示的圖片.
顯示命令會記憶上次圖片的坐標位置,這樣不用反覆輸入左右和坐標,很方便!
也就是說,假如你已經使用了
顯示 背景 街景 中 0 -10 來顯示背景後,下次切換背景時,只需要輸入
顯示 背景 偵探社 所有坐標信息都會自動使用上次的設定
4.1.3 "說話"命令
由於說話在AVG中的比重相當大,所以它被設計成了默認指令,無需輸入其他前綴,只需要雙引號”“就可以,如:
"大家好!我是無雙!" 注意引號必須是半角英文標點符號
1.如果想利用不同的字型或角色名來區分發言人,請參閱 角色定義詳解
2.引號內沒有內容時文本框會自動隱藏,這個技巧可以用在需要全螢幕展示CG事件的地方.
4.1.4 "隱藏"命令
隱藏命令用來隱藏一個圖片,用法如下:
隱藏 無雙 隱藏命令不需要指明當前顯示的具體動作,很方便!
4.1.5 "清屏"命令
清屏命令可以用來清除已經繪製的所有圖片.在它後面可以接一個圖片描述,一般用來載入新背景圖,如:
清屏 背景 都市 相當於
清屏
顯示 背景 都市
4.1.6 "視頻"命令
用來定義一段視頻,定義好後就可以像圖片一樣來使用視頻了.用法如下:
視頻 組名 標記名 視頻寬度 視頻高度 音量 循環/不循環 = '視頻\\XT4.wmv'
視頻 心跳4 宣傳片 236 136 0 循環 = '視頻\\XT4.wmv' 其中音量範圍為0至100.定義好後就可以用
顯示 心跳4 宣傳片 來顯示這段視頻了.
小竅門:可以用 @休息(視頻長度) 來使視頻播放完成後才繼續遊戲.
4.1.7 "多圖動畫"命令
可以用多張圖片反覆播放來形成動畫效果.用法如下:
多圖動畫 組名 標記名 動畫速度 循環/不循環 = 路徑名
多圖動畫 風車 低速轉動 0.3 = "其他\\風車" 然後就可以用
顯示 風車 低速轉動 來顯示剛才的多圖動畫了.顯示順序按路徑中的檔案名稱排序.

音效命令

4.2.1 "音樂"命令
音樂命令可以播放一個之前定義好的聲音檔案,如:
@無雙主題音樂 = "無雙主題音樂.ogg"
音樂 無雙主題音樂 調用'音樂'會停止當前正在播放的音樂.音樂結束後會循環播放
4.2.2 "音效"命令
音效命令和音樂命令的區別在於,音效不會循環,也不會打斷當前正在播放的其他音樂音效語音,如:
@敲門聲 = "敲門聲.ogg"
音效 敲門聲
4.2.3 "語音"命令
語音命令的特點在於,語音不會循環,也不會打斷當前正在播放的其他音樂音效,但會打斷當前正在播放的語音.
這樣快進的時候可以保證語音和文本的同步,不會出現文本已經更新時,新舊語音錯誤混合的情況.
@台詞2_1 = "台詞2_1.ogg"
語音 台詞2_1
"這句應該是台詞2_1的文本內容" 4.2.4 "靜音"命令
靜音命令會停止當前播放的所有音樂

控制邏輯

4.3.1 "標籤"命令
標籤命令主要和跳到命令配合,來實現分支劇情.每個遊戲中至少需要有一個”開始”標籤
標籤 開始: 注意標籤名後要加冒號,該標籤下的後續劇情文本必須縮進
4.3.2 "跳到"命令
跳到命令主要和標籤命令配合,來實現分支劇情,如:
跳到 結束 4.3.3 "分支選單"命令
分支選單命令是實現分支的主要手段,也是目前唯一給用戶提供選項的方式,如:
分支選單:
"這個是選項1,會顯示在選單上":
"如果你選了選項1,就會顯示這一行"
"這個是選項2,也會顯示在選單上":
"如果你選了選項2,就會顯示這一行" 4.3.4 "如果"命令和單行Python命令
如果命令其實就是普通程式語言中的if,如果你覺得”如果”命令難以理解的話,完全可以不去用它.
單行Python命令聽起來更為深奧.如果在行首加了'@'符號的話,該行就變成了”單行Python指令”,如:
@我困了 = True
如果 我困了:
跳到 睡覺
顯示 無雙 熊貓眼
"哈,再玩會兒~" 標籤 睡覺:
顯示 無雙 極度睏倦
"這下真該睡了..."
"ZZZZZZZZZZZZZZZzzzzzzzzzzzz" 雖然@和Python對於製作電子小說來說並不是必須的,但為了實現複雜的遊戲邏輯,掌握一些Python的使用也很有益處,
可以參考無雙自帶教程”教程 - 邪惡的@”.

進階教程

從這裡開始,將完全是邪惡的Python的天下! 請確定你有足夠的實力!
好吧,開個玩笑,其實Python也是很簡單的東西,尤其是中文化後

角色定義

“角色”在無雙引擎中,主要用來定義對話框中的各種外觀效果.包括要顯示的角色名,文本字型顏色,左邊圖,文本框底圖等等內容.
關於角色的詳細定義,請參考角色定義詳解

界面製作

請參閱 界面系統

動畫特效

利用很簡單的指令,就可以在無雙引擎中實現圖片動畫及各種效果,如負片,黑白化,模糊等等,詳見圖片動畫與特效.

幀動畫

關鍵幀動畫是一個很強大的動畫製作功能,利用它可以實現很多華麗的演出效果,例如煙霧特效,立繪眨眼說話,背景放大等待,具體請參見關鍵幀動畫詳解.

好感度

"好感度"及其他遊戲功能
利用強大的Python語言,可以很輕鬆地實現很多遊戲功能.基於全局變數實現的”好感度”就是其中之一,具體請參見"好感度"及其他.

API手冊

在界面製作中,大家已經接觸到了一些無雙提供的供Python代碼調用的API,這裡介紹其他API ,具體請參見API手冊.

命令對照表

簡體 繁體 英文 備註
圖片 圖片 image 只能出現在初始化部分
顯示 顯示 show 英文定坐標用left,right,center
隱藏 隱藏 hide
清屏 清屏 clear 簡體繁體一致
視頻 視頻 video
多圖動畫 多圖動畫 multipage
音樂 音樂 music
音效 音效 sound 簡體繁體一致
語音 語音 speech
靜音 靜音 mute
初始化 初始化 init 簡體繁體一致
標籤 標籤 label
跳到 跳到 jump 簡體繁體一致
分支選單 分支選單 menu 實現分支的主要手段
如果 如果 if 簡體繁體一致
否則如果 否則如果 elif
否則 否則 else
代碼 代碼 python

相關詞條

熱門詞條

聯絡我們