System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种SLG+RTS大地图多线程优化方法及系统技术方案_技高网

一种SLG+RTS大地图多线程优化方法及系统技术方案

技术编号:40250167 阅读:4 留言:0更新日期:2024-02-02 22:44
本发明专利技术提供一种SLG+RTS大地图多线程优化方法及系统,涉及游戏设计技术领域,包括:获取SLG+RTS游戏地图,多SLG+RTS游戏地图进行网格划分,获得多个网格区域;建立与多个网格区域数量相适配的线程,通过线程分别对多个网格区域中的对象进行独立管理;在多个网格区域中相邻的两个网格区域之间建立构建同步范围;获取对象发生战斗的区域,通过同步范围对相邻的两个网格区域进行数据同步,对战斗情况数据进行结算,完成SLG+RTS大地图多线程优化。本发明专利技术具有高度的实用性和普适性。它不仅适用于当前的SLG+RTS游戏,也可以应用到其他类型的大地图游戏中。通过调整区域的划分和线程的分配,可以根据实际游戏需求进行相应的优化,满足各种游戏场景的需求。

【技术实现步骤摘要】

本专利技术涉及游戏设计,尤其涉及一种slg+rts大地图多线程优化方法及系统。


技术介绍

1、在当下的大地图战略游戏(slg)中,战斗常在游戏的大地图上进行结算。为处理这一大规模的战斗场景,开发者通常会将战斗逻辑分配到一个单独的线程进行处理。在这个线程中,会接收需要计算的对象数据并进行战斗结算。因此,这个线程是独立的,所以在处理对象数据时,不能直接获取大地图上其他对象的位置数据,否则会出现跨线程访问的问题。

2、当slg游戏引入实时战略(rts)玩法后,游戏复杂性大大提升。在rts玩法中,玩家可以随意操控单位进行行军,战斗不再是立即结算,并且出现了范围技能的需求。这些新的玩法元素使得战斗的计算变得更为复杂,无法再像之前那样简单地将战斗逻辑负载到其他计算线程中去。

3、另一方面,为了保证数据一致性,开发者可能会选择将所有计算逻辑放在一个线程中进行处理,这虽然降低了编程的复杂度,但却无法充分利用多核优势,导致效率瓶颈。如果直接使用多线程,又会避免不了锁带来的开销和损耗。而如果想利用类似于actor模型来进行跨线程投递,减少锁的开销,又会带来大量的异步逻辑处理,极大地增加了编程复杂度。

4、因此,当前的slg+rts游戏面临着一个严重的技术问题:如何在保持游戏玩法丰富性的同时,又能有效地处理大规模的实时战斗,保证服务器的稳定运行,同时在保证数据一致性的前提下,充分利用多核优势,避免锁的开销和损耗,以及减少编程复杂度。


技术实现思路

1、本专利技术提供了一种slg+rts大地图多线程优化方法及系统,解决现有技术中无法保证服务器的稳定运行,同时在保证数据一致性的前提下,不能避免锁的开销和损耗,以及编程复杂度的问题。

2、为解决上述专利技术目的,本专利技术提供的技术方案如下:一种slg+rts大地图多线程优化方法,其特征在于,步骤包括:

3、s1、获取slg+rts游戏地图,多slg+rts游戏地图进行网格划分,获得多个网格区域;

4、s2、建立与多个网格区域数量相适配的线程,通过线程分别对多个网格区域中的对象进行独立管理;

5、s3、在多个网格区域中相邻的两个网格区域之间建立构建同步范围;

6、s4、获取对象发生战斗的区域,通过同步范围对相邻的两个网格区域进行数据同步,对战斗情况数据进行结算,完成slg+rts大地图多线程优化。

7、优选地,步骤s1中,获取slg+rts游戏地图,多slg+rts游戏地图进行网格划分,获得多个网格区域,包括:

8、根据每个用户的独立作战范围,对所述slg+rts游戏地图进行网格划分,获得多个网格区域。

9、优选地,步骤s2中,通过线程分别对多个网格区域中的对象进行独立管理,包括:

10、通过线程分别对多个网格区域中的对象逻辑进行处理;其中,逻辑包括:战斗计算、位置变更、属性变更的实时逻辑。

11、优选地,步骤s3中,在多个网格区域中相邻的两个网格区域之间建立构建同步范围,包括:

12、在每个网格区域内都划分出一个同步范围,同步范围内的对象通过同步范围向相邻的网格区域进行数据同步;

13、在相邻的网格区域中,形成该对象的代理,构建同步区域。

14、优选地,代理中的数据为只读数据,只读数据能够被相邻区域的网格区域访问,不会被修改。

15、优选地,构建同步区域,包括:

16、中心区域周边会有同步区域,当在边线外的区域obj,则会向相邻区域进行同步,边线内的obj,则不需要同步。

17、优选地,步骤s4中,获取对象发生战斗的区域,通过同步范围对相邻的两个网格区域进行数据同步,对战斗情况数据进行结算,完成slg+rts大地图多线程优化,包括:

18、获取对象发生战斗的区域;

19、提取对象发生战斗的区域的战斗信息,对战斗位置进行判断:若战斗发生在同一区域内,则直接通过区域内线程进行战斗结算,并对战斗结算数据进行同步;若战斗为跨区域战斗,则由发生攻击的对象所在区域读取被攻击对象所在区域的代理数据,有归属区域进行战斗结算,并对战斗结算数据进行同步。

20、一种slg+rts大地图多线程优化系统,系统用于上述的slg+rts大地图多线程优化方法,系统包括:

21、网格划分模块,用于获取slg+rts游戏地图,多slg+rts游戏地图进行网格划分,获得多个网格区域;

22、线程管理模块,用于建立与多个网格区域数量相适配的线程,通过线程分别对多个网格区域中的对象进行独立管理;

23、同步构建模块,用于在多个网格区域中相邻的两个网格区域之间建立构建同步范围;

24、战斗结算模块,用于获取对象发生战斗的区域,通过同步范围对相邻的两个网格区域进行数据同步,对战斗情况数据进行结算,完成slg+rts大地图多线程优化。

25、优选地,线程管理模块,用于通过线程分别对多个网格区域中的对象逻辑进行处理;其中,逻辑包括:战斗计算、位置变更、属性变更的实时逻辑。

26、优选地,线程管理模块,用于在每个网格区域内都划分出一个同步范围,同步范围内的对象通过同步范围向相邻的网格区域进行数据同步;

27、在相邻的网格区域中,形成该对象的代理,构建同步区域。

28、一方面,提供了一种电子设备,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现上述slg+rts大地图多线程优化方法。

29、一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现上述slg+rts大地图多线程优化方法。

30、上述技术方案,与现有技术相比至少具有如下有益效果:

31、上述方案,本专利技术通过地图的区域划分和独立线程管理,本方案提高了多线程的使用率,使得每个线程都能独立地进行计算,有效地分散了计算压力。具有高度的实用性和普适性。它不仅适用于当前的slg+rts游戏,也可以应用到其他类型的大地图游戏中。通过调整区域的划分和线程的分配,可以根据实际游戏需求进行相应的优化,满足各种游戏场景的需求。。

本文档来自技高网...

【技术保护点】

1.一种SLG+RTS大地图多线程优化方法,其特征在于,方法步骤包括:

2.根据权利要求1所述的方法,其特征在于,所述步骤S1中,获取SLG+RTS游戏地图,对所述SLG+RTS游戏地图进行网格划分,获得多个网格区域,包括:

3.根据权利要求2所述的方法,其特征在于,所述步骤S2中,通过所述线程分别对所述多个网格区域中的对象进行独立管理,包括:

4.根据权利要求3所述的方法,其特征在于,所述步骤S3中,在所述多个网格区域中相邻的两个网格区域之间建立构建同步范围,包括:

5.根据权利要求4所述的方法,其特征在于,所述代理中的数据为只读数据,所述只读数据能够被相邻区域的网格区域访问,不会被修改。

6.根据权利要求5所述的方法,其特征在于,所述构建同步区域,包括:

7.根据权利要求6所述的方法,其特征在于,所述步骤S4中,获取所述对象发生战斗的区域,通过所述同步范围对相邻的两个网格区域进行数据同步,对战斗情况数据进行结算,完成SLG+RTS大地图多线程优化,包括:

8.一种SLG+RTS大地图多线程优化系统,其特征在于,所述系统用于如权利要求1~7任意一项所述的SLG+RTS大地图多线程优化方法,所述系统包括:

9.根据权利要求8所述的系统,其特征在于,所述线程管理模块,用于通过所述线程分别对所述多个网格区域中的对象逻辑进行处理;其中,所述逻辑包括:战斗计算、位置变更、属性变更的实时逻辑。

10.根据权利要求9所述的系统,其特征在于,所述线程管理模块,用于在每个网格区域内都划分出一个同步范围,所述同步范围内的对象通过所述同步范围向相邻的网格区域进行数据同步;

...

【技术特征摘要】

1.一种slg+rts大地图多线程优化方法,其特征在于,方法步骤包括:

2.根据权利要求1所述的方法,其特征在于,所述步骤s1中,获取slg+rts游戏地图,对所述slg+rts游戏地图进行网格划分,获得多个网格区域,包括:

3.根据权利要求2所述的方法,其特征在于,所述步骤s2中,通过所述线程分别对所述多个网格区域中的对象进行独立管理,包括:

4.根据权利要求3所述的方法,其特征在于,所述步骤s3中,在所述多个网格区域中相邻的两个网格区域之间建立构建同步范围,包括:

5.根据权利要求4所述的方法,其特征在于,所述代理中的数据为只读数据,所述只读数据能够被相邻区域的网格区域访问,不会被修改。

6.根据权利要求5所述的方法,其特征在于,所述构建同步区域,包括:

7...

【专利技术属性】
技术研发人员:王峥
申请(专利权)人:北京蔚领时代科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1