本技術涉及游戲開發領域,尤其涉及一種基于多因素動態調整的游戲戰斗傷害結算方法及裝置。
背景技術:
1、在現代電子游戲中,特別是在角色扮演類(rpg)和多人在線戰術競技類(moba)等類型的游戲里,玩家控制的角色經常會與游戲里的其他角色發生各種形式的交互行為,其中最為常見的就是戰斗。為了增加游戲的真實感和趣味性,開發者們設計了復雜的算法來模擬戰斗過程,特別是涉及不規則傷害范圍和復雜傷害值計算部分。
2、現有技術通過將技能設置為定點單體技能或者設置為具有規則形狀的范圍性技能(如圓形、矩形等形狀),因此降低了技能設置的多樣性以及玩家游玩的趣味性。此外,在進行技能傷害結算時,往往為每個技能的傷害結算設置對應的線性計算公式,因此面對技能設置較多的游戲時,上述的傷害結算方式不僅會降低游戲開發過程的魯棒性,同時無法應對更加復雜的技能設計,降低游戲的趣味性。
3、因此,如何通過更加靈活的技能傷害結算方式,提高游戲開發過程中技能開發的多樣性以及魯棒性,進一步提高游戲的趣味性是當前需要解決的技術問題。
技術實現思路
1、本技術提供了一種基于多因素動態調整的游戲戰斗傷害結算方法及裝置,以解決如何通過更加靈活的技能傷害結算方式,提高游戲開發過程中技能開發的多樣性以及魯棒性,進一步提高游戲的趣味性是當前需要解決的技術問題。
2、為了解決上述技術問題,第一方面,本技術實施例提供了一種基于多因素動態調整的游戲戰斗傷害結算方法,包括:
3、根據當前用戶操控的第一角色釋放的第一技能確定若干第一攻擊坐標;所述第一技能包括存在指定執行順序的若干第一傷害結算步驟;
4、根據所有第一攻擊坐標上的第二角色對應的第一參數以及當前所述第一角色的第一攻擊模式,從所有所述第二角色中確定被所述第一角色攻擊的第三角色;
5、對各所述第三角色按序依次執行各所述第一傷害結算步驟,直至當前執行的所述第一傷害結算步驟的第一傷害結算結果致使第一傷害結算流程結束,輸出對應所述第三角色的所述第一傷害結算結果。
6、相比于現有技術,本技術實施例具有如下有益效果:根據第一技能確定第一技能攻擊的各個第一攻擊坐標,將一個距離范圍離散成坐標點,可以使得第一技能的攻擊范圍設置為不規則的形狀,從而提高了技能攻擊范圍設置的靈活性;進一步根據不同的第一攻擊模型,選擇不同的第三角色,提高了游戲戰斗方式選擇的多樣性,從而提高了游戲的趣味性;且通過將一個第一技能的傷害結算過程離散為若干個第一傷害結算步驟,當執行傷害結算步驟時,可以避免計算執行無效的第一傷害結算步驟,提前結算傷害以提高傷害結算效率;同時還可以通過嵌入額外的第一傷害結算步驟或者修改其中一個第一傷害結算步驟,實現對技能的快速更新,提高了技能開發的靈活性和效率,同時提高了技能復雜度以及游戲趣味性的上限。
7、在本技術第一方面的一些實施例中,所述對各所述第三角色按序依次執行各所述第一傷害結算步驟,直至當前執行的所述第一傷害結算步驟的第一傷害結算結果致使第一傷害結算流程結束,包括:
8、各所述第一傷害結算步驟的第一傷害結算結果為對應下一個所述第一傷害結算步驟的輸入;
9、當目前執行的所述第一傷害結算步驟的第一傷害結果未能對所述第三角色造成傷害時,提前結束并結算所述第一傷害結算流程。
10、相比于現有技術,上述實施例具有如下有益效果:由于第一技能包括了多個第一傷害結算步驟,某些第一傷害結算步驟如閃避判定步驟,被攻擊者閃避了本次傷害,或者被攻擊者觸發主動被動效果,即被攻擊者身上存在傷害免疫的狀態,此時即使這些第一傷害結算步驟后方存在其他第一傷害結算步驟,也無法造成真實的傷害,因此可以通過提前結束第一傷害結算流程,避免執行冗余的第一傷害結算步驟,提高傷害結算效率。
11、在本技術第一方面的一些實施例中,所述根據當前用戶操控的第一角色釋放的第一技能確定若干第一攻擊坐標,包括:
12、所述第一技能包括各技能釋放方向的第一偏移點坐標;
13、根據所述第一角色釋放所述第一技能時的所述技能釋放方向,從所有第一偏移點坐標中確定若干第二偏移點坐標;
14、將各所述第二偏移點坐標依次與所述第一技能的第一釋放坐標相加,獲取各所述第一攻擊坐標。
15、相比于現有技術,上述實施例具有如下有益效果:由于技能釋放為不規則形狀范圍,因此通過在第一技能中記錄各個技能釋放方向的第一偏移點坐標,并根據第一角色當前釋放技能的方向確定第一技能的第二偏移點坐標,并將第二偏移點坐標與第一釋放坐標相加,實現任意形狀范圍的技能釋放,提高了技能的多樣性以及趣味性。
16、在本技術第一方面的一些實施例中,所述第一釋放坐標包括所述第一角色所處的坐標以及所述第三角色所處的坐標中的一種或多種。
17、相比于現有技術,上述實施例具有如下有益效果:為了提高技能效果的多樣性,當第一角色釋放技能后,通過靈活設置第一釋放坐標,使得技能在游戲界面的釋放點不僅僅只能為第一角色的身邊,還可能為被攻擊目標的周邊,又或者是多個不連接的釋放點的周邊,提高了游戲的趣味性。
18、在本技術第一方面的一些實施例中,所述根據所有第一攻擊坐標上的第二角色對應的第一參數以及當前所述第一角色的第一攻擊模式,從所有所述第二角色中確定被所述第一角色攻擊的第三角色,包括:
19、通過按位左移運算,將預設的第一二進制數位移所述第一參數的位數,獲取各所述第二角色對應的第二二進制數;
20、獲取所述第一攻擊模式的第二參數,將所述第二二進制數與所述第二參數進行按位與運算,獲取各所述第二角色對應的第三二進制數;
21、篩選所述第三二進制數的十進制大于第一預設值的所述第二角色,作為所述第三角色。
22、相比于現有技術,上述實施例具有如下有益效果:通過對二進制的簡單運算符操作,結合第一參數以及第二參數,實現不同攻擊模式下的被攻擊角色識別,提高技能響應速度;同時通過設立不同的攻擊模式,使得玩家能夠體驗更加多樣的戰斗方式,從而提高游戲的趣味性。
23、第二方面,本技術實施例還提供一種基于多因素動態調整的游戲戰斗傷害結算裝置,包括:第一攻擊坐標確認模塊、第三角色確認模塊以及第一傷害結算模塊;
24、其中,所述第一攻擊坐標確認模塊,用于根據當前用戶操控的第一角色釋放的第一技能確定若干第一攻擊坐標;所述第一技能包括存在指定執行順序的若干第一傷害結算步驟;
25、所述第三角色確認模塊,用于根據所有第一攻擊坐標上的第二角色對應的第一參數以及當前所述第一角色的第一攻擊模式,從所有所述第二角色中確定被所述第一角色攻擊的第三角色;
26、所述第一傷害結算模塊,用于對各所述第三角色按序依次執行各所述第一傷害結算步驟,直至當前執行的所述第一傷害結算步驟的第一傷害結算結果致使第一傷害結算流程結束,輸出對應所述第三角色的所述第一傷害結算結果。
27、在本技術第二方面的一些實施例中,所述對各所述第三角色按序依次執行各所述第一傷害結算步驟,直至當前執行的所述第一傷害結算步驟的第一傷害結算結果致使第一傷害結算流程結束,包括:
28、各所述第一傷害結算步驟的第一傷害結算結果為對應下一個所述第一傷害結算步驟的輸入;
29、當目前執行的所述第一傷害結算步驟的第一傷害結果未能對所述第三角色造成傷害時,提前結束并結算所述第一傷害結算流程。
30、在本技術第二方面的一些實施例中,所述根據當前用戶操控的第一角色釋放的第一技能確定若干第一攻擊坐標,包括:
31、所述第一技能包括各技能釋放方向的第一偏移點坐標;
32、根據所述第一角色釋放所述第一技能時的所述技能釋放方向,從所有第一偏移點坐標中確定若干第二偏移點坐標;
33、將各所述第二偏移點坐標依次與所述第一技能的第一釋放坐標相加,獲取各所述第一攻擊坐標。
34、在本技術第二方面的一些實施例中,所述第一釋放坐標包括所述第一角色所處的坐標以及所述第三角色所處的坐標中的一種或多種。
35、在本技術第二方面的一些實施例中,所述根據所有第一攻擊坐標上的第二角色對應的第一參數以及當前所述第一角色的第一攻擊模式,從所有所述第二角色中確定被所述第一角色攻擊的第三角色,包括:
36、通過按位左移運算,將預設的第一二進制數位移所述第一參數的位數,獲取各所述第二角色對應的第二二進制數;
37、獲取所述第一攻擊模式的第二參數,將所述第二二進制數與所述第二參數進行按位與運算,獲取各所述第二角色對應的第三二進制數;
38、篩選所述第三二進制數的十進制大于第一預設值的所述第二角色,作為所述第三角色。