游戏开发

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




14
如何为10位玩家找到最佳的颜色?
我想给10位玩家中的每一个赋予独特的识别颜色。为此有最佳的颜色集吗?如何创建一个? 我想出的每一组都包含太相似的颜色。 更新:下面有人问我这是干什么的(公平问题)。现在,我可以告诉您-Windwardopolis和颜色效果很好。

30
游戏开发博客[关闭]
有哪些优秀的游戏开发/设计博客可以关注? 请每个答案一个博客(确保提供一个链接),并简要介绍博客文章的内容。 如果可以,请选择一篇显示出高价值的文章并分享其中的一小段。
266 game-design  assets  blog 

11
什么时候应该使用固定或可变时间步长?
游戏循环应该基于固定时间段还是可变时间段?一个人永远是上等的,还是正确的选择会因游戏而异? 可变时间步长 物理更新传递了“自上次更新以来经过的时间”参数,因此与帧速率有关。这可能意味着要进行计算position += distancePerSecond * timeElapsed。 优点:流畅,更易于编码 缺点:不确定性,无论步长或步长都是不确定的 deWiTTERS示例: while( game_is_running ) { prev_frame_tick = curr_frame_tick; curr_frame_tick = GetTickCount(); update( curr_frame_tick - prev_frame_tick ); render(); } 固定时间步 更新可能甚至不接受“经过的时间”,因为它们假定每次更新都是在固定的时间段内进行的。计算可以按进行position += distancePerUpdate。该示例包括渲染期间的插值。 优点:可预测,确定性(更容易进行网络同步?),更清晰的计算代码 缺点:不同步以监控垂直同步(除非进行插值,否则会引起抖动的图形),最大帧速率受限(除非进行插值),难以在框架内工作采取可变的时间步长(例如Pyglet或Flixel) deWiTTERS示例: while( game_is_running ) { while( GetTickCount() > next_game_tick ) { update(); next_game_tick += SKIP_TICKS; } interpolation …

30
如何预防“太好用了”综合症[关闭]
当您给玩家一个稀有却功能强大的物品,该物品只能使用一次,却从未真正需要进行时,大多数玩家根本就不会使用它,因为他们正在等待完美的时刻。但是即使到了这一刻,他们仍然不愿意使用它,因为稍后可能会有更好的时刻。因此,他们一直ho积它,这是永远不会到来的。 最后,他们将随身携带物品,直到被其他更容易获得的资源所取代,甚至直到游戏结束为止。这意味着此类一次性产品根本不提供任何游戏价值。它们简直太棒了,无法使用。 您可以采取什么措施鼓励玩家使用他们的一次性物品而不是ho积它们?


20
一个非艺术的程序员如何制作游戏?[关闭]
我想尝试制作游戏。在制作一些简单的作品时,我意识到我做不到艺术! 我试图寻找其他人来提供帮助:由于我的经验有限(我在读高中),大多数现有团队都不想要我,而且我一直无法找到具有合适技能的本地艺术家。 你们是如何做到的?我是否必须等到大学才能看看自己是否喜欢玩游戏?有没有办法获得免费的艺术品,这样我就可以自己搞乱了?还是我只是运气不好或在错误的地方寻找其他感兴趣的人?
194 art 

30
您如何防止虚拟经济中的通货膨胀?
使用典型的MMORPG,玩家通常可以永远永久地为世界耕种原材料。怪物/矿脉/等通常使用某种重生计时器,因此,除了时间以外,实际上还没有很好的方法来限制进入系统的新货币数量。 确实,这只会使金钱沉没,试图从系统中取出资金。有什么策略可以防止游戏币的通货膨胀?
186 game-design  mmo  economy 

1
“系统”在基于组件的实体体系结构中的作用是什么?
我阅读了很多有关实体组件和系统的文章,并认为将实体当作ID的想法非常有趣。 但是我不知道这在组件方面或系统方面是如何完全起作用的。组件只是由某些相关系统管理的数据对象。碰撞系统使用某些BoundsComponent以及空间数据结构来确定是否发生了碰撞。 到目前为止一切都很好,但是如果多个系统需要访问同一组件怎么办?数据应该存放在哪里?输入系统可以修改实体BoundsComponent,但是物理系统需要访问与某些渲染系统相同的组件。 另外,实体是如何构造的?我读到的很多优点之一是实体构造的灵活性。系统本质上与组件相关联吗?如果要引入一些新组件,是否还必须引入新系统或修改现有系统? 我经常读到的另一件事是,实体的“类型”由其具有的组件来推断。如果我的实体只是一个id,我怎么知道我的机器人实体需要被某个系统移动或渲染并进行修改? 很抱歉发布了很长的帖子(或者至少从我的手机屏幕看来如此)!

9
为什么过早优化如此糟糕?
在对优化进行了一点研究之后,我发现(几乎在所有地方)过早优化游戏似乎是普遍公认的罪过。 我真的不明白这一点,在最后改变游戏的某些核心结构,而不是在第一次考虑性能的情况下开发它们,是否会变得异常困难? 我得到等待,直到游戏结束,它会告诉您是否甚至需要优化,但是您还是不应该这样做,毕竟,它可以扩大游戏可以运行的设备的种类,从而增加潜在的数量玩家。 有人可以向我解释为什么过早优化是一个坏主意吗?

16
所有游戏程序员都应该知道什么数学?[关闭]
足够简单的问题:为了成功,所有游戏程序员都应该掌握什么数学? 我并不是在谈论在游戏编程的利基领域中渲染数学或任何东西,更具体地说,甚至是游戏程序员都应该知道的事情,如果他们不这样做,他们可能会发现它很有用。 注意:由于没有一个正确的答案,所以这个问题(及其答案)是社区Wiki。 另外,如果您想使用精美的乳胶数学方程式,请随时使用http://mathurl.com/。


8
为什么在游戏架构中不更多地使用MVC和TDD?[关闭]
首先,我不会看大量的游戏资源,也不会以游戏的方式构建游戏。 但是,由于试图在Web应用程序中采用“企业”编码实践,查看游戏源代码严重伤害了我的头脑:“这种视图逻辑与业务逻辑的关系是什么?这需要重构……重构,重构,重构也是如此吗? ” 这让我很担心,因为我将要开始一个游戏项目,而且我不确定尝试对mvc / tdd的开发过程是否会阻碍我们或为我们提供帮助,因为我看不到很多使用此功能的游戏示例或在社区中推动更好的建筑实践。 以下是一篇有关原型游戏的精彩文章的摘录,尽管对我而言,这似乎正是许多游戏开发人员在编写正式游戏代码时似乎使用的态度: 错误四:构建系统而不是游戏 ...如果您发现自己从事的工作无法直接推动自己前进,请就此停下来。作为程序员,我们倾向于尝试将代码泛化,使其变得优雅并能够处理各种情况。我们发现痒痒非常难,不会刮伤,但是我们需要学习如何做。我花了很多年才意识到,这与代码无关,而与最终发布的游戏有关。 不要编写精美的游戏组件系统,不要完全跳过编辑器,而将状态硬编码到代码中,避免数据驱动,自解析,XML疯狂,而只需编写该死的东西。 ...尽可能快地在屏幕上获取内容。 而且永远不要使用参数“如果我们花一些额外的时间并以正确的方式进行操作,我们可以在游戏中重用它”。永远 是因为游戏(大多)是面向视觉的,所以有意义的是代码将在视图中占很大的比重,因此将内容移到模型/控制器中所获得的任何好处都非常少,所以为什么要打扰? 我听到过这样的论点,即MVC引入了性能开销,但是在我看来这是过早的优化,在担心MVC开销(例如渲染管道,AI算法,数据结构)之前,还有更多重要的性能问题需要解决遍历等)。 关于TDD也是一样。我很少看到游戏使用测试用例,但这可能是由于上述设计问题(混合视图/业务)以及难以测试视觉组件或依赖概率结果的组件(例如,在物理模拟中运行)造成的。 )。 也许我只是看错了源代码,但是为什么我们看不到游戏设计中采用的更多“企业”实践呢?游戏的需求真的有如此大的不同吗?还是人/文化问题(例如,游戏开发者来自不同的背景,因此具有不同的编码习惯)?

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.