所以,我已经做了大约3个月的游戏,它的框架已经准备好了,但它缺少一件事:视觉部分。游戏的地图系统必须是一个3D环境,但它不是一个常规的环境,因为这个系统的主要思想是使用大部分代码构建地图本身,而不是加载任何其他类型的文件。它的代码稍微完成了,但这里的问题是,我将如何呈现和内部编程呢?
下面是它应该做的事情:
主要思想是创建一个名为块的类,它是环境的基本单元。每个块都是一个32x32x32 (或者可能是64x64x64)立方体,它的每个边都有一个纹理,或者是以另一种不特定的方式构建的某种多边形。块还具有不透明度、亮度、HasGravity、IsMoveable/IsMovable/IsMobile和IsEditable字段,这些字段决定了它的属性。
2-它有一个实体类,它类似于一个对象或一个生物,它存在于地图中,但不是它的一部分。我想这将需要实际的3D模型,而不是由系统建立。也有X,Y和Z位置/大小字段。他们有像重力这样的东西,但是现在不需要太多的物理,玩家是一个实体。
3-它有一个映射类,它具有字段X、Y和Z的大小。这是为了使地图以立方体的方式构建特定数量的块。这个类还有一个块的三重数组,用于按其位置访问块。有许多设置字段,如布尔字段、RenderSky字段或AllowTerrainEdit字段(由播放机设置)。如果映射的Y限制块是空的(表示空值的块类),并且映射的RenderSky布尔值等于true,那么映射必须呈现某种天空事物作为它们的纹理,或者可能以更好的方式呈现天空?
4- 相机类是一种特殊类型的实体,用作确定呈现内容的工具。例如,在玩家使用第一人称模式的情况下,相机总是非常靠近(或可能在)播放器。相机允许在任何地方,但在实心块内。摄像机是看不见的。
这个系统的目的是使地图变得完全灵活和对代码友好(例如,如果玩家想尝试某种沙箱样式的操作,比如将地图的一部分替换成另一种材料,代码就可以做到这一点。)它还使地图创建对开发人员和用户都非常友好,不需要代码或3D知识)。任何其他的想法,而不是把世界分成几个立方体与大量的领域选择,也可以工作。
我现在不知道怎么继续下去了。这是游戏中唯一缺少的部分。
有用的事实:
谢谢你读了这些。谢谢你的帮助。
发布于 2013-06-05 02:19:06
轻量级Java游戏库怎么样?
轻量级Java游戏库(LWJGL)是一种直接针对专业和业余Java程序员的解决方案,可以用Java编写商业高质量的游戏。LWJGL为开发人员提供了高性能的跨平台库,如OpenGL (开放图形库)、OpenCL (开放计算语言)和OpenAL (开放音频库),这些库允许使用最先进的3D游戏和3D声音。此外,LWJGL还提供对控制器的访问,如Gamepad、方向盘和Joysticks。所有这些都是一个简单而直接的API。
https://stackoverflow.com/questions/16930291
复制相似问题