Ambient

Features

  • Ambient Proxy: An important part of building multiplayer projects is being able to share them with other people. Traditionally, this involves port forwarding, NAT punchthrough, running a dedicated server, and other complicated networking trickery. Ambient provides a solution to this problem: the Ambient Proxy.
  • Entities contain components, which are typed pieces of data, and these are acted upon with systems

Cons

  • Networked components are automatically synchronized to all clients, ensuring a consistent experience across all players; instead of grappling with complex networking intricacies, developers can focus on building their server and client-side logic.

  • ECS game object is a DDD Entity; an ECS Entity is a DDD Identity; an ECS Component is a DDD Domain Model; and an ECS System is a DDD Service or Aggregate Root.
    • Thoughts i.e., an "ECS game object" is the entity (which is just an ID + list of components) + the functionality and data given by components?