游戏开发

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

2
人工智能:学习与策略
我有一个有关AI的理论,我想写一篇“白皮书”。我想在AI中探索的区别是学习与策略制定。我的问题是,在哪里可以阅读有关该主题的其他材料? 让我举一个国际象棋的例子。让我们将国际象棋AI看成是一棵最大的树,在其中捕获一个敌方单位会将该单位的值添加到该决定的“移动得分”中(同样,丢失一块就会将该值减去该值)。捕获棋子可能会获得1分,骑士获得4分,车队获得5分,依此类推。 战略制定将是AI运用这些观点并确定下一步行动;例如。给定十个可能的动作,请在三个动作结束时选择最佳(最高分)。 学习将应用统计观察来确定那些值。如果您玩100场游戏,则AI可能会决定捕获一个棋子为2分,而一个骑士则为7分,而一个新手车则为3分(基于100个游戏)。 文学中是否已经存在这种区别,如果存在,我在哪里可以读到? 编辑:有谁知道利用这种方法的国际象棋游戏(最好具有源代码)?也许Chess960 @ Home吗?
16 ai  chess 

2
RenderMonkey是否有继任者?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Game Development Stack Exchange 的主题。 5年前关闭。 我从GLSL着色器编程开始,一直在研究RenderMonkey。可悲的是,AMD不再支持它。为什么?是否有继任者?
16 shaders  glsl 

2
2d程序宇宙生成
我想创建一个平坦的宇宙,首先整个宇宙是空白的。 那将由视差滚动星云背景图像表示。 我要做的是将行星表示为宇宙中的圆盘状物体。它们可以是各种尺寸。 圆盘的内部将由一个陆地组成,然后外部将是一个水体,其后是空气。 程序上创建这些瓷砖的最佳方法是什么,例如空气将由各种气体以及各种矿产和资源的土地组成。 我的第一个想法是创建纹理图像,然后从这些纹理中划出圆圈,但是问题是这些纹理必须水平和垂直地包裹。是否有完整的程序方式来做到这一点?


2
GLSL Shader Effects:如何进行运动模糊?
我有一个完整的2D环境,周围有精灵,例如风景,角色等。 为了使它看起来更先进,我想实现运动模糊效果,类似于快速移动相机时的现代FPS游戏(即《孤岛危机》)模糊。 在侧滑车中,理想的效果是使这种轻微的模糊出现,从而使摄像机在移动时可以快速移动。如果有人可以给我一些这样做的技巧,我假设是在像素着色器中,我将不胜感激。


1
交换效果的实际成本
我在项目中使用XNA,在那些论坛上有时会看到这样的事实,即将效果交换为网格的成本相对较高,这让我感到惊讶,因为我认为交换效果只是复制替换着色器程序的一种情况以及适当的参数 我想知道是否有人可以确切解释此过程的成本?并在可能的情况下“相对”放置上下文? 例如,说我想使用一个短着色器来帮助拾取,我会: 更改每个对象上的效果,计算出唯一的颜色以识别它,并将其提供给着色器。 将所有对象绘制到内存中的渲染目标。 从目标获取颜色,并使用它来查找所选对象。 完成该过程所需的总时间中有哪些部分将用于交换着色器?我的直觉是,无论着色器多么简单,再次渲染场景都将比过程的任何其他部分慢一个数量级,那么为什么还要关注效果?
16 xna  shaders 

2
如何处理D3DX .dll地狱?
每个SDK更新中都有大量的D3DX dll版本,每个版本都有唯一的名称(D3DX dll名称列表)。 人们经常缺少版本。因此,即使他们具有DirectX的兼容版本,基于D3D的项目也不会在其计算机上运行。 我希望能够将游戏(很少的业余时间项目,游戏卡纸条目等)作为简单的zip文件分发,而无需安装程序。但是很大一部分用户遇到了丢失的D3DX .dll错误。而且,如果没有安装程序,Microsoft的官方解决方案(DirectX Web安装程序/更新程序)实际上并不是解决方案。 不幸的是,Microsoft仍然不会给我们提供静态链接到D3DX的选项(这将是一个很好的简洁解决方案)。而且避免使用D3DX并不是很实用,特别是如果您正在使用着色器(不,至少在目前,我没有切换到OpenGL)。 有没有人有聪明的解决方案来避免此DLL地狱?
16 directx 

4
MUD源代码[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 5年前关闭。 我还找不到很多旧的,开源的mud源代码。我发现他们做事的方式非常适用于基于文本/浏览器的游戏,而且我很想能够通过遍历em的各个部分来获得灵感。 例如,我们有大量的泥浆以及泥浆之间的关系,但是很少访问源代码。 http://en.wikipedia.org/wiki/MUD_trees 通常(我在看着你,dikumud, http://www.dikumud.com/links.aspx)泥浆本身的站点甚至都没有到源的有效链接。 https://github.com/alexmchale/merc-mud有一份我发现的商品副本,它当然包含其历史上的其他作品,但采摘似乎稀疏。 有没有人比这些人拥有更好的资源来访问MUD源代码?

14
低解析度的游戏风格
我正在上编译器课程,目标是为Meggy Jr设备(Arduino)编写一个编译器。目的只是使一个具有循环,变量和内容的简单编译器成为可能。 显然,这很la脚,因此“真正的目标”是在设备上制作出色的游戏。问题在于它只能使用64个像素(技术上为72个像素,但前8个像素是单色的,不属于主显示屏的一部分,因此它们实际上仅对显示金钱之类有用)。 我的问题是想在这么小的设备上做些事情。它是否原始并不重要,但是它不可能已经存在。我的第一个想法是“蛇”,但这是SDK附带的。与侧滚动射击游戏相同。 剩下的想法包括塔防游戏(难以编写,难以控制),RPG(相同),俄罗斯方块(lam)。 问题是我喜欢的所有游戏都需要高分辨率屏幕,因为它们包含大量文字。甚至像nethack这样的真正简单的游戏也很难,因为每个生物都是一种颜色。 tl; dr什么类型的游戏需要a。没有文字;和b。很少有足够多的对象用单个颜色表示它们? 编辑:澄清一下,显示为8x8,总共64个像素,而不是64x64。

3
C ++中的有限状态机
因此,我已经阅读了很多有关使用FSM进行游戏状态管理的知识,例如FSM是什么,以及使用堆栈或状态集构建状态。我经历了所有这些。但是,我一直坚持为此目的编写一个经过精心设计的FSM 实际实现。具体而言,一个人如何干净地解决状态之间的转换问题(一个状态应该如何使用其他状态的数据),等等。有没有人有使用C ++设计或编写实现的技巧,或者还有更好的代码示例?

5
如何平衡基于非对称“扩展”的游戏?
大多数策略游戏都有固定的单位和可能的行为。 但是,考虑一下《魔术聚会》这样的游戏:每张卡都是一组规则。定期创建新的卡类型集。 我记得在官方比赛中据说禁止游戏的第一版,因为这些牌通常太强大了。后来的游戏扩展在纸牌中提供了更微妙的效果/规则,即使有成千上万种不同的纸牌,它们也设法有效地平衡了游戏。 我正在开发一种战略游戏,该战略游戏处于相同的位置:每个单元都由扩展程序提供,并且该游戏至少可以扩展几年。即使设置了一些基本设计限制以确保其可管理,这些单元的效果变化也很大。 每个玩家在玩游戏之前都会选择一组要使用的单位(定义他们的整体策略)(例如选择一个主题的魔术卡组)。由于它是一种策略游戏(在某些POV中,您也可以将Magic视为策略游戏),它本质上是基于小冲突的游戏,因此,即使玩家在开始游戏前没有选择相同的单位,游戏也必须公平。 因此,当您知道这种不对称(战略)游戏将永远被扩展时,您将如何平衡它呢? 目前,我正在尝试应用这些规则,但是我不确定这是正确的,因为我没有足够的设计经验来知道: 每个单元将提供一种独特的效果; 每个单位应有一个相反的单位,其效果会相互抵消。 基于游戏玩法的一些限制; 尝试在每个扩展版本发布之前进行大量Beta测试? 看起来我处在最复杂的情​​况下?

4
是什么使益智游戏上瘾?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引文回答。 5年前关闭。 我目前正在为Android开发一款类似于Alchemy的益智游戏。 我想知道是什么使像《炼金术》或《宝石迷阵》这样的游戏如此上瘾?如何让玩家对游戏感兴趣并想一遍又一遍地玩?是分数吗?水平提升?挑战?我应该怎么做才能使玩家参与益智游戏,因为他们经常重复玩游戏?

4
Singletons / Globals的替代品
我已经听过无数次有关Singletons /全局变量的陷阱的信息,而且我理解为什么它们如此频繁地皱眉。 我不明白什么是优雅的,非混乱的选择。似乎使用Singletons / globals的替代方法总是涉及通过引擎对象向下传递一百万个级别的对象,直到它们到达需要它们的对象为止。 例如,在我的游戏中,我会在游戏启动时预加载一些资产。直到玩家在主菜单中导航并进入游戏时,这些资产才被使用。我是否应该将这些数据从Game对象传递到ScreenManager对象(尽管实际上只有一个Screen关心该数据),然后再传递给适当的Screen对象以及其他任何地方? 似乎我正在交换全局状态数据以进行混乱的依赖注入,将数据传递给什至不关心数据的对象,除非是将其传递给子对象。 这是Singleton会是一件好事的情况,还是我缺少一些优雅的解决方案?

6
冒险游戏中的拼图设计
创造有趣,新颖,逻辑,周到的谜题是一门艺术。 您使用什么技术和方法来制作好的拼图? 您是在设计拼图之前将故事情节写成还是将这两个过程结合在一起?

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.