对于我最新的游戏项目Frozzen,我想探索一下使用Angular构建的外部UI如何用于基于浏览器的游戏。 由于Angular是用Typescript编写的,因此理想情况下游戏也应该使用Typescript。

过去,我曾经将Artemis ODB用作基于Java的游戏的框架,并且非常喜欢它。 那里有大量的文章(例如关于T = Machine的经典文章)都对Entity-Systems进行了更好的介绍,但是我认为它们特别适合Javascript / Typescript开发。
如果您将逻辑严格划分为系统,将数据严格划分为组件,则有一种非常自然的方法可以序列化组件,即JSON。 整个级别可以表示为用于设置组件的JSON数据数组。 这就是为什么我更喜欢像artemis这样非常基本但严格的实现,而不是类似PhaserJS这样的框架的原因。

我从artemists开始了我的开发工作,artemists是darkoverlordofdata的Artemis Typescript移植。 不幸的是,该代码有些过时,并且不使用导入/导出,并且不能直接导入较新的Typescript版本(因为它扩展了内置数组)。
在darkoverlordofdata的许可下,我仅对代码的Typescript部分进行了快速更新,增加了导入/导出支持并修复了较新Typescript版本的构建。 您可以在此处找到更新的版本 。 如果您正在寻找该框架的实际应用示例,则可以 在此处 扮演Frozzen的示例级别 。