游戏开发

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

17
为什么在游戏设计中使用角色类?
在公司里,我们就字符类进行了长时间的讨论。我们正在构建一款基于技能的游戏,您最终将需要选择8来参加战斗。我是无类系统的粉丝,我一直觉得它们的创建是为了假冒您延长游戏时间。 我们得出了一些结论: 那里有课程来防止每个人都以最佳状态进行“最佳构建”的情况(就我个人而言,这是一个较弱的案例,您应该能够设计一个没有课程就没有胜利组合的系统) 班级通过提供不同的游戏风格来创造多样性(我同意这一点,但是如果您可以自由组合各种技能,则可以实际创建自己的班级) 上课使玩家更容易选择比赛方式。大多数时候,玩家在不同的游戏中扮演相同类型的角色。(伤害经销商,治疗者,小偷/刺客等)(对我来说,从上面的所有论点来看,这是最合理的,但是当您可以将人们提供给他们作为模板时,为什么只强迫人们使用部分技能) 为什么在游戏设计中使用角色类?您是否同意以上几点?是或否,您为什么这么认为?

1
实际使用基于组件的实体系统
昨天,我阅读了GDC Canada上有关属性/行为实体系统的演示,我认为它很棒。但是,我不确定如何实践地使用它,而不仅仅是理论上的。首先,我将快速向您解释该系统的工作方式。 每个游戏实体(游戏对象)都由属性(=数据,可以通过行为,也可以通过“外部代码”访问)和行为(=逻辑,包含OnUpdate()和OnMessage())组成。因此,例如,在Breakout克隆中,每个积木将由(例如!)组成:PositionAttribute,ColorAttribute,HealthAttribute,RenderableBehaviour,HitBehaviour。最后一个看起来像这样(这只是一个用C#编写的无效示例): void OnMessage(Message m) { if (m is CollisionMessage) // CollisionMessage is inherited from Message { Entity otherEntity = m.CollidedWith; // Entity CollisionMessage.CollidedWith if (otherEntity.Type = EntityType.Ball) // Collided with ball { int brickHealth = GetAttribute<int>(Attribute.Health); // owner's attribute brickHealth -= otherEntity.GetAttribute<int>(Attribute.DamageImpact); SetAttribute<int>(Attribute.Health, brickHealth); // owner's attribute // …

4
如何实现2D照明?
我想知道在2D游戏中达到“照明”效果的最佳方法是什么。例如,如果我的主角正在发光,当角色靠近其他受光影响的物体时,我可以使用什么技术来完成该角色发光的视觉效果?

13
哪些C#库可用于支持游戏开发?[关闭]
由于游戏基于许多不同的子系统,例如图形(DirectX,OpenGL等),声音(OpenAL,Ogg Vorbis等)或物理(碰撞等),因此您知道哪些有用的库是有用的C#中的游戏开发,它们提供什么好处?
58 c#  .net 

7
自学游戏开发的危害是什么?[关闭]
我即将踏上游戏开发之旅。在回答最后一个问题后,我将使用C#和XNA。 但是,我个人并不认识任何其他游戏开发人员,并且我也不从事该行业,因此,他们将是自学成才的。显然,例外情况是提出问题和阅读在线/打印的信息,但我仍将其归类为自学成才。 这样,我想为没有人“把我留在他们的翅膀下”而可能遇到的问题做好准备。 打个比方,当我自学弹吉他时,我弹A大调和弦的方式使移至我后来学到的和弦更加困难。 如果您可以分享您的经验教训,以及在学习游戏开发方面可能出什么问题的建议,我将不胜感激。 我很清楚,犯错误是学习的最大部分,但是,如果有错误,我可以为之做好准备,那么我会为此感到高兴。
58 c#  xna  books 

9
创建AI的新手-从哪里开始?[关闭]
我是游戏编程的新手,正在尝试制作一款基本的2d自上而下的太空游戏,其中包含2艘相互竞争的太空船。我在用户控制的太空飞船上做得很好,但不知道如何开始编写AI。某些方法/模式是否适合这种情况?我什至要从哪里开始?

14
为什么有些游戏始终坚持一种可行的策略,而另一些却有很多可行的策略呢?
英雄联盟中有趣的是“元”的存在,出于这个问题的目的,可以将其定义为“统御一切的一种策略”。元在补丁之间移动;但是在补丁发布后不久,新的meta变体就出现了,每个人都同意这种特定策略在大多数情况下是客观上最好的。 并不是Riot Games不会试图减轻这种影响。例如,他们引入了符文,这种符文应该使个人喜好成为游戏玩法中更大的因素–也就是说,允许更大范围的可行策略。但是大多数这样的尝试适得其反:无论如何很快就会出现一个“冠军的正确符文页面”。 奇怪的是,我被告知并在互联网上阅读,《Dota 2》中的情况并非如此。(我不知道;我不玩Dota。)根据我收集到的信息,在Dota中 “什么都没有定下来”,可以有效地扮演许多英雄的许多角色,存在多种可行的通道分布以及多种可行的策略。 这似乎是违反直觉的,因为经常指出两款游戏之间存在另一个差异–即Dota包含硬计数器的概念(即,如果您在游戏前选择了错误的英雄,并且几乎无法在游戏中找到相关的东西)然后运气不好,您应该选择另一个英雄),而LoL认为此类机制已失效,而是主要尝试提供软计数器。从表面上看,强硬计数器似乎会使游戏倾向于“定型”策略(正确的选择权是以前的自己的团队和敌人的团队选择权所决定的),而软计数器由于允许更大的选择而似乎允许更多样化的策略在任何给定情况下都可以选择冠军。 我可能会问,究竟是什么使游戏拥有全部统治一个策略,又是什么使游戏具有多种可行策略呢?我提供了LoL和Dota的示例,因为鉴于两款游戏之间的相似性,我认为两者之间的差异最为明显,但我认为这个问题很容易适用于几乎所有竞争性多人游戏。


2
如何在Super Metroid和Aquaria中获得墙边缘的纹理?
诸如《超级银河战士》和《水瓶座》之类的游戏展现了地形,其他朝向的部分则带有岩石和东西,而在它们的更深处(即地下),则存在不同的细节或仅仅是黑色。 我想使用多边形做类似的事情。地形在我当前的级别中创建为一组重叠的方形框。我不确定此渲染方法是否可以在创建地形的系统中正常工作,但是如果有人有想法,我想听听他们。否则,我想知道我应该如何重新编写terrain渲染系统,以便它实际上可以以这种方式绘制地形...

7
我可以防止对角线运动探索更多地图吗?
在沿着8个方向中的任意一个方向进行完全相同的旋转(棋盘样式规则)的磁贴网格中,是否可以防止对角移动显示比正交移动更多的新磁贴? 例如:您是下图中的红色框。目前,您可以看到绿色的单元格(方形视野)。您可以在八个方向中的任何一个方向上移动一个图块的距离。 如果您向东北移动,您将探索13个新的图块(以蓝色显示)。如果您改为向南移动,则将仅探索7个新图块(以紫色显示)。 如何使每个方向的旅行对探索都同样有利?

9
TCP协议是否足以应付实时多人游戏?
过去,拨号/ ISDN /慢速宽带上的TCP连接导致游戏断断续续,因为单个丢包会导致重新同步。这意味着许多游戏开发人员必须在UDP之上实现自己的可靠性层,或者他们将UDP用于可能会被丢弃或乱序接收的消息,并将并行TCP连接用于必须可靠的信息。 鉴于现在普通用户的网络连接速度更快,FPS之类的实时游戏能否通过TCP连接提供良好的性能?
57 networking 

15
跨平台2D图形引擎
我正在寻找一个2D图形引擎,该引擎将使我能够发布到Windows,Mac和iPhone,这与Unity 3D所做的非常相似。 是否有一个好的引擎可以做到这一点并且特定于2D?



18
什么是游戏开发者的优秀JS库?[关闭]
如果我决定同时编写文本和图形(2d)的简单游戏,我将使用哪些库?(假设我们使用的是兼容HTML5的浏览器) 我能想到的主要事情 在屏幕上渲染文本 动画精灵(使用图片/ CSS) 输入(捕获箭头键并获取鼠标相对位置) 也许一些预加载资源或动态加载资源并选择顺序 声音(但是我不确定这对我起初有多重要)。也许伴随着混合和连锁的声音或永远循环直到停止。 建立网络(低优先级)以将用户连接到另一个用户或连续获取数据而没有多个请求(我知道这是存在的,但我不知道它的设置或使用有多么容易。但这对我而言并不重要。问题)。
56 html5  javascript 

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.