我想知道是否有人可以告诉我游戏和游戏引擎是如何适应游戏开发的。具体来说,我的意思是,游戏引擎实际上并没有游戏。所以我基本上不清楚的是,游戏开发人员是否构建了一个引擎,然后创建了一个继承自engine的新类,然后成为游戏?
例如:
class ShooterGame : public Engine
{
};所以基本上我不清楚游戏代码在引擎中的位置。
发布于 2011-02-13 08:09:43
游戏和实际的游戏引擎之间的区别是架构上的。游戏逻辑是特定于一个游戏的,而游戏引擎是可以重用的东西。就像操作系统为应用程序提供实用程序一样,游戏引擎也为游戏代码做同样的事情。
游戏引擎通常会有不同的API用于:
使用照明、粒子效果或凹凸mapping
大多数游戏开发人员不会编写自己的游戏引擎。这将是太多的工作。取而代之的是,他们将重用他们公司拥有或授权的游戏引擎。对于第一人称射击游戏,id Software和虚幻是两个流行的选择。
一旦他们有了引擎,他们就必须开始编写代码来制作他们的游戏。这是使用游戏引擎提供的API完成的。例如,Valve让开发人员使用C++。如果你想要一个怪物,你可以从实体类中扩展出来,并定义这个怪物在基类中的行为。
我建议您通读各个游戏引擎提供商提供的文档和教程。请记住,一些游戏被归类为"mods“,而另一些则被归类为”总转换“。通常,mod不会改变游戏引擎,并且总转换可以向游戏引擎添加或移除重要特征。
以下是我推荐的几个来源:
发布于 2012-12-12 14:46:38
实际上,我分不清引擎和框架的区别。只是两个不同的名字。
真正奇怪的是,游戏引擎都是关于客户端的,看起来你不需要服务器框架,而纯粹的socket就足够了。
但事实并非如此,至少应该有一些像rails或django这样的框架来简化您的服务器开发。看不到游戏服务器在可伸缩性、广播性等方面比web开发更难。
有一个商业解决方案叫做smartfox服务器,还有一个新的开源解决方案叫做pomelo framework,我都试过了,pomelo要好得多。pomelo.netease.com是它的家。
发布于 2011-04-18 17:00:59
它还取决于引擎的“级别”。我的意思是,引擎是从某个游戏风格中抽象出来的。可能会有一些小东西,比如专注于FPS的发动机,可能会为你高速飞行的室内区域和室外区域进行优化。因此,即使引擎可能没有锁定到游戏,某些游戏类型将更容易实现某些引擎。
但如上所述,游戏不会继承引擎,它更可能会利用它的功能,而你可能会将组件附加到它现有的组件上。或者展开作为引擎一部分的组件。
class CoolDiscoLight : public Engine::Light
{
};
...
//and somewhere in the source
"CoolDiscoLight cdl = new CoolDiscoLight etc..."
EngineInstance.AddLight(cdl);
...更可能的事实是,只要从light扩展并重载正确的函数,light就可以通过关卡编辑器等访问,因此您根本不会通过源代码创建它们。
https://stackoverflow.com/questions/4981370
复制相似问题