1
18
发动机的主题或市场。如果你做的不仅仅是基本的图形引擎,你会想要专注于你的引擎市场,比如RPG,战略,拼图,平台,动作,或者FPS(好的,不是FPS)。 这将有助于您将自己指向所需的方向,以便在不询问我们的情况下对发动机进行进一步增强。一个引擎,比如说,虚拟引擎,可以做很多事情,但是它最擅长的是它为FPS游戏所做的。同样,您应该调整您的引擎,使其适合特定的感兴趣的领域,因此是为这种类型的游戏而选择的。 你可以把它概括到一点上,但是你要意识到你的引擎越通用,它就越难编程,无论是时间上的还是技术上的。如果有更具体的平台可用,其他程序员也不太可能使用通用引擎(除非仅此而已)。或者只写他们自己的,因为修改一个通用引擎和创建自己的引擎一样困难。 |
2
57
你以一种颠倒的方式接近它。 您的发动机应具备以下功能: 你第一场和第二场比赛的所有代码都很常见。 首先,写一个游戏。不要写引擎,因为,正如你发现的,你不知道它应该包含什么,或者应该如何设计。改为写一个游戏。 一旦你玩了游戏,写下 另一个 游戏。然后,完成后,检查第二个游戏的代码。第一场比赛中有多少是重复使用的? 任何被重用的东西都应该被重构成一个单独的项目。那个项目现在是你的游戏引擎。 这并不意味着你不应该计划,或者不应该尝试编写好的代码。但要确保您正在努力实现一些具体的东西,在这些东西中,您可以区分好的实现和坏的实现。一个好的游戏实现,是一个有效的,有趣的,不会崩溃。先编写代码来实现这些目标。 引擎的良好实现?这更棘手。渲染器的良好实现是什么?人工智能框架?粒子系统的?最终,唯一确定你是否有一个好的引擎的方法就是看它工作得有多好。 在实际游戏中 . 所以如果你没有游戏,你就没有办法评估你的引擎。如果你没有办法评估你的引擎,你就没有办法判断你写的代码是否真的有用。 |
3
12
还有一些事情:
|
4
6
一对夫妇的想法:
|
5
5
我认为你涵盖了2D引擎的一般要求。我唯一会错过的就是:
同时,为了使开发过程更容易:
您还可以在XNA现有内容的基础上添加另一层:
最后,您可以添加一些“ready2use”明暗器。也许从中断的 FaceWound (来自“加里的mod”开发者)。 |
6
2
这取决于游戏,但另一个经常需要的是一个好的网络框架。 许多现代游戏,包括二维游戏,似乎都有某种形式的网络。 |
7
1
3D加速应该在2D引擎中。 使用现在大多数人拥有的3D硬件是让你的2D游戏获得惊人性能的最好方法… |
8
1
良好的碰撞检测非常有用。如果您有效地实现了它,它确实会减少每帧所需的时间。除此之外,在我的引擎(PyGame)中,我有一种方法将主屏幕分为多个子屏幕,我觉得这很有用。 |
9
1
简单的PixelPerfect碰撞检测。不是法瑟物理学。简单的绘图程序,如绘制线、绘制圆等。 |
10
1
还有一件好事就是做一些游戏,然后你会很快看到你在每一个游戏中重复做的事情,然后研究如何把它输入引擎。 |
11
1
|
12
1
干得好, 实际上,我们(我和我的一些朋友)也在开发游戏引擎, 我们已经了解了你提到的所有内容,而且我们还有以下内容。
祝你好运: |
13
0
平铺重复工具。允许用户添加/创建瓷砖,并操作边缘以获得平滑的重复图案的功能。 |
14
0
根据目标游戏类型,包括带有节点和边缘注释的导航图。(适用于许多游戏,但不适用于使用二维图形引擎制作的令牌侧滚动条)
这其中的陷阱是,您必须定义引擎的“映射”是什么,这可能会限制引擎的用户。 相关事项:
|
15
0
最重要的是,要包括最有用的工具是容易使用您的引擎。也许用你的引擎来创建工具。我相信你会发现很多这样的缺陷。 |
16
0
嗯。这个列表是一个“内部”列表。做一个好的引擎就是做一个好的“外部”列表。 举个例子,看看UE3——它之所以出现在这里,是因为它有很好的工具。您需要工具来创建世界,创建最佳的资源包(它也应该在内部列表中;-)用于冲突对象规范等。 加上 Organiccat answer 你应该决定技术水平。您可以选择简单的精灵,也可以选择奇特的效果(因此需要着色,使用它需要基础设施) |
Robert King · Unity C#语法问题-转换位置 1 年前 |
JBryanB · 如何从基本抽象类访问类属性 1 年前 |
law · 检查答案按钮的输入字符串格式不正确 2 年前 |
i_sniff_ket · 在unity之外使用unity类 2 年前 |