游戏开发

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

3
在哪个目录中写入游戏保存文件/数据?
我需要一个明确的目录列表,每个平台一个或多个,用于存放游戏保存文件和其他游戏生成数据的目录。要么基于OS开发人员规范,要么因为没有建议,这是常见用法。 请为每个平台提供一个答案,并提供不同的目录。另外,最好的示例是如何在C ++或C中获取目录位置,因为这是您将遇到的更多困难的语言。 地点: 玩家的游戏数据(保存的游戏,配置)。 共享的游戏数据(例如所有计算机用户的高分或配置)。 临时游戏数据(又名缓存目录)。
37 savegame 

4
如何在RPG游戏中设计攻击等级?
我正处于一个小型RPG风格游戏的计划阶段。 角色将具有一组以整数表示的属性,例如强度,敏捷性等。角色还将具有一组表示为攻击等级的攻击。 在每次攻击中,我希望它根据角色属性造成伤害,例如:攻击“剑斜线”将造成10 dmg +角色强度值。 我想到的方法是拥有一个抽象的攻击类,该类具有一个抽象的Attack方法,并且对于每种攻击,我都会创建一个实现Attack方法的类。 public class SwordSlash:Attack { public void Attack(Character attacker, Character defender) { defender.DoDamage(10 + attacker.Strength); } } 我看到这将使其成为噩梦。 有谁知道我如何更好地做到这一点? 我认为主要的问题是如何根据攻击来输入正确的属性。
37 game-design  rpg 

4
C ++中的实体/组件系统,如何发现类型并构造组件?
我正在使用C ++构建实体组件系统,希望遵循Artemis的风格(http://piemaster.net/2011/07/entity-component-artemis/),因为组件主要是数据包,包含逻辑的系统。我希望利用这种方法的以数据为中心的优势,并构建一些不错的内容工具。 但是,我遇到的一个难题是如何从数据文件中获取一些标识符字符串或GUID,并使用该标识符或实体来构造实体的组件。显然,我可以拥有一个大型解析函数: Component* ParseComponentType(const std::string &typeName) { if (typeName == "RenderComponent") { return new RenderComponent(); } else if (typeName == "TransformComponent") { return new TransformComponent(); } else { return NULL: } } 但这真的很丑。我打算经常添加和修改组件,并希望构建某种ScriptedComponentComponent,以便您可以在Lua中实现组件和系统以进行原型设计。我希望能够编写一个从某个类继承的BaseComponent类,也许将其扔进几个宏中以使一切正常工作,然后使该类可在运行时实例化。 在C#和Java中,这将非常简单,因为您获得了不错的反射API来查找类和构造函数。但是,我正在用C ++进行此操作,因为我想提高自己在该语言中的熟练程度。 那么用C ++如何做到这一点呢?我已经阅读了有关启用RTTI的信息,但似乎大多数人对此保持警惕,尤其是在我只需要将其用于对象类型的子集的情况下。如果在那里需要定制的RTTI系统,该从哪里开始学习编写一个系统?

20
优秀的基于Javascript / HTML5的游戏示例[关闭]
现在,Flash已基本上被HTML5元素(视频,音频,画布等)取代了,是否有基于完全开放标准(即Javascript,HTML和CSS)构建的基于Web的游戏的良好示例?我看到了很多纯HTML5实现的示例,这些实现曾经只在Flash中出现过(例如此处的内容:http : //www.html5rocks.com/),但游戏数量却很少,而这个领域似乎仍然由Flash主导。我很好奇有什么可能,有什么限制。
37 flash  web  html5  javascript 

13
消除游戏中的困扰的最佳方法是什么?[关闭]
这是游戏设计中一个非常持久的问题,尤其是在需要容纳/保留MMO或社交游戏等玩家的游戏中。(从侧面说,可以很容易地计算出磨削,因此它是进行啮合和定时加工的便捷工具)。 除了社区建设/竞争之外,还有没有其他解决方案可以代替磨砺,并且在一定时间内仍能吸引观众(无需添加大量游戏资产和代码)?


4
3D图形编程中的片段是什么?
片段着色器中的片段是什么?维基百科说: 通常,可以将片段视为遮蔽像素所需的数据,再加上测试片段是否能够存活成为像素所需的数据(深度,alpha,模板,剪刀,窗口ID等)。 那么它是纹理,顶点还是其他东西?


3
这些天需要安装游戏吗?
我不知道为什么游戏需要安装。我可以理解,某些软件(例如浏览器)需要它,因此它可以将某些文件类型与之关联并启动可执行文件,或者将图标添加到Windows上的“程序/功能”组件。但是,例如安装Steam游戏的目的是什么?Steam本身可以处理游戏的安装/删除,更新,启动等操作。如果我开发自己的游戏启动器(将使用安装程序),为什么还要在游戏中使用安装程序?
36 installer 

4
我应该使用“常规”颜色代表稀有商品吗?
我正在制作一个新的具有战利品的RPG。实际上,大多数游戏都是基于战利品。它会带有彩色边框以表示战利品被绘制时的稀有性。 WoW使用灰色,白色,绿色,蓝色,紫色,橙色和其他一些颜色。GW2使用灰色,黑色,蓝色,绿色,黄色,橙色,粉红色,紫色。颜色不匹配,但是您可以看到一些明显的重叠。 我想知道这些颜色对于用户了解稀有性是否重要或直观,或者是否可以将它们弄乱?如果可以更改它们,您如何确定按什么顺序放置什么颜色? 例如,如果我选择白色,蓝色,绿色,黄色和红色,那只要我以其他方式明确说明就可以了吗?或者这些颜色会造成混淆?

8
我应该避免使用对象继承来开发游戏吗?
使用Unity开发游戏时,我更喜欢OOP功能。我通常创建一个基类(大多是抽象的),并使用对象继承将相同的功能共享给其他各种对象。 但是,我最近听到某人的消息,必须避免使用继承,而应该改用接口。所以我问为什么,他说:“对象继承当然很重要,但是如果有很多扩展对象,类之间的关系就深深地耦合了。 我使用的是一个抽象基类,像WeaponBase和创建如特定的武器类Shotgun,AssaultRifle,Machinegun类似的东西。有这么多优点,我真正喜欢的一种模式是多态。我可以将子类创建的对象当作基类一样对待,这样可以大大减少逻辑并使其更可重用。如果需要访问子类的字段或方法,则回退到子类。 我不想定义字段相同,在不同的类,常用的像AudioSource/ Rigidbody/ Animator和很多我这样定义成员字段的fireRate,damage,range,spread等等。同样在某些情况下,某些方法可能会被覆盖。因此,在这种情况下,我使用的是虚拟方法,因此基本上可以使用父类中的方法来调用该方法,但是如果子级中的逻辑不同,则可以手动覆盖它们。 因此,是否应将所有这些东西当作坏习惯丢弃?我应该改用接口吗?

7
是什么让具有真实货币经济的MMO合法?
我beieve大多数MMO游戏与游戏中的货币绑在真实世界的货币(如激战2的宝石或夏娃的PLEX)也不会允许在游戏中的物品被交易回真正的现金一堆理由-部分是因为它们可能会改变游戏的“正常”经济状况,但总的来说是因为这会带来洗钱,游戏/赌博法律等一系列法律问题。 但是,Entropia Universe(维基百科链接)的游戏内经济性直接与美元挂钩,从而使玩家能够“从游戏中套现”并转回真实货币。他们甚至可以制作出可以从游戏中退出的银行卡,现在已经组成了一家实际的银行来监管交易。 为什么没有更多的游戏将这种与游戏经济直接相关的方式与真实金钱联系在一起? 我了解经济需要经过精心设计和平衡,以避免游戏中的过度通货膨胀或其他导致游戏中货币“虚无”产生的漏洞,但在我看来,更大的担忧是这将是法律问题创建。考虑到游戏涉及的随机几率,这不是有效的赌博吗?如果是这样,那么Entropia Universe如何在不引起来自不同地区主管部门和政府的麻烦风暴的情况下使全球用户受益?当然,这恰恰是美国某些州或其他国家所禁止的事情。是因为该游戏基于瑞典,而且他们的放宽法律允许吗?


2
游戏编程宝石系列中还会有其他书籍吗?[关闭]
到目前为止,已经出版了最后一本《 Game Programming Gems》一书已经三年多了。该官方网站没有更新了,和马克·德拉网站的这个网页似乎暗示,该系列已经结束。 是否有关于此的官方声明?8号是最后一本书吗? 该游戏编程宝石是最(如果不是之一的最)重要的对我来说,可能成千上万的世界各地的开发者资源,做互联网杀了他们?


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.