游戏开发

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

18
在RPG游戏中,如何使“力量”属性对向导/加速类更具吸引力?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 6年前关闭。 我有一款游戏,其中很多属性是力量和体质。在《创世纪》中,力量被用作生命值。但是,我想避免这种情况-生命值是如此重要,每个班级在您玩的任何游戏中都希望拥有很多。在几乎所有的MMORPG和许多RPG中,玩家的体质几乎与其主要属性一样多。 我有很多方法可以帮助WARRIOR类型的情报。这是属性STRENGTH帮助WIZARD类型的问题,这给了我很大的困难。 对于勇士和无赖类型来说,力量可以很容易地成为重要的统计数据,因为它们都是近战伤害-玩家往往喜欢堆积高伤害。但是,力量对于远方施放法术并依靠智力作为其伤害属性的巫师几乎毫无用处。 我该怎么做才能增强力量,使其对巫师类型或任何不进行近战战斗的类更具吸引力? 如果我做错了,请纠正我,但我感觉法术/魔术似乎没有更强大的力量,因为某人的身体肌肉更多,并且可以举起更多的力量。如果施法者有毅力或整体健康,则赋予魔术更多力量是很有意义的,但这已被定义为体质。 我想使“力量”与“智力”一样对向导类型更具吸引力,而不是对传统RPG而言。 我能够在“哑巴暴力战士”与“智能战士”之间找到平衡。如何在不引入近战的情况下找到“ Buff Conan Wizard”和“ Intelligent but Frank Wizard”之间的平衡? 添加独特的游戏功能或改变传统的RPG游戏风格非常受欢迎。

4
创建岛屿地图蒙版的简单方法
我正在寻找一种使用C#为岛地图生成蒙版的好方法。 基本上,我使用的是由Perlin噪声生成的随机高度图,其中地形没有被水包围。 下一步将是生成遮罩,以确保拐角和边界都是水。 然后,我可以从Perlin噪声图像中减去蒙版以获得一个孤岛。 并在对比中玩。 和渐变曲线,就可以得到一个孤岛高度图。 (这些只是示例) 如您所见,岛上的“边缘”刚刚被切除,如果颜色值不是太白,这并不是一个大问题,因为我将灰度分为4层(水,沙子,草皮和岩)。 我的问题是,如何像第二幅图像那样生成一个好看的蒙版? 更新 我已经找到了这项技术,这对我来说似乎是一个不错的起点,但是我不确定我可以如何正确地实现它以获取所需的输出。 http://mrl.nyu.edu/~perlin/experiments/puff/ 更新2 这是我的最终解决方案。 我已经makeMask()在规范化循环中实现了该功能,如下所示: //normalisation for( int i = 0; i < width; i++ ) { for( int j = 0; j < height; j++ ) { perlinNoise[ i ][ j ] /= totalAmplitude; perlinNoise[ i ][ j ] …

3
为什么OpenGL> = 3只允许VBO?
我看到OpenGL版本3和更高版本取消了客户端渲染的使用。立即模式已被消除,并且顶点数组似乎已被弃用。相反,如果我理解正确,则VBO是渲染顶点的主要方法。 虽然我看到采用统一的方式呈现所有内容的逻辑,但VBO是否在顶点阵列方面没有重大缺点?我以为VBO通常应该是包含大于1MB数据的大缓冲区。如果我的场景具有许多较小的几何形状怎么办?我有一个场景图,其中包含大量节点,每个节点都需要自己的变换,等等。每个节点也应该能够分别删除,单独添加,等等。我以前使用的是顶点数组。因此,我的第一个问题是,如果我切换到VBO,现在是否需要为每个场景分配一个VBO,这会给我的场景图对象带来更大的开销。 另一个问题是我渲染的几何图形可能是高度动态的。在最坏的情况下,有时可能需要在一段时间内每帧重新发送所有几何图形。在这种用例中,VBO的性能是否会比顶点阵列差,或者最差的VBO的工作量与顶点阵列一样多,但没有更多? 因此,以更简洁的格式,我的问题是: 1)分配/取消分配VBO是否有相当大的开销(我的意思是仅仅建立一个缓冲区)? 2)如果我要每帧更新CPU的数据,这是否会比使用顶点数组的情况差很多? 最后,我想知道: 3)如果对以上两个问题的回答均为“是”,为什么不赞成使用其他渲染模式,而不是VBO?我在这里缺少什么,比如我应该用来减轻这些潜在分配成本等的技术吗? 4)根据我使用的OpenGL版本,这些问题的答案是否会发生实质性变化?如果我通过使用高性能的VBO将代码重构为OpenGL 3或4向前兼容,那么相同的技术可能会在OpenGL 2中很好地发挥作用,或者某些技术在OpenGL 3中可能会快得多+和其他使用OpenGL 2的软件? 我在堆栈溢出时问了这个问题,但是我在这里重新发布,因为我意识到这个站点可能更适合我的问题。

6
游戏规划和软件设计?我觉得UML不方便
在我的大学里,他们总是强调并大肆宣传UML设计和内容,在这种情况下,我认为它不能与游戏结构设计很好地配合使用。现在,我只想就如何开始游戏设计提供专业建议?故事是我在编程方面有一定技能,并且做了很多次要的游戏,例如使2D平台游戏得以扩展。我在程序中发现的问题是质量差的设计。经过一段时间的编码后,由于规划不当,事情开始崩溃(当我添加新功能时,往往使我不得不重新编码整个程序)。但是,没有一个设计缺陷就计划所有内容太理想了。因此,关于如何计划游戏的任何建议?我应该如何将其放入可见的图片中,以便我和我的朋友能够概览设计? 我计划开始和朋友一起编写游戏。这将是我的第一个团队合作,因此任何专业建议都将是我的荣幸。除了UML之外,还有其他选择吗? 另一个问题是“原型”通常是什么样的?

5
学习如何通过Assembly进行优化[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 3年前关闭。 我是计算机游戏技术专业的二年级学生。我最近完成了我自己的“探路者”的第一个原型(它不使用A *而是几何方法/模式识别,探路者只需要他认为有关的地形知识即可做出决定,因为我想要一个可以实际探索的AI(如果已经知道地形),那么它将很容易以最短的方式行走,因为探路者具有节点的内存。 无论如何,我的问题更笼统:如何开始优化算法/循环/ for_each / etc。使用汇编语言,但欢迎使用一般技巧。我特别在寻找好书,因为要找到与此主题相关的好书真的很困难。有一些像这样的小文章,但仍然不足以优化算法/游戏... 我希望那里有一本现代的好书,我只是找不到...

3
游戏引擎和数据驱动设计
我听说过数据驱动设计,并且已经进行了一段时间的研究。因此,我阅读了几篇文章以了解这些概念。 文章之一是由Kyle Wilson撰写的数据驱动设计。正如他所描述的,在我看来,应将应用程序代码(即,用于控制诸如存储器,网络等资源的代码)和游戏逻辑代码分开,并且游戏逻辑代码应由外部数据源驱动。在这一点上,我可以想象开发人员将编写某种游戏编辑器,以接受有关游戏中对象的外部数据(例如角色信息,武器信息,地图信息...)。场景设计将由程序员编写的自定义语言/工具编写脚本,以使游戏设计师在游戏对象之间创建交互。游戏设计师将使用现有/自定义脚本语言编写游戏脚本,或使用拖放工具创建游戏世界。我能想到的工具方法示例是World Editor,它通常与Bliizard的游戏一起打包。 但是,另一篇文章反对使用数据驱动设计,即反对数据驱动设计的案例。作者建议不要让数据来驱动游戏设计,因为开发游戏会花费更多时间,因为游戏设计师会承担编程的重担。取而代之的是,将有一个游戏程序员可以从草图设计中自由编程游戏,并在游戏编程完成后由游戏设计师进行验证。他称这是程序员驱动的。我对这种方法的看法与我以前使用的方法类似:游戏逻辑是应用程序本身,与上述想法相适应,应用程序是游戏编辑器,实际游戏是基于该工具设计的。 对我来说,第一种方法似乎更合理,因为游戏组件可用于许多项目。使用第二种方法反对数据驱动的设计,游戏代码仅属于该游戏。这就是为什么我认为魔兽争霸拥有如此多的游戏类型,例如原始的魔兽争霸和各种自定义地图,以及其中最著名的一种:DOTA实际上定义了一种新的游戏类型。因此,我听说人们称World Editor为游戏引擎。游戏引擎应该是这样吗? 因此,在所有这些之后,我只想验证我对这些想法(数据驱动,程序员驱动,脚本编写等)的理解是否存在缺陷?

5
潜在的雇主在良好的投资组合中会寻找什么?
一个工作伙伴和我自己想进入游戏开发的独立场景。我已经做了一些技术演示,展示了针对各种问题的不同想法和方法。现在,我觉得现在是我们致力于一个项目,以便为以后的项目开发投资组合的时候了。 我一直在为如何开始一个实际的项目而苦苦挣扎,更具体地说是创建一个引擎或使用OTS软件包,或者先使用一个然后再创建一个,或者先创建然后再使用一个。 对于潜在的雇主来说,哪个看起来更好?一个较小的游戏组合,其中包括您的引擎,或者(可能)是使用OTS构建的较大游戏? 我是电脑程序编制员。我不是艺术家。我将为此项目执行大部分编程工作。我的好友也是一名开发人员,但他也精通图形工具(因此,他成为了美术专家)。 在工作中,我们都是.NET开发人员(C#)。我知道,我知道“那么请使用XNA”会对我大喊大叫。到目前为止,我完成的演示都在XNA中。但是我对构建XNA产品组合有些担忧。虽然抽象DirectX很好,但我担心我可能无法建立必要的知识库来轻松扩展到XNA之外。与该论点相反的是,“您可以在XNA之后更轻松地转向DirectX”,但是由于我将职业从业务开发转移到了游戏开发,因此现在甚至不值得关注XNA吗?或当我说XNA时,潜在的雇主会笑吗? 我是否应该接受XNA的经验,从而知道所学的概念和经验教训大部分会转移?还是将我最宝贵的资源(时间)花在其他地方? 寻求任何行业专家的建议。
21 career 

2
在AAA游戏中越界
在许多常见的AAA游戏中(尤其是Source引擎游戏),当玩家到达“未归类”的区域时,例如越界或在地图下打c;屏幕上出现奇怪的效果(缓冲区撕裂?)。 可以将其描述为类似于Windows XP的窗口轨迹,Windows XP可能会在系统挂起时留下被拖动的窗口。 我只能假定开发人员在刷新屏幕时不会清除颜色缓冲区吗? 那是对的吗?如果是这样,为什么?
21 rendering 

4
获得游戏资产的最佳法律方法是什么?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 6年前关闭。 我正在研究游戏开发,我知道资产创建有两种选择:自己创建资产或外包资产(通过定制资产或在统一资产商店等网站上找到资产)。 还有哪些其他主要资产来源,例如合同网站,免版税资产库或其他资产商店? 另外,如果有其他方法,还有哪些其他获取资产的方法?

3
多平台多线程:真正的挑战是什么?
尽管像SDL这样的库提供了用于线程的跨平台包装器API,但我认为天真地假设这直接导致了在非常不同的平台(台式机/移动设备)上轻松开发游戏的想法。 考虑以下因素,解决这种问题的最佳方法是什么(考虑到任何跨平台线程API): 不同数量的核心 每个内核的处理能力大不相同 总体上不同的系统架构,例如 缓存,RAM和I / O访问的不同延迟 我觉得这样做的唯一方法是评估您打算支持的每个设备可以运行多少个线程,并找出最低的公分母。但是,这仍然使我对可用的处理吞吐量总量一无所知。我是否认为有效地做到这一点的唯一方法是在整个开发过程中积极开发我打算支持的最低规格的移动设备?-即最低公分母?这大概足够了吗?还是比这还更多? 编辑:请其他人对此提供进一步的经验,因为我还没有完全回答我的问题。

6
碰撞100%避免实施
我绝对是游戏开发的初学者,而且我对避碰/解决冲突一无所知,在过去一周中,我是在该网站上或通过此网站学到的...因此,如果我要问的是什么,请立即纠正我。基于错误的假设/误解。我尽力弄清楚了,但是那句话对我来说仍然是新颖的。 车辆 在我的游戏中,我有可以自动行驶的车辆。它们被放置在3D空间中,它们的运动由许多变量决定,这些变量对于每个车辆而言都是不同的。这里感兴趣的一个主要是: 仅向前运动。 甲速度,可以最小和最大,但其min是之间变化不(甚至接近)零。 甲转向半径,其取决于从速度(更高的速度,更大的半径) 两个最大加速度(用于降低和增加速度) 目标 我的目标是实现某种能够100%准确避免碰撞的AI (即,我将确保车辆永远不会碰撞)。 设计 尽管我更喜欢将AI“车载”的想法(即每辆拥有自己的“防撞AI”的车辆,最终查询和/或向其他车辆发送消息),但我仍然可以在以下位置实现CA AI:中央层(向车辆调度命令)。 在大多数情况下,车辆仅需在任何方向上相互避开,但在某些情况下,它们将必须避免碰撞并朝着同一目标行驶 到目前为止我发现的东西以及被卡住的地方 在这个站点上其他问题中找到的许多链接中,我发现特别有用的链接有: 撞球之间的碰撞 避免意外碰撞 排队 虽然这三个链接以许多方式“打开了我的视线”,但我仍然不清楚如何在我的情况下使用该信息。特别是在第2条中,只有“尝试”才能防止冲突(但是冲突确实会不时发生)。虽然第3条有时需要停车以防止碰撞。 我还注意到的是,上面链接的避免碰撞算法使用线速度的“即时投影”来检查车辆是否在行驶中。我想知道这是否足以满足我的需要,或者是否必须以更现实的方式来投影我的位置(例如:如果我将60°转向右90°,则我应该计算其余位置的位置曲线的30°,然后假设是线性运动)。 最后,我特别担心僵局。换句话说:尽管世界上的车辆密度会很低,但我担心,如果一定数量的车辆向同一点汇合,一旦他们意识到自己正在碰撞,就不可能进行任何规避操作因为它将使车辆与其他碰撞路径碰撞。 题 我怎样才能达到我的“目标”?深入理解当然是非常值得赞赏的,但是与外部资源的链接也将有很大帮助(我肯定不是第一个遇到此问题的人,但是可能我使用了错误的关键字来搜索网络吗? ) 预先感谢您的帮助!

2
如何在RPG等Java游戏中定义项目?
我在用Java随意开发一个RPG类型的游戏,但是我在弄清楚如何拥有可以做很多不同事情而不需要为每个物品创建不同类的物品时遇到了麻烦。 例如,如何创建可以砍树和攻击怪物的斧头? 如果我扩展斩波类或武器类,则无法扩展其他类。 如果我有斩波和武器作为接口,那么当匕首也可以攻击怪物而另一把斧头可以砍伐树木时,我将有很多重复的代码。 我希望有一种方法可以拥有一个Item类,并从文件中加载项目及其各自的功能。如果可能的话,怎么办?如果不是,那么在游戏中拥有道具的最佳方法是什么?
21 java 

3
如何为跳棋/草稿实现AI?
我看到了这个跳棋游戏,我想知道AI是如何实现的。 我应该如何为检查员(草稿,妈妈,妈妈)实现AI ?有没有已知的算法? 非常感谢所有人。我很奇怪看到这个Tic Tac Toe游戏教程博客文章。 所以,我想要dama游戏算法的开源代码和博客文章..是否有任何有用的链接或任何doc文件..?请告诉我..
21 algorithm  ai 

9
围绕精灵绘制轮廓的有效方法
我正在使用XNA对游戏进行编程,并且一直在尝试各种方法来对我的精灵实现“选定”效果。我遇到的麻烦是,在spritebatch中绘制的每个可单击对象均使用多个sprite绘制(每个对象最多可以由6个sprite组成)。 如果有人可以建议我如何为X像素的精灵添加轮廓,我将不胜感激(因此轮廓宽度可以是整个像素的各种数量)。 提前致谢, 格雷格
21 2d  xna  sprites 

4
如何在基于组件的游戏架构中实现行为?
我开始在游戏中实现玩家和敌人的AI,但是对于如何在基于组件的游戏架构中最好地实现这一点感到困惑。 假设我有以下玩家角色,可以固定,奔跑和挥舞剑。玩家可以从静止状态和奔跑状态都转变为挥剑状态,但是随后必须完成挥杆,然后才能继续站立或奔跑。在挥杆过程中,玩家无法走动。 如我所见,我有两种实现方法: 创建一个包含所有播放器逻辑的AI组件(与实际组件分离或嵌入为Pla​​yerAIComponent)。我可以轻松地执行状态限制,而无需在组成播放器实体的各个组件之间创建耦合。但是,AI组件无法分解。例如,如果我有一个只能站立,四处走动或只能四处走动并偶尔挥舞剑的敌人,那么我必须创建新的AI组件。 将行为分解为各个组件,每个组件标识一个特定状态。然后,我得到一个StandComponent,WalkComponent和SwingComponent。为了执行过渡规则,我必须耦合每个组件。SwingComponent必须在挥杆期间禁用StandComponent和WalkComponent。当我有一个只会站着的敌人,偶尔会挥舞剑时,我必须确保SwingComponent仅在存在Walkwalk时将其禁用。尽管这允许更好的混合和匹配组件,但是当每次添加依赖项时,它都可能导致可维护性的噩梦,但必须更新现有组件以更好地满足依赖项对角色的新要求。 理想的情况是,设计人员可以通过将组件拖到容器中来构建新的敌人/玩家,而无需触摸任何一行引擎或脚本代码。尽管我不确定是否可以避免脚本编码,但我想使其尽可能简单。 总结一下:我应该将所有AI逻辑分解为一个组件,还是将每个逻辑状态分解为单独的组件,以更轻松地创建实体变量? 编辑:我怀疑我对第一种和第二种情况的含义有些困惑。我试图在下图中解释它。 注意各个状态与实体之间的关系。在第一种情况下,会在将AI组件放入实体之前对其进行预先构建。设计人员只能从程序员提供的一组独特的AIComponent中进行选择。第二种情况具有与其他组件相同级别的不同状态。设计人员现在可以创建具有唯一AI的实体,而无需程序员的干预。 问题是,这是在基于组件的实体中构建AI的仅有的两个选择吗?如果是的话,什么将提供最大的灵活性?

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.