Suggested TerasologyEdu Lesson Suggestion: Entity-Component-System


New Member
Name of the lesson: Entity-Component-System
Estimated length of the lesson: 1 session, an hour
Target audience: Kids (6-10)
Programming aspects taught: The Entity-Component-System architecture
Required skill: None

For introduction, I’d suggest the easiest way for students to learn the ECS (Entity-Component-System) architecture, is through a coding game. It will be a html5 browser game, where everyone could access it without any kind of special setup.

The idea of the game is to show exactly, the entity, the component, and the system as a thing in game. Instead of codes communicating with each other, students will see it directly in action in the game. For example, a tool like a pickaxe (it will be an entity), by itself it won’t do anything, then add components to it, students will see a different texture for the pickaxe, indicating that there's a component. The addition of components will allow the entity to “talk” with chat bubbles. And if there’s a system (possibly it will be an all knowing gooey ;) or something else), the system will hear the entity and will respond back with a reply, again with chat bubbles, and possibly with a command according to what was originally instructed. Then the entities instructed will do whatever command it was told.
The coding aspect of the game, is how students will assign each entity the correct component, as well assigning the system the correct commands. Students will have to think their way through the game, and encourage them to use the system efficiently. That way, the students will have a good understanding of the lesson.

From this lesson the students will learn the essentials of the Entity-Component-System architecture, and how it is used in many games. After completing the lesson, the goal is that students will have an interest in the ECS architecture, and possibly continue on exploring with terasology, which also uses the architecture.

The evaluation of this lesson is just to complete the game, nothing else.

The appeal for this lesson is how it’s simplifying a concept of code into a game with a bunch of talking things, which is interesting and fun. Kids will love how easy it is to understand something by just playing a simple coding game.
Last edited: