diff --git a/content/pong/introduction.md b/content/pong/introduction.md index 3574aef..0c22437 100644 --- a/content/pong/introduction.md +++ b/content/pong/introduction.md @@ -8,7 +8,7 @@ Everyone has played, or at least heard of, Pong. Right? Right... ![pong](/images/pong.png) -Pong was one of the first video games ever created and as such, it is extremely simple. We're introducing a lot of new concepts with Encompass and the Hyper ECS architecture, so I think it's a good choice to try re-implementing this game in Encompass as an example. +Pong was one of the first video games ever created and as such, it is extremely simple. We're introducing a lot of new concepts with Encompass and the MECS architecture, so I think it's a good choice to try re-implementing this game in Encompass as an example. We'll be developing this with the Encompass/LOVE starter pack. Go ahead and [set that up](/getting_started/case_study_love/) if you haven't already so you can follow along. And please do follow along - you can do it! diff --git a/content/why/architecture/hyper_ecs.md b/content/why/architecture/mecs.md similarity index 91% rename from content/why/architecture/hyper_ecs.md rename to content/why/architecture/mecs.md index 3562212..9ae817e 100644 --- a/content/why/architecture/hyper_ecs.md +++ b/content/why/architecture/mecs.md @@ -1,10 +1,10 @@ --- -title: "Hyper ECS" +title: "MECS" date: 2019-05-21T15:56:13-07:00 weight: 30 --- -Hyper ECS is a new architecture pattern that attempts to address some common issues with standard ECS. This is the architecture that Encompass implements. +MECS is a new architecture pattern that attempts to address some common issues with standard ECS. This is the architecture that Encompass implements. The core of the architecture is the introduction of a new construct to ECS: the **Message**. @@ -24,7 +24,7 @@ Now we have our **MotionSystem**. The MotionSystem declares that it Mutates the You might be wondering: how does the game know which order these systems need to be in? Well... -**Hyper ECS figures it out for you.** +**MECS figures it out for you.** That's right! With the power of graph theory, we can construct an order for our Systems so that any System which Sends a certain Message runs before any System that Reads the same Message. This means, when you write behavior for your game, you *never* have to specify the order in which your Systems run. You simply write code, and the Systems run in a valid order, every time, without surprising you. @@ -34,4 +34,4 @@ Systems are not allowed to create message cycles. If System A sends Message B, w The other restriction involves two separate systems which Write the same Component. They may do so, but they must declare a priority. Obviously, if we allowed Systems to Write components willy-nilly, we would introduce the possibility of two Systems changing the same component on the same frame, creating a race condition. If we have two Systems where it makes sense to change the same Component, we can either create a new Message and System to consolidate the changes, or we can declare write priority so that one System's changes always override the other's. This way we can avoid race conditions. -If you are used to programming games in an object-oriented way, you will likely find the pattern counter-intuitive at first. But once you learn to think in a Hyper ECS way, you will be shocked at how flexible and simple your programs become. +If you are used to programming games in an object-oriented way, you will likely find the pattern counter-intuitive at first. But once you learn to think in a MECS way, you will be shocked at how flexible and simple your programs become.