Entitas 一 介绍

介绍

嗨 👋,

我叫 Maxim,是一名软件开发者。我在 2012 年末在柏林的休闲游戏工作室 Wooga 工作时,偶然间接触到了 ECS(Entity Component System,实体组件系统)和 Entitas(ECS 的实现)。从那时起,我帮助改进并将 Entitas 移植到不同的编程语言,并且自己用它构建了一些游戏和应用程序。

坦白地说,写这本书不是我的想法。Entitas-CSharp 社区的热心人推动我朝这个方向前进,并承诺在这个过程中提供帮助。因为这是我写的第一章,所以希望在这个过程中仍然能得到一些帮助 😀。

这本书适合谁?

这本书将涵盖 ECS 的概念,以及这些概念在 Entitas 中是如何实现的。我们会介绍构建开发 Entitas 时所使用的工具。最后但并非最不重要的,还会提供使用 Entitas 构建游戏和应用程序的示例。

  • 如果你是一个 ECS 新手,想要理解 ECS 是什么?这本书适合你。
  • 如果你了解 ECS,但更想了解如何使用 Entitas 构建软件?这本书适合你。
  • 如果你熟悉 Entitas,想要浏览关于如何在不同的用例中应用它的想法?这本书适合你。
  • 如果你已经熟悉 Entitas,并且想要为其构建一些工具,以使你的生活更加轻松?这本书适合你。
  • 如果你想将 Entitas 移植到另一种编程语言?这本书适合你。
  • 如果你认为 Entitas 不好,想要实现自己的 ECS 框架?甚至在这种情况下,这本书也适合你!

书的结构

这本书将分为三个主要部分:

1. 原材料

这个部分将包含 ECS 的概念以及它们在 Entitas-CSharp 中的实现。由于书的创意起源于 Entitas-CSharp 社区,代码示例将以 C# 为主。但我可能会添加一些关于如何在 Entitas 家族的其他成员中实现相同概念的边注。

2. 设备

设备是我们实施以处理原材料的工具。我将介绍已经建立的工具,但也会提供一些已经在早期开发阶段或者只是我在过去五年多里产生或听到的想法,这些想法可能很酷。也许其中一些想法会激发你来实现它们,或者产生更酷的想法。

3. 食谱

这个部分将涵盖现实世界中的问题,以及如何使用 Entitas 来解决这些问题。在这里,你将学习如何使用原材料和设备制作美味的菜肴。这个部分可能会有最多的章节,并且将是一个持续不断的工作。我们还将对食谱进行评分,并确定这个食谱的好坏程度。

为什么我应该关心 ECS?

实体组件系统是一个简单的模式,它有一个核心原则:状态与行为的分离。这个核心原则经常是人们所谓的 面向数据设计 的前奏。这导致了 机械同理心 的思想,你需要具备这种思维,才能进行硬核的性能优化。

然而,这并不是五年前吸引我注意的地方。我发现的有趣之处在于能够组合事物。在 ECS 中,你正在组合状态和行为。你的应用程序设计成为一组乐高积木,你可以将它们拼凑在一起。如果某些东西缺失了,你可以轻松地创建一个专用的积木来填补空缺。这种方法帮助你进行即兴创作。它使你能够以 “是的,还有…” 的方式来实现软件。是的,这个东西是一辆车 而且 如果我们收集了特殊的强化道具,它还可以飞行。是的,这个应用程序将其所有数据都存储在磁盘上 而且 它还可以与服务器同步,实时显示 UI 的变化,用户无需点击按钮。

有句谚语说:"除了死亡和税收,没有什么是确定的。"我敢大胆地说 - 变化 和死亡、税收一样肯定。尤其是当涉及软件和游戏开发时。为了获得最佳的用户体验,我们需要能够进行即兴创作和尝试。这正是我发现 ECS 如此有用的地方。它帮助我构建 生产质量的快速原型,并且在生产中保持 原型开发。我还发现这个系统思维如何帮助我以最简单的方式对复杂问题建模和解决问题,并将其集成到现有解决方案之上,实在是令人着迷。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值