New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
EntityView Terminology #12
Comments
If a |
In my opinion, if you want to handle player graphic, you should not and will not use
Take a look at this image created by @sebas77 |
I'm not sure I follow you exactly, but in any case this is not directly related to my main issue. I actually want to get rid of the term "view"! So in that regard we are in agreement. I only used it's use as an example of a possible naming conflict, since it is already being used like that. However, you might not fully understand how people are actually using the term. I believe it's intended to be used as a board and very general term. You can have a look at this Entitas example use for more information. |
Hello, I called it view because it is how the engine "views" an entity. It's a view of the entity for the engine. Btw I know that what I wrote so far is still not enough to get Svelto.ECS right. I know it because our CEO wanted to write a prototype with svelto and came with several common questions that I still didn't covered well enough in my articles, but I took a lot of notes and I will talk about them on an article related too good and bad practices. I recently improved a lot the survival demo. Currently is the best resource to learn svelto and I am writing the next article around it. @IsaiahKelly sorry I wrote this answer this morning while I was still half asleep, I had to edit it multiple times :D |
Yeah I was afraid it might be too late to change, but thought there was no harm in sharing my thoughts anyway, and maybe it will still help you in other ways. Terminology has become something of an unhealthy obsession of mine recently. I think it's because I've realized it's vital in helping make systems and their APIs intuitive and easy to grasp. This seems especially important for huge paradigm shifts like from the OOP to ECS mindset. Your reasoning behind the term makes perfect sense; an If I understand this correctly, an As for editing posts multiple times, I know that feel bro! 😄 Hope you are getting proper rest. I know you are very passionate about this and I thank you for all your hard work and sharing it with the community, but sleep is vital to helping you think through and solve these issues. I know this all too well from personal experience. |
ok I didn't get at first what you meant with Provision or Criterion...they both sound so latin-rooted (well, greek as well), which is ok for me being Italian, but could scary other people :) EntityComponentsMap is something that could work as well. I came with EntityView because I try to use words from that I would use to explain the concept itself. EntityComponentsMap could be actually more logic for a coder, but it would be awkward to say everytime during a discussion :D |
Ah yes, "map" is probably the one word I was trying to think of, but could not. It is similar to "diagram", but probably much better. I also think just calling it an Then, instead of having a P. S. I'm not Italian and don't think "Provision" and "Criterion" sounds scary at all. In fact, I actually think they sound kind of awesome. 😛 |
For me, asian people, "Provision" and "Criterion" sounds scary. I'd never heard them used in coding before. :) But, what do you think about
|
I decided to keep EntityView, but in my last article I mentioned the idea of EntityMap. |
Considering Svelto.ECS 2.0 is still in development, I thought now might be a good time to offer my opinions on some of the terminology used in the framework, before anything gets set in stone.
First of all, I agree that
EntityView
is a better name thanNode
, but I still think it is very problematic. I haven't studied your source code yet and I know you plan to write more about it on your blog, but to me "view" could be easily confused with other existing concepts associated with that word.For example, the Model–view–controller (MVC) pattern uses "view" to mean components that are displayed to the user (graphics) and other ECS frameworks like Entitas refer to any visual representation (Sprites, Models) of entities as views. This all makes a lot of sense to me. There is also the issue of naming; what if I want to call my actual visual representations of entities, like Unity game objects, views? (e.g.
PlayerView
)I never looked very deep into your framework before, but I really didn't understand what a
Node
was at first. However, when I heard the termEntityView
I was immediately confused because I thought of the concepts mentioned above.I also think there are many alternative names that would work much better at representing the concept. Here are a few ideas:
I also believe Unity's new ECS is using "Archetype" for a similar system. What are your thoughts on this? Am I just not understanding the concept correctly?
The text was updated successfully, but these errors were encountered: