{"action":"created","issue":{"url":"https://api.github.com/repos/okamstudio/godot/issues/2311","labels_url":"https://api.github.com/repos/okamstudio/godot/issues/2311/labels{/name}","comments_url":"https://api.github.com/repos/okamstudio/godot/issues/2311/comments","events_url":"https://api.github.com/repos/okamstudio/godot/issues/2311/events","html_url":"https://github.com/okamstudio/godot/issues/2311","id":97633847,"number":2311,"title":"[suggestion] AshelyCPP for game entities","user":{"login":"trollworkout","id":6987027,"avatar_url":"https://avatars.githubusercontent.com/u/6987027?v=3","gravatar_id":"","url":"https://api.github.com/users/trollworkout","html_url":"https://github.com/trollworkout","followers_url":"https://api.github.com/users/trollworkout/followers","following_url":"https://api.github.com/users/trollworkout/following{/other_user}","gists_url":"https://api.github.com/users/trollworkout/gists{/gist_id}","starred_url":"https://api.github.com/users/trollworkout/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/trollworkout/subscriptions","organizations_url":"https://api.github.com/users/trollworkout/orgs","repos_url":"https://api.github.com/users/trollworkout/repos","events_url":"https://api.github.com/users/trollworkout/events{/privacy}","received_events_url":"https://api.github.com/users/trollworkout/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":21,"created_at":"2015-07-28T07:17:32Z","updated_at":"2015-08-06T01:08:44Z","closed_at":null,"body":"Hey everyone. \r\n\r\nWhile using LibGDX I have played around with a very unique and simple entity framework called Ashley. It makes adding entities to the game much more simple and straightforward.  See here https://github.com/libgdx/ashley and here https://github.com/libgdx/ashley/wiki/Framework-overview and here as well https://github.com/libgdx/ashley/wiki/How-to-use-Ashley\r\n\r\nI find Ashley fits very  well with Godot's modular approach. Ashley makes it easier to add actors and items (objects) to the game. \r\n\r\nThere is a port of Ashley for C++ here https://github.com/SgtCoDFish/AshleyCPP \r\n\r\nWould be nice to add AshleyCPP into Godot. You could add an Ashley class to Godot and make it usable from GDScript.  The normal way is to code each unit individually but with Ashley you only code unique properties (called components) and assign those properties to an entity. You could even add an Entity node in the engine that you can tag it with properties you defined.  You can also update properties dynamically making all affected entities update as well rather than iterating trough entities. You get much more control and more streamlined code. You can also create entity families like races, factions, classes etc. \r\n\r\nI guess I'm thinking this more of a plugin than a core feature. "},"comment":{"url":"https://api.github.com/repos/okamstudio/godot/issues/comments/128198901","html_url":"https://github.com/okamstudio/godot/issues/2311#issuecomment-128198901","issue_url":"https://api.github.com/repos/okamstudio/godot/issues/2311","id":128198901,"user":{"login":"OvermindDL1","id":401605,"avatar_url":"https://avatars.githubusercontent.com/u/401605?v=3","gravatar_id":"","url":"https://api.github.com/users/OvermindDL1","html_url":"https://github.com/OvermindDL1","followers_url":"https://api.github.com/users/OvermindDL1/followers","following_url":"https://api.github.com/users/OvermindDL1/following{/other_user}","gists_url":"https://api.github.com/users/OvermindDL1/gists{/gist_id}","starred_url":"https://api.github.com/users/OvermindDL1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OvermindDL1/subscriptions","organizations_url":"https://api.github.com/users/OvermindDL1/orgs","repos_url":"https://api.github.com/users/OvermindDL1/repos","events_url":"https://api.github.com/users/OvermindDL1/events{/privacy}","received_events_url":"https://api.github.com/users/OvermindDL1/received_events","type":"User","site_admin":false},"created_at":"2015-08-06T01:08:44Z","updated_at":"2015-08-06T01:08:44Z","body":"Not my game, I tend to use raw ogl in C++ myself, this is for a few people who are not versed in programming.  That does not seem like a gdscript issue though, rather that issue seemed to be inefficiencies in how messages are handled, especially in regards to input it seemed."}}