LV. 36
GP 1k

戰鬥製作概念文檔_進階篇(1)

樓主 弦舞丹青 xcookies
接上文。
在基礎篇以RPG左右相對對戰模式為藍本介紹了一些基礎概念。看過的人多少對畫面戰鬥的基本搆成有所暸解。接下來我們來介紹一下上文提到的卡片戰鬥。

因為我刪掉了戀愛製作大師2,暫時沒有DEMO遊戲提供。如果想找個範例遊戲的話,去下金狐貍的十二國記也不錯(就是文件比較大)。

一般的戀愛遊戲的戰鬥系統都是卡片戰鬥。這是最近的一種潮流,(不排除心跳回憶左右相對RPG和櫻大戰、少女義經SLG。)

用戀愛大師2同樣也能製作出來很漂亮的卡片遊戲。這是我在最初接觸這款遊戲的時候,[b]歐米君[/b]帶給我的直觀印象;歐米那個純想象版沒畫面的RPG我找不到了,見諒。

嚴禁抄襲本文檔製作範例T_T


[b]二、單人卡片戰鬥[/b]

所謂單人卡片戰鬥經常是1V1的;慣用一個主角打一個敵人的模式。當然,如果畫面配置合理的的話,打1V2,1V3甚至是1V8(卡死你)都可以。


簡單的說,卡片戰鬥顯示的圖片相當多。
一般情況下是雙方各持五張或者六張卡,以上下相對的樣式來進行。雙方各有一個血條,並顯示雙方的頭像。

請看這個假的界面圖,簡單的說,我們是要做一個類似這樣的卡片戰鬥。(雖然這玩意沒界面……)

假的界面……

中間空的區域可以用來放動畫什麼的,這樣就可以開始了。設計界面、製作素材、設定平衡性是很重要的,在開始之前請先做好這個工作。

假設我們有四個屬性的攻擊卡片,屬性分別是地水火風,並且以地->水->火->風->循環相克。每個屬性有五個不同的基礎等級,分別是1,2,3,4,5級;特殊攻擊卡片每個屬性一張。
還有兩個類別的其他卡片;分別是補血和防禦。

(簡單的說就是用卡片替代技能的功能,雖然兩者可以結合成為更好的卡片戰鬥。)

1.卡片戰鬥的準備工作

參數型數值設定:
主角的參數數值類- 主角的HP;敵人的HP
數值型參數類-1、牌的屬性(顯示在畫面上的牌ABCDE的屬性);2、被選中的牌的屬性;3、選中的牌的數量;4、傷害(敵人的和己方的);5,計算實際傷害的數值(可以用一個也可以用兩個);6,敵人的屬性;7,牌的大小。


開關型參數設定:
補牌確認開關(牌ABCDE各一個);被選中的卡片確認(牌ABCDE各一個);判定是敵人行動還是主角行動的開關。


標簽設定:
主角行動回合;敵人行動回合;補牌;傷害計算;血條計算。

這篇寫得比較簡略,因此,請注意仔細觀看。


=======戰鬥前準備======
切換欄框【全部消除】
變更背景音樂”Boss 3”
播放音傚【#000】”St”
準備場景切換(變更Alpha遮片淡入淡出)
   變更背景【中央】”demo用”
執行場景切換
顯示圖片【#000】(X=X,y=y)”COOKIES”
顯示角色【#001】 (X=X Y=y)”小白”
顯示圖片【#002】 (X=0 Y=0)”遮擋”
> 我用的遮擋是一整張的,詳見上篇。如果用一小塊的,請自行對坐標。
顯示圖片【#003】(X=X,Y=Y)”血條外框”
顯示圖片【#004】(X=X,Y=Y)”血條”
顯示圖片【#005】(X=X,Y=Y)”減少血遮擋”
> 以上是顯示我方的血條
顯示圖片【#006】(X=X,Y=Y)”血條外框”
顯示圖片【#007】(X=X,Y=Y)”血條”
顯示圖片【#008】(X=X,Y=Y)”減少血遮擋”
> 以上是顯示敵人的血條;全部用非同步處理讓他們一起顯示。
顯示圖片【#009】(X=X,Y=Y)”按鈕-確認”
顯示圖片【#010】(X=X,Y=Y)”按鈕-逃跑”


把這些無聊的事情做完之後,我們就該發牌了。



2.發牌、補牌

=========發牌和補牌=======--
>發敵人的牌
顯示圖片【#011】(X=X,Y=Y)”牌背”
等待0.5
顯示圖片【#012】(X=X,Y=Y)”牌背”
等待0.5
顯示圖片【#013】(X=X,Y=Y)”牌背”
等待0.5
顯示圖片【#014】(X=X,Y=Y)”牌背”
等待0.5
顯示圖片【#015】(X=X,Y=Y)”牌背”
>發給敵人五張卡片
標簽【001】發自己的牌、補牌

操作數值型參數【傷害數值的範圍】被代入0
> 最好把幾個傷害和計算傷害數值參數寫在一起。
操作開關型參數【牌A~E被選中的範圍】代入OFF

依開關分歧:單獨分歧
---【牌1存在的開關】為ON的時候---
> 沒有動作
---【牌1存在的開關】為OFF的時候---
顯示圖片【#016】(X=X,Y=Y)”牌背”
操作數值參數【牌1的屬性被代入1~6範圍的亂數】
操作數值參數【牌1的等級被帶入1~5範圍的亂數】
等待0.5秒
顯示圖片【#099】(X=X,Y=Y)”翻牌動畫”
播放SE【#000】”翻牌的聲音”

---依數值分歧-分歧6(?)- ----
> 大概,不記得最開始自己設置幾種牌了。
----【牌1的屬性為1的時候】----

-----依數值分歧-分歧5- ----
-----【牌1的等級】為1的時候-----
顯示圖片【#0016】(X=X,Y=Y)”1級地屬性卡片”

-----【牌1的等級】為2的時候-----
顯示圖片【#0016】(X=X,Y=Y)”2級地屬性卡片”

-----【牌1的等級】為3的時候-----
顯示圖片【#0016】(X=X,Y=Y)”3級地屬性卡片”

-----【牌1的等級】為4的時候-----
顯示圖片【#0016】(X=X,Y=Y)”4級地屬性卡片”

-----【牌1的等級】為5的時候-----
顯示圖片【#0016】(X=X,Y=Y)”5級地屬性卡片”

-----除此之外的時候-----
> 無內容

-----【牌1的屬性為2的時候】----
> 水屬性
-----【牌1的屬性為3的時候】----
> 風屬性
-----【牌1的屬性為4的時候】----
> 火屬性
-----【牌1的屬性為5的時候】----
> 補血
-----【牌1的屬性為6的時候】----
> 防禦
顯示圖片【#X】(X=X,Y=Y)”防禦卡片”

-----除此之外的時候----
-----數值分歧結束-----

> 後略

以上部分完成一個循環就會發一張牌。
而把五次都循環完畢後,ABCDE牌的判定都會決定下來,就把我的所有牌發好了,現在我可以跟小白開打了。




3.主角攻擊回合
和RPG戰鬥不同,卡片戰鬥需要選牌,所以要用點選分歧;點選分歧的最大數是九個,牌和按鈕的總數不得超過九個。

---依點選分歧-分歧數8---
---【X,y】 【X,Y】牌1的位置範圍---
依開關分歧:單獨分歧
--牌1選中是ON的時候--
---操作數值型參數【選中的牌數】減1---
---移動圖片【#0016】(X=X,Y=Y)《相同圖像》
----依數值分歧:單獨分歧
----選中的牌數是1以上的時候----
----選中的牌數是1更小的時候----
----操作數值參數【0005:選中的屬性】被代入0----
----結束數值分歧----

> 以上這個部分是為在選中之後,玩家感到后悔點上再消除的.

--牌1選中是OFF的時候--
依數值分歧:單獨分歧
---【選中的屬性】為1以上的時候---
----依各種條件分歧(條件是【選中的屬性】和【牌1的屬性】等值)----
> 所以我說要預先做好準備,不然到這就亂了
----【選中的屬性】是【牌1屬性1】等值的時候---
操作開關參數【牌1被選中】設為ON
操作數值參數【選中的牌數】加1
移動圖片【#16】(X=X,Y=Y)《相同圖片》
----除此之外的時候---
----結束依各種條件分歧---
---【選中的屬性】為1更小的時候---
操作數值型參數【選中的屬性】被帶入【牌1的屬性】
操作數值型參數【牌1被選中】加上1
操作開關數值【牌1被選中】設為ON
移動圖片【#16】(X=X,Y=Y)《相同圖片》
---結束依數值分歧---

> 這個部分不僅判定了牌1是否被選中,還判定了是否是同一屬性的卡片,如果不是同一屬性的卡片是不能同時選擇的。
> 如果這個部分寫錯,戰鬥的部分就很可能出錯

---牌2的位置範圍---
---牌3的位置範圍---
---牌4的位置範圍---
---牌5的位置範圍---
---按鈕開始的位置範圍---
依數值分歧:單獨分歧
----【選中的牌數】為1以上的時候----
事件跳躍(繼續) 傷害計算
----【選中的牌數】為1更小的時候----
結束依數值分歧

---按鈕逃跑的位置範圍---
事件跳躍(繼續) 結束戰鬥

> 如果也想有逃不掉的話要依幾率分歧。
---除此之外的時候----
---依點選分歧結束---


> 如果說有興趣的話,最好不要按這篇文章做.
> 自己嘗試一下比較好.
> 另外這個是凴記憶寫的歐米的戰鬥和雙人卡片的戰鬥的結合體,可能還有BUG喔.



4.傷害的計算

一般情況下,與RPG戰鬥可以進行單純戰鬥不同,卡片戰鬥存在屬性觝觸.所以傷害的計算公式非常必要.
首先我們提出一個傷害計算公式,然候再進行。

這要用連續的五個開關分歧,是判定是否被選中的

依開關分歧:單獨分歧
----【牌1被選中的開關】是ON的時候----
操作數值參數【傷害計算】被代入10
操作數值參數【傷害計算】被乘以【牌1的等級】
操作數值參數【傷害數值】被加上【傷害計算】
操作開關參數【牌1被選中設置為OFF】

> 下略
> 這樣的攻擊比較沒有變化,所以可以傷害數值加上一個亂數。

操作數值參數【傷害數值】被加上-10~+10之間的亂數

> 這樣就判定了一張卡片的傷害,如果要判斷總體的傷害的話要多增加一個

操作數值參數【傷害數值】乘以【卡片的數量】
操作數值參數【傷害數值】除以【隨便一個自然數……】

4-2 屬性相尅
屬性相尅的計算我們使用參數和開關來判斷。

例如:敵人上回使用火屬性打開屬性開關,屬性是火。
我這輪使用風屬性,設置一個我使用屬性的參數;
地屬性為1,水為2,火為3,風為4。

依開關分歧:單獨分歧
---開關【敵人屬性為火】是開啓時---
----依數值分歧:分歧數4----
----當參數【我使用的屬性】為1的時候----
> 略
----當參數【我使用的屬性】為2的時候----
> 略
----當參數【我使用的屬性】為3的時候----
> 略
----當參數【我使用的屬性】為4的時候----
操作數值參數【傷害數值】除以【定數:2】
>下略


> 這樣就達成判斷屬性的方法。
> 簡單的說,要多做幾個開關判定。和上邊一樣。

移動血條的部分在上文有提到,這就不繼續多說了.接下來除實際傷害,還要計算血條和消除已使用的卡片.

敵人的攻擊讓他用亂數判定一個數值,亂數判定一個屬性即可.計算完敵人的血條後,
最後事件跳躍回開始,直到每輪戰鬥結束之后的判定判定其中一人死亡,戰鬥結束。

全文完。
板務人員:歡迎申請板主

精華區有 1328 筆文章
目前無人維護,申請組長


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】