本發明涉及一種游戲場景的怪物分配方法和系統,屬于計算機游戲開發領域。
背景技術:
怪物系統在很多的游戲里都是一個重要的系統。很多游戲都脫離不了怪物系統,如MMORPG(大型多人在線角色扮演游戲)、ACT(動作游戲),包括策略游戲等,游戲策劃需要設計一個怪物系統,整合到游戲的系統玩法,如PVE(Player VS Environment)、PVP(Player VS Player)玩法里,每個不場景,怪物的外形,怪物的數量、數值都不一樣,既讓玩愛家從與怪物的對抗中找到樂趣,又體驗到豐富多彩怪物設計。因而,游戲公司設定者往往會花大量的時間在怪物系統的設計和布怪上面。傳統的游戲布方案多是去一個場景一個場景地進行布怪。當怪物進行調整時,如屬性發生變化,體型變化,或者刪掉時,也引起怪物重新布置,這將會導至大量的返工去重新布怪,影響布怪者的工作效率,尤其是在后期,當需要增刪修改怪物時,面對上百個需要重新布怪的場景,這是巨大的工作量。另一方面,當布完怪后,進入游戲體驗玩時發現,這布怪的設計,不是自己想要的,因而又需要推倒重新布置。在保證實現布怪策劃者的想法的同時,為了提高布怪的效率。
技術實現要素:
針對現有技術的不足,本專利提出一種游戲場景的怪物分配方法和系統,根據規則,可以快速生成以場景的怪物,同時方便進行修改調整,以提高布怪的開發效率。。針對現有的技術缺陷,本專利收集及整理游戲布怪的需求和開發流程,提出新的布怪的方法和流程。
本發明的技術方案包括一種游戲場景的怪物分配方法,其特征在于,該系統包括:S1,獲取游戲指定場景區域,得到場景區域模型配置;S2,根據所述步驟S1得到的區域模型配置使用布怪編輯器對區域內的怪物劃分進行自定義配置,并生成指定區域的怪物配置數據表;S3,游戲程序運行時,加載所述步驟S2得到的怪物配置數據表對怪物進行生成。
在一個優選的實施方案中,所述的步驟S1還包括:S21,加載游戲程序指定場景區域,得到模型配置分布信息;S22,根據所述S21得到模型配置分布信息對場景區域劃分為多個類型。
在一個優選的實施方案中,所述的步驟S22中的區域類型包括:矩形區域類型、扇形區域類型、圓形區域類型。
在一個優選的實施方案中,所述的步驟S2還包括:使用數據表對怪物定義信息進行分類存儲;使用數據表對布怪規則進行分類存儲。
在一個優選的實施方案中,所述的布怪編輯器包括:加載模塊,用于對場景區域模型配置、怪物定義數據表、布怪規則數據表進行加載;編輯模塊,用于提供編輯界面對怪物定義數據表、布怪規則數據表進行自定義編輯;生成模塊,用于對已編輯的怪物定義數據表、布怪規則數據表生成游戲配置文件。
在一個優選的實施方案中,所述的步驟S3中游戲程序執行步驟包括:加載指定區域場景數據;讀取指定區域對應的布怪規則,在指定區域依照布怪規則生成對應的怪物。
在一個優選的實施方案中,該方法還包括:若識別為矩形區域,根據布怪規則,生成范圍在該矩形區域,其中矩形區域設計在布怪編輯器里,且需要輸入起點、寬高,則怪物會生成在場景區域的矩形區域;若識別為扇形區域,根據布怪規則,生成范圍在該扇形區域,其中扇形區域設計在布怪編輯器里,且需要輸入起點、朝向、半徑、弧度,則怪物會生成在場景區域的扇形區域;若識別為圓形區域,根據布怪規則,生成范轉在該圓形區域,其中圓形區域一般設計在布怪編輯器里,且需要輸入起點、半徑,則怪物會生成在場景區域的圓形區域。
在一個優選的實施方案中,若所述步驟S2沒有生成布怪規則則:遍歷場景獲取場景大小數據,進一步,對遍歷步長進行設定;選定場景區域的多個點作為聯通點,進一步,對場景區域的所有點進行遍歷,其中聯通點用于兩點間進行尋路查詢,如果路徑不為空,則說該兩點之間聯通,該點為有效點,可以布怪;依次執行垂直射線檢查、點的阻擋檢查、聯通檢查,若均檢查通過則記錄該點并在點的區域生成怪物,若其中任意一項檢查不通過則不生成怪物。
本發明的技術方案還包括上述任意方法的游戲場景的怪物分配系統,其特征在于,該系統包括:場景區域劃分模塊,用于獲取游戲指定場景區域,得到場景區域模型配置;布怪規則生成模塊,用于根據所述場景區域劃分模塊得到的區域模型配置使用布怪編輯器對區域內的怪物劃分進行自定義配置,并生成指定區域的怪物配置數據表;游戲執行模塊,游戲程序運行時,加載所述布怪規則生成模塊得到的怪物配置數據表對怪物進行生成。
本發明的有益效果為:對于怪物設計者,可以在指定區域,使用指定的布怪規則。讓程序根據規則自動布怪,同時,設計者也保留了調的權限,既提高布怪的工作效率,同時可以靈活修改;隨機場景的運行時根據規則布怪,可以提高怪物生成的隨機性,每次進入場景,怪物都不同,提高游戲可玩性;方便拓展與修改。需要添加布怪規則時,填表、修改表就可以。
附圖說明
圖1所示為根據本發明實施方式的總體流程圖;
圖2所示為根據本發明實施方式的無布怪規則生成流程圖;
圖3所示為根據本發明實施方式的場景布怪流程圖;
圖4所示為根據本發明實施方式的游戲場景怪物生成流程圖;
圖5所示為根據本發明實施方式的布怪定義表;
圖6所示為根據本發明實施方式的布怪規則表;
圖7所示為根據本發明實施方式的布怪配置表。
具體實施方式
為了使本發明的目的、技術方案和優點更加清楚,下面結合附圖和具體實施例對本發明進行詳細描述。本發明的游戲場景的怪物分配方法和系統適用于游戲怪物擺放的開發。
圖1所示為根據本發明實施方式的總體流程圖。及實施具體包括:
分析場景地形特點,包括獲取和分類場景數據;
劃分場景數據;
使用布怪編輯器對布怪規則進行自定義編輯;
生成怪物數據表;
調整怪物屬性,通常為再次對布怪規則進行編輯時執行;
生成布怪配置,其形式為數據表形式;
在游戲程序中依照布怪規則生成怪物。
圖2所示為根據本發明實施方式的無布怪規則生成流程圖。怪可能生成在場景允許的任意區域。這種時不需要設計擺區域或刷區域,程序可以逐格子描述,根據該點與場景其它點是否連通,進行判斷該點是否可以擺怪。如果有布怪規則則根據區域形狀進行對應的生成
矩形區域,怪根據規則,生成范圍在該矩形區域。矩形區域一般設計在布怪編輯器里,布怪設計者輸入: 起點(x,y),寬高(w,h),則可場景相應的區域。
扇形區域,怪根據規則,生成范圍在該扇形區域。扇形區域一般設計在布怪編輯器里,布怪設計者輸入: 起點(x,y),朝向,半徑,弧度,則可場景相應的區域。
圓形區域,怪根據規則,生成范轉在該圓形區域。圓形區域一般設計在布怪編輯器里,布怪設計者輸入: 起點(x,y),半徑,則可場景相應的區域。
最后,導出成一個場景對應的區域配置:如場景001,導出的配置文件。
圖3所示為根據本發明實施方式的場景布怪流程圖。其實施流程為:
場景布怪開始;
讀取布景區域;
讀取布怪規則;
根據布怪規則在指定區域加載對應數量的怪物直到要求;
生成怪物;
并在場景中進行顯示;
如果需要手動時,則可以進行手動調整,調整時,動態更新數據表布怪規則數據;
生成布怪規則配置表。
圖4所示為根據本發明實施方式的游戲場景怪物生成流程圖。其實施流程為:
進入游戲場景;
讀取布怪規則;
生成怪物。
當然,也可以不提前生成布怪的配置數據,直接在游戲運行時,動態生成,這樣可以保證每次進入場景怪物位置、種類等都不一樣,增加游戲的隨機性, 同時,減少布怪者的工作量,這種布怪方式在隨機的場景或迷宮非常適用。
本發明進一步高開了布怪生成規則,主要是將規則,用表管理起來。當我們需要調整規則時,我們只需要改表,即可以做到場景的怪布置出來是根據根生成,完成不一樣。考慮怪物的數值,可能布怪物需要修改。
圖5為怪物定義表。 里面記錄了所有的怪,并且對怪物的分類:如種族分類,等級分類,是否肉盾,是否ADC、是否精英怪,是否關聯(配合)怪及其關聯的怪有哪些,參考如圖5。
其中:
typeid:指的是怪物的id。
Desc: 怪物的描述信息。
是否精英:怪物設計者用此進行分類。
是否關聯怪:是指當要布這個怪,需要同時布關聯的怪。
關聯怪的id: 需要布的怪id以及數據。格式:怪物的id=數量。如圖中的:7=3;
特殊的出場方式:副本,當玩家第一次遇到該怪,該怪的出現的方式。
怪物設計者可以根據游戲的需要增加、刪除列,以便控制怪的分類、行為。
圖6為布怪規則表。里面記錄了布怪的規則。設計可以增加減少布怪規則。不同的游戲,不同的設計者,其布怪規則也不同。本文只列舉一些常見的布怪規則。
規則1 : 區域按密度生成怪物A。如區域1,該面積有25%是怪物A。計算時即:布怪點/有效點 = 25%。從區域1里隨機取出25%有效點,布置上怪物即可。
規則2 : 特別點布置特別怪。即往SpecialPointList 里布置相應的boss或者怪物。以及怪的出場景方式:跳、鉆、爬等出場。
規則3 : 從怪物列表里,按規則如等級,種族等分類,隨機選擇怪進行布置。
規則4 : 約束規則:當布置了怪B時,需要布置怪C進行配合。
規則5 : 按比例布怪,如D怪占20%, E怪占30%等。
規則6 : 按某一隊形布怪。如豎著一排;橫著一排;方陣等。
其中:ruleId:指的是布怪規則id.
Desc:指用的布怪規則的大類。
密度:密度=布怪點/可布怪總點。
怪物編號:一個列表類型的數據結構,當布怪時,隨機從列表里取怪的id。
怪物的比例:填寫格式:怪物的id=比例百分比。如:6=30;表示布置怪6的概率是30%.
形狀: 如有特殊形狀,則按特殊形狀進行布置。
間隔:是指每多少個格子,就布一個怪。怪物類型從怪物編號列表里取。
圖7為游戲所讀取的布怪配置表。場景表里記錄區域信息,區域信息再對應布怪規則。
以上所述,只是本發明的較佳實施例而已,本發明并不局限于上述實施方式,只要其以相同的手段達到本發明的技術效果,都應屬于本發明的保護范圍。在本發明的保護范圍內其技術方案和/或實施方式可以有各種不同的修改和變化。