游戏开发

专业和独立游戏开发人员的问答

6
创建自己的杀人凸轮
我计划为沙盒工具集创建自己的kill cam系统。但是,在考虑了kill cam本身的机制之后,我就迷失了。我正在尝试重现使命召唤游戏中常见的那些游戏,这些游戏从杀手的角度显示实际的杀戮场景。 我的想法: -当人们杀死别人时,我不能仅仅保留在记忆中,因为我不知道何时开始“录音过程”。我正在准确地确定某人何时“约”杀死某人。 -到目前为止,我唯一真正的想法是将装满的所有东西完整复制到侧面,以复制原始世界中的所有动作,但要延迟10秒。这样,所有的杀人摄像头将有10秒长,而人员摄影机将被移到杀手的第二世界。 我的问题: 已经有接受的方法可以做到这一点吗?有人对这样的事情有什么好主意吗?谢谢,如果可以!
15 camera 


1
在早期早期,像“冰冻人”这样的引擎是什么样的?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 2年前关闭。 我在《战地风云》中玩得很开心,一切都被它的外观和声音震撼了。我只是想知道游戏引擎是如何开始生活的。在编写代码时,它最终会做什么,在完美地渲染所有纹理,光和粒子之前,它做了什么? 是否有任何好的文章,在线文章或任何人看到的例子?

2
如何围绕3D中的任意点(而不是原点)旋转?
我有一些模型,我希望使用四元数以正常方式旋转,除了希望绕原点旋转以外,我希望它稍微偏移一些。我知道您并不是说在3D空间中绕点旋转。你说你绕轴旋转。因此,我将其可视化为围绕尾部不在本地原点的向量旋转。 我的渲染/物理引擎中的所有仿射变换都使用SQT(比例尺,四元数,平移;从Game Engine Architecture一书中借来的一个想法)存储。因此,我从这些组件中构建每个帧的矩阵,并将其传递给顶点着色器。在此系统中,先平移,然后缩放,然后旋转。 在一种特定情况下,我需要在世界空间中平移对象,对其进行缩放并围绕不以该对象的本地原点为中心的顶点旋转它。 问题:考虑到上述当前系统的限制,如何实现围绕原点以外的点进行局部旋转?自动支持任何可以仅使用矩阵描述如何执行此操作的人:)

3
如何使OpenGL纹理缩放而不会变得模糊?
我正在通过LWJGL使用OpenGL。 我有16x16的16x16纹理四边形渲染。当我更改其比例大小时,四边形会变大,然后随着变大而变得模糊。 像在《我的世界》中一样,如何使它缩放而不变得模糊。 这是我的RenderableEntity对象中的代码: public void render(){ Color.white.bind(); this.spriteSheet.bind(); GL11.glBegin(GL11.GL_QUADS); GL11.glTexCoord2f(0,0); GL11.glVertex2f(this.x, this.y); GL11.glTexCoord2f(1,0); GL11.glVertex2f(getDrawingWidth(), this.y); GL11.glTexCoord2f(1,1); GL11.glVertex2f(getDrawingWidth(), getDrawingHeight()); GL11.glTexCoord2f(0,1); GL11.glVertex2f(this.x, getDrawingHeight()); GL11.glEnd(); } 这是游戏类中initGL方法的代码 GL11.glEnable(GL11.GL_TEXTURE_2D); GL11.glClearColor(0.46f,0.46f,0.90f,1.0f); GL11.glViewport(0,0,width,height); GL11.glOrtho(0,width,height,0,1,-1); 这是执行实际绘制的代码 public void start(){ initGL(800,600); init(); while(true){ GL11.glClear(GL11.GL_COLOR_BUFFER_BIT); for(int i=0;i<entities.size();i++){ ((RenderableEntity)entities.get(i)).render(); } Display.update(); Display.sync(100); if(Display.isCloseRequested()){ Display.destroy(); System.exit(0); } } }
15 opengl  java  lwjgl  slick 

6
游戏组件,游戏管理器和对象属性
我正在努力使基于组件的实体设计成为现实。 我的第一步是创建可以添加到对象中的各种组件。对于每种组件类型,我都有一个管理器,该管理器将调用每个组件的更新功能,并根据需要传入诸如键盘状态之类的信息。 我要做的下一件事是删除对象,并让每个组件都带有一个ID。因此,对象是由具有相同ID的组件定义的。 现在,我在想我不需要所有组件的管理器,例如,我有一个SizeComponent,它只是一个Size属性)。结果,SizeComponent它没有更新方法,并且管理器的更新方法不执行任何操作。 我的第一个想法是要有一个ObjectProperty组件可以查询的类,而不是将它们作为组件的属性。因此,一个对象有许多ObjectProperty和ObjectComponent。组件将具有查询对象属性的更新逻辑。管理者将管理调用组件的更新方法。 在我看来,这似乎是工程过度,但我认为我无法摆脱这些组件,因为我需要让管理人员知道哪些对象需要哪种组件逻辑才能运行(否则,我只会删除该组件)并将其更新逻辑推入管理器)。 难道这(有ObjectProperty,ObjectComponent和ComponentManager班)在工程? 有什么好的选择?

1
使用OpenGL(LWJGL)制作HUD / GUI
我处于游戏开发阶段,需要制作HUD或GUI。我从来没有涉及到这一部分,所以我不知道它是如何完成的。我尝试在屏幕上的固定位置渲染一个简单的四边形,但是有一个问题。为了使我的相机与正交摄影配合使用,我使用以下方法: public void lookThrough() { GL11.glMatrixMode(GL11.GL_PROJECTION); GL11.glLoadIdentity(); GL11.glOrtho(position.x, position.x + Display.getDisplayMode().getWidth()/zoom, position.y + Display.getDisplayMode().getHeight()/zoom, position.y, -1, 1); GL11.glMatrixMode(GL11.GL_MODELVIEW); } 我看不到如何使用这种方法将某些东西固定在屏幕上?可以解决吗?谢谢 :)
15 opengl  java  gui  lwjgl 


5
如何将子弹释放与射击动画联系在一起
假设您有一个想要发射子弹时要发生的动画。您如何将子弹显示在动画的结尾。我唯一能弄清楚的是知道动画的时间长度,并延迟设置项目符号位置并将其设置为活动状态,直到经过该时间量为止。我只是想知道这是否是最好的方法,其他人如何处理呢? 编辑:我认为我在正确表达问题时遇到麻烦。
15 2d  animation  release  timing 

9
有什么好的开源游戏可供学习?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Game Development Stack Exchange 的主题。 4年前关闭。 我想下载开放源代码游戏的源代码,以便熟悉游戏体系结构。有谁知道一款游戏的源代码清晰易懂? 编辑:经过一番思考,我想制作一款可以在台式机或带有2D图形的Andriod手机上玩的游戏。

6
同时将玩家移至同一广场?
考虑一个2 x 2的正方形网格。在以下情况下,玩家可以移动到广场上: 没有其他玩家想在下一回合进入广场 没有其他玩家等待,并且此回合仍在占据广场 我已包含上面的图像来描述我的问题。 玩家同时移动。 如果2个(或更多)玩家尝试移动到相同的正方形,则两个都不移动。
15 turn-based 

3
如何进行软件渲染?
我想探索基于实时软件的栅格化。我知道这些天一切都在朝着GPU迈进,但是在一些游戏中使用软件渲染器仍然有意义。 例如:Voxeltron Voxatron是一个竞技场射击游戏,发生在一个由体素(小方块之类)构成的世界中。游戏中的所有内容均以虚拟的128x128x64体素显示器显示,包括菜单和玩家清单。如果仔细观察,有时会看到库存(得分/生命/弹药)在地面上的某些物体上蒙上阴影。 我长期从事体素渲染和建模工具的研究,其最终目标是制作大型探险冒险游戏。大约半年前,它与我在Conflux的舞台射击游戏中所做的工作融合在一起,这就是结果。 从本质上讲,这是一个非常简单的游戏-大多只是Robotron摆在一个3D可破坏世界中,带有愚蠢的生物。我不确定可破坏性对游戏玩法的影响有多大,但是炸开墙壁确实很有趣。我还添加了一个实验性的围墙拾音器,您可以使用该拾音器来构建屏障以躲避可怕的怪物。 游戏发生在一小部分竞技场上。其中一些客房设有固定动作的房间,位于Knightlore和Smash TV之间。这是一些原始的基于冒险的设计潜入其中,并且是创建主题环境的借口。 特征: 具有柔和阴影的自定义软件渲染。 内置声音和音乐合成器(也用于制作预告片音乐)。 播放和游戏后录制。



3
与多个物体碰撞时的碰撞解决
我有静态对象和可移动对象。使用分离轴定理检测碰撞。 例如,在这种情况下,我有两个静态对象(红色): 以及介于两者之间的可移动对象: 我的算法能够计算出其中两个对象之间的碰撞,并且还为碰撞生成了一个完美的分辨率矢量(意味着最小位移矢量)。 因此,例如,当我检查绿色矩形和右红色矩形之间的碰撞时,该算法会吐出一个向量,该向量告诉我如何移动绿色矩形才能解决该碰撞: 请注意,我只是在MSPaint中快速绘制了此图像,因此在该图片中,实际上可能是最小平移矢量将绿色矩形推到顶部,但是在这里我将假定将其推到左侧/权利实际上更短。 解决此问题的一般方法是仅解决每帧一个冲突的冲突,而不是一次解决所有冲突。但就我而言,这将导致触发器: 首先,求解器检测到两个冲突,但仅解决右矩形和绿色矩形之间的冲突: 然后,在下一帧中,它仅检测到左红色矩形和绿色矩形之间的一个碰撞,并解决该碰撞: 如您所见,这实际上并不能解决冲突(例如,通过将绿色矩形推到顶部),而只是在两个状态之间无限地触发器。 我该如何解决?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.