游戏开发

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

6
开发新游戏时要考虑的最大陷阱是什么?
实际上,我几周前才刚刚开始追踪(感谢David Young的术语更正)几个针对Facebook的新的基于Web的游戏,而我刚好被大量的思维障碍和重新编码所浪费的时间淹没了。我正在研究类似基于回合(吸血鬼战争)风格的RPG。我具有编写游戏代码的技能,但我一直在努力尝试正确设计模式并使产品与我所见一致。 通常,在构建网站时,我喜欢“思考代码”,而我发现更改代码/ HTML进行调整的速度更快。这可能是因为我对自己的工作非常满意并且知道会发生什么因为我一遍又一遍地做。在游戏开发的这一点上,我发现自己又重新开始了(就像我以前在网站上一样),我想知道这是否只是我缺乏对游戏逻辑的专注和直觉,还是这是一种在我的脑海中发扬光大的合适方法?编码提前。 对于如何正确解决此问题并使自己保持工作状态的一些建议,我将不胜感激。我很快就从标准的商务网站上了解到一个游戏引擎有多么不同!每次我准备好一些东西时,都会感到糊涂和不完整,并且变得令人沮丧。 扩展的 例如,最近给我带来很多问题的战斗引擎采用简单的攻击技能,然后在-50%到+ 50%之间随机滚动,然后将原始攻击技能乘以该百分比。防御也要做同样的事情,然后我将其划分,以确定是否对敌人的健康造成了损害。我想当我开始问自己这是否是正确的方法,或者是否存在“正确”的方法时,我应该意识到自己会陷入困境。我发现的一个主要缺点是,两个角色在同一级别附近可以具有多个“掷骰”,攻击率为-50%,防御率为+ 50%,所以我最终遇到了一些漫长的战斗序列,没人做任何事情。失败 也许我的帖子应该一直要求提供描述简单游戏逻辑的建议链接。 末端延伸 谢谢大家!

3
哪种功能语言最适合用来创建游戏?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 我对函数式编程语言已经有一段时间了,但是对于实际使用它们感到犹豫。但是我认为现在是时候至少开始扫视那个方向,以确保我为任何事情做好了准备。 我看过有关Haskell,F#,Scala等的话题。但是我不知道这些语言及其社区之间的区别,我也不在乎。除了游戏开发方面。 那么,从游戏开发的角度来看,哪种功能性编程语言最适合游戏编程?例如,是否有针对功能语言的功能性游戏开发库/引擎/框架或图形引擎?是否有一种语言可以更好地处理游戏开发中常用的某些数据结构? 底线:哪种函数式编程语言最适合函数式游戏编程,为什么? 我相信/希望这个问题将宣告清楚的最佳语言,因此尽管有主观倾向,但我并未将其标记为CW。
19 functional 

7
用于游戏开发,优点和缺点的Blender [关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 6年前关闭。 Blender是您喜欢或讨厌的那些应用程序之一。我知道它非常适合3D建模和动画,关于UI及其陡峭的学习曲线也有很多说法。 我对Blender在游戏开发方面的杰出表现更感兴趣。所以我的问题是,选择使用Blender开发高性能3D游戏的利弊是什么?

6
有什么方法可以防止或减少在线多人游戏中的作弊行为?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 5年前关闭。 存在Punkbuster只是为了防止作弊,但是在启用Punkbuster的游戏中作弊很普遍。最终用户无法运行Modern Warefare 2,因为他们只能运行自己的服务器或进行任何Mod修改,并且欺诈行为不断发生。 对于每个客户端都在PC上运行的多人游戏,可以采取哪些措施来减少或消除作弊行为?

8
在“加载”屏幕中应该发生什么?
我是否只需要将所有图形的实例创建到从文件加载的内存中?处理此问题的最佳方法是什么?我是否只需要某种资产管理器来在加载屏幕期间创建这些图形实例,然后在以后进行引用? 需要在游戏中预装哪些常见的东西?我应该预加载多少? 值得展示某种进度条吗?如何缩短加载时间?加载屏幕应该是什么样的? 有哪些加载屏幕的好例子?任何代码示例? 具体来说,我的游戏是针对Andriod(Java / mobile)的,但请随时将您的答案设为通用。

4
在PC上进行XNA游戏的可行性
我和一个朋友正在做2D XNA游戏。到目前为止,该API看起来确实很酷,并且性能可以接受。我的问题更多是针对它的发布。至于其他开发人员如何制作游戏,他们在PC上为您做得如何(就下载,销售等而言)?我从个人的角度了解Xbox360的统计信息,但是我很好奇它们在PC上的成功程度如何?
19 xna  xbox360  pc 

5
带帽的简单递减收益
问题 玩家每等级可获得5分,最高等级为80,最高得分为400。要分配给5个统计信息,并且对可以添加多少统计信息没有最大限制。 强度 耐力 情报 敏捷 运气-获得暴击率和暴击伤害 我想对一个运气说一个递减的回报方程式。对于暴击机会,我不希望玩家能够击中100%暴击机会。 随着增长的逐渐降低,每增加一个点将达到0,将达到一个上限。 例如,如果我希望玩家拥有的最大暴击几率是40%,那么运气每提高一点,暴击几率就会越来越小,直到暴击几率达到40%左右。通过这1个运气将给出非常非常小的数量。 有什么办法吗?谢谢您的帮助,不胜感激!
19 rpg 

7
如何使A *代理避免其他代理?
我正在图块地图上实现多代理A *算法。代理仅在X和Y轴上移动。通过在计算路径时检查其他位置,我避免了它们之间的冲突。 除代理必须从不同方向传递同一图块的情况外,此方法都可以正常工作。在这种情况下,最佳解决方案是让一个代理等待另一个代理通过: 另外,如果没有北方走廊,寻路也会失败。 如何实现这种算法?

8
不完美的乒乓球AI
因此,我开始在使用LWJGL时学习Java和一些OpenGL。首先,我正在编写Atari Pong的副本。我已经正确设置了游戏屏幕,碰撞检测,并且所有游戏大部分都可以正常运行,实际上,如果是2人游戏,我现在就可以完成,但是由于我打算做一个单人游戏,我必须想出一个简单的AI来控制第二位玩家。 知道球将击中何处似乎是微不足道的,并且创建一个总是能将球击中的AI似乎很容易,但是我希望能够赢得比赛,所以我不能总是让IA击中球。 所以这是我的问题,我该如何编写代码以将类似人的缺陷添加到AI中。我是否应该随机决定AI是否会在给定时间失效?还是我在这里缺少一件更聪明(或者也许很明显)的东西? 非常感谢你。
19 java  ai 


7
为什么浮点数的分辨率从原点开始进一步降低?
我的OpenGL场景中的对象离原点的距离非常可笑。当我查看这些对象并在它们周围平移/旋转/缩放照相机时,它们会“抖动”。也就是说,组成对象的顶点似乎围绕着虚构的3d点网格捕捉。我已经读到这是一个常见的问题,因为可以使用浮点精度(OpenGL和几乎所有其他功能使用的精度)存储大量信息。我不明白为什么会这样。 在寻找解决方案时,我遇到了非常简单的“浮动原点”修复程序,它似乎起作用了。我只是对所有物体进行了变换,所以我的对象处于相同的相对位置,但是无论照相机看着什么,它都接近原点。我在这里找到了一个解释:http : //floatingorigin.com/,但是我无法理解。 那么...有人可以解释为什么将我的场景放置在离原点很远的地方(例如1000万个单位)会导致我观察到的行为不稳定吗?还有为什么将其移到靠近原点的位置才能解决此问题?
19 c++  opengl 

2
通常如何在面向组件的系统中构建物理或图形组件?
我花了最后48个小时来阅读对象组件系统,并觉得我已经准备好开始实施它。我已经创建了基本的Object和Component类,但是现在我需要开始创建实际的组件,我有点困惑。当我用HealthComponent或基本上只是属性的东西来考虑它们时,这是很有意义的。当它作为物理/图形学组件更为通用时,我会有些困惑。 到目前为止,我的Object类是这样的(如果您注意到我应该进行的任何更改,请告诉我,这仍然是新的)... typedef unsigned int ID; class GameObject { public: GameObject(ID id, Ogre::String name = ""); ~GameObject(); ID &getID(); Ogre::String &getName(); virtual void update() = 0; // Component Functions void addComponent(Component *component); void removeComponent(Ogre::String familyName); template<typename T> T* getComponent(Ogre::String familyName) { return dynamic_cast<T*>(m_components[familyName]); } protected: // Properties ID m_ID; Ogre::String …

3
实时动态寻路?
我目前正在做一些寻路研究,仿真如下:我有一个3D场景,表示了起点和终点,我能够创建导航网格物体,航路点和多边形来辅助寻路。 我已经尝试过A *算法及其一些变体,它们可以完美地工作。但是,现在我对“动态”寻路更感兴趣。例如,在查找从A点到B点的路径时,如果突然出现新障碍,我希望我的算法能够立即重新规划路径,而不必再次从头开始搜索。 我已经对D *算法做了一些阅读,并且想知道这是否适合我的需求,或者这看起来像是一个过大的杀手。 所以我的问题基本上是:哪种算法最适合实时动态寻路?或者我可以使用哪些技术组合呢?

6
优雅的国际象棋瓷砖着色解决方案
我正在重新开发用Java编写的国际象棋游戏,并且想知道是否存在一种优雅的算法来为编号的国际象棋棋盘上色国际象棋棋盘。 现在,我的解决方案使用if else语句来确定图块是在偶数行还是奇数行上,并基于此判断它应该是亮还是暗的正方形。
19 tiles  chess 

2
“您要实例化的对象为空”但是它可以工作,我可以忽略该错误吗?
这从来没有发生在我身上,所以我有点困惑。 GameObject someObject = Instantiate (Resources.Load ("Prefabs/Items/" + someName)) as GameObject; 这将引发错误,但实际上已实例化该对象,并且一切都按预期工作。无论我重现此错误几次,该错误都不会停止程序。 我可以忽略此错误,还是没有看到一些问题?
18 unity  c# 

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.