change some header names
This commit is contained in:
parent
f04f22a225
commit
30a5490703
1 changed files with 5 additions and 3 deletions
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
{% block article %}
|
{% block article %}
|
||||||
|
|
||||||
I've been using ECS on and off for a couple years now. I definitely haven't fully commited to it and I still have a lot to learn, but I'm really enjoying it. Learning it was a struggle though and it was hard to wrap my head around what *exactly* it was. I want to share why I decide to learn ECS, what I've learned, and what I feel it's good for.
|
I've been using ECS on and off for a couple years now. I definitely haven't fully commited to it and I still have a lot to learn, but I'm really enjoying it. Learning it was a struggle though and it was hard to wrap my head around what *exactly* it was. I want to share why I decided to learn ECS, what I've learned, and what I feel it's good for.
|
||||||
|
|
||||||
<div class="callout warning">
|
<div class="callout warning">
|
||||||
<div class="header">Note</div>
|
<div class="header">Note</div>
|
||||||
|
@ -10,7 +10,9 @@ I've been using ECS on and off for a couple years now. I definitely haven't full
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
## Theseus' Shield
|
## Theseus' Shield
|
||||||
In the context of game design and development, object oriented data modeling can feel intuitive. Players, NPCs, and Enemies can all derive from a common "Creature" class which handle things like health and damage. Weapons, armor, and consumables can derive from a common Item class which handle inventory management.
|
In the context of game design and development, object oriented data modeling can feel intuitive (at least for me). Thinking of data as things which do stuff and interact with each other makes sense.
|
||||||
|
|
||||||
|
One of the more common tools available in OOP is inheritance: the ability to inherit the behaviors of one class by extending it. Players, NPCs, and Enemies can all derive from a common "Creature" class which handle things like health and damage. Weapons, armor, and consumables can derive from a common Item class which handle inventory management.
|
||||||
|
|
||||||
Thinking exclusively in terms of hierarchal, nested patterns can come at a cost: software brittleness and inflexible design. Let's use an `Item` class as an example.
|
Thinking exclusively in terms of hierarchal, nested patterns can come at a cost: software brittleness and inflexible design. Let's use an `Item` class as an example.
|
||||||
|
|
||||||
|
@ -309,7 +311,7 @@ One thing that I've deliberately not mentioned until now: ECS is usually *very*
|
||||||
|
|
||||||
Most of the performance benefits of ECS are due to its overlap with data-oriented design concepts. One example of data-oriented design, parallel arrays, is a common implementation in many ECS frameworks. I'm *especially* not qualified to speak on this issue because I've very little exposure to the concept separate from using it via ECS in game development, so I'll let others explain it.
|
Most of the performance benefits of ECS are due to its overlap with data-oriented design concepts. One example of data-oriented design, parallel arrays, is a common implementation in many ECS frameworks. I'm *especially* not qualified to speak on this issue because I've very little exposure to the concept separate from using it via ECS in game development, so I'll let others explain it.
|
||||||
|
|
||||||
## Revisiting our design problems
|
## What comes around is all around
|
||||||
|
|
||||||
### Spiked Shield
|
### Spiked Shield
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue