游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2519|回复: 2

[讨论] 各位策划先生,你们了解引擎吗?一个做引擎的男人,正

[复制链接]

197

主题

1041

帖子

1104

积分

金牌会员

Rank: 6Rank: 6

积分
1104
QQ
发表于 2006-11-6 17:46:00 | 显示全部楼层 |阅读模式
其实在重做LOD以前,我已经将地图,模型,包括驱动部分:运动引擎,寻路,碰撞AI都差不多做完了,可以说整个游戏80%的核心都已经完成了,包括游戏的相关编辑工具。这实在是非常庞大的工作量和庞大引擎。
??
重做LOD的原因。重做是因为以前做的地图编辑支持是基于另一套地形系统的,并非是针对现有的游戏引擎,当我把引擎做到接近竣工的时候,我翻开计划,对地形编辑系统的大改一直在计划中,可是又一直没有实现的。所以我现在回过头在重做LOD。
??
另一个重做LOD的原因。在制作Collision AI部分时,以前是基于深度+长+宽的方式在执行碰撞的后期处理,就是碰撞AI部分。因为基于矩形的,所以在处理绕行模式的时候,有很多逻辑陷阱。如果将矩形改为2D半径+深度,就是椭圆形,那么就可以比较完善克服那些陷阱。而改动的范围,会深入到地形系统的存储部分。以前的存储,我是按坐标来存储,比如一个物体在地图的左上角,那么这个物体只有在左上角被读取得时候,才会被创建并显示成影像。因为这样干,我以前花费了大量精力在做地图系统的数据结构,其实这是很落后的一种虚拟世界的存储方式。不过现在我已经放弃这种方式了,现在我会针对它做出一套非常先进的数据结构。为现在,也为以后的革命路线打下坚定基础。
??
总而言之。重做LOD是必须的。所幸的是,大部分算法和结构,比如ROAM,模型的压缩包,以及模型、粒子、数据表等等,等等,它们在运行和开发环境上并不会去动它们。几乎所有的大改都集中在引擎的数据中央,这是非常核心的改动。真的是一动百动。就连脚本系统都会受到很大的影响。
??
在改动完之后。游戏世界不管在载入、渲染、以及AI方面,都会让制作变得更加高效和准确。可以像在偌大一个城市存储一颗沙砾,而这颗沙砾是可以精确到豪粒的。并且非常容易控制,不管是空间运动,还是对AI进行工程数字运算。总而言之,现有的数据结构系统会递进了一个级别,主要在整体协调。
??
数据结构大改是这样的。在一个模型,不管是动画的,静态的,当地图被打开时,会将关键数据预读到一个Dummy容器中,这些关键数据有:模型位于模型数据库的具体位置,模型的世界坐标,放大参数,旋转参数。其实这只是虚拟式的预读,预读到临时内存,并不是马上在游戏世界中创建并显示该模型,只有在地图的某个区域被激活的时候,在该区域的模型这时才会被装载。这比起直接存储到地图坐标,然后直接性的地图读取装载,好处是便于控制,便于编辑系统的工作,便于游戏系统内存管理,便于AI计算。比起以前,那真是提升了一个数据结构上级别。
??
数据结构的一些细节上处理。因为我已经将矩形改成了椭圆来做碰撞AI上的处理,这意味着可以通过中心和半径之间可以精确计算出碰撞的方位,这样在绕行上就可以避免使用一次新的寻路算法。因为通过圆球可以精确基础出绕行的新断点,关键是圆心与圆心之间可以通过distance来精确计算ByPass断点,所以绕行上可以避免使用一次新的寻路。这是很有意义的,这意味着引擎可以在数百个角色运动的混乱场景中跑出比同类引擎更高的FPS,和省下更多的CPU。这不光是意味着性能上提高,这还意味着画质提高的可能性(假如我有更多时间,我可以制作出很多改良的色彩,像素特性)。
??
因为今天我尚未做好大改准备。因为一动百动,会涉及到改动的模块我还在整理中。不过应该在数周之内,可以完成新的数据结构,并且驱动成游戏。
??
上帝保佑。
阿门。

42

主题

861

帖子

871

积分

高级会员

Rank: 4

积分
871
发表于 2006-11-6 18:45:00 | 显示全部楼层

Re:各位策划先生,你们了解引擎吗?一个做引擎的男人,

“LOD”是什么呢?我是新人。

8

主题

91

帖子

93

积分

注册会员

Rank: 2

积分
93
发表于 2006-11-7 09:36:00 | 显示全部楼层

Re:各位策划先生,你们了解引擎吗?一个做引擎的男人,

标题党呀
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-7-8 18:43

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表