Search results

  1. Immortius

    Entity Systems as a General Approach to (Simulation) Games?

    I think part of the reason that entity systems aren't taught is that outside of games or some fairly involved simulation type projects, more traditional programming paradigms are generally suitable. The Entity System approach is suitable for... large, heterogeneous environments where there are...
  2. Immortius

    Implementation gestalt-entity-system

    Another update - I've reworked gestalt-entity-system for a pipeline-based transactional framework. How this works: There is now a class called TransactionManager. It provides the functionality to begin() a transaction, and then commit() or rollback() the transaction. Under the hood it does a...
  3. Immortius

    Implementation gestalt-entity-system

    I'm sure it is solvable one way or another. I think I'll go with "this:xxxx". Given "xxxx" it will be resolved to contained entities before looking for prefabs.
  4. Immortius

    Implementation gestalt-entity-system

    That will work, as long as no one uses "internal" as a module id.
  5. Immortius

    Implementation gestalt-entity-system

    That is correct, and a fair comment. Yes, it is expected all external prefabs referenced are fully qualified. Would it be better to add a bit more syntax here, such as: "ref" : ["Prefab(core:torch)", "Prefab(torch)", "Local(journal)", "journal"] Where the first two are external prefabs...
  6. Immortius

    Request Needed texture list - let Drullkus help texture all the things!

    Looks liken the door texture is derived from the chest texture (or the other way around). Otherwise... not sure. If I made them they may be derived from the other textures we had around at the time.
  7. Immortius

    Implementation gestalt-entity-system

    Prefab support has been added now. Unlike in terasology, prefabs are now the recipes for one or more entities. This allows for better use of multiple entity structures. A fully featured entity prefab looks like this: { "inherit" : "core:parent", "root" : "person", "entities" : {...
  8. Immortius

    Adding support to extend CopyStrategyLibrary through modules

    Yeah, just add it to the white list. The deal with a white list is it only contains the things you specifically think should be allowed, which means you are likely to miss things that should be allowed. Which is better than a black list since you may allow something you forget to exclude, and...
  9. Immortius

    Design More Physics

    That is what I had in mind. The math to do that is reasonably simple - just need to worry about the (literal) edge cases, such as a trace going along the grid itself.
  10. Immortius

    Design More Physics

    Bullet (and thus jBullet) does have support for detecting collisions between non-kinematic physics bodies and other physics bodies by contact manifolds (basically collision points) as described here, which is a little convoluted to set up but I think would cover these use cases - you would send...
  11. Immortius

    Implementation gestalt-entity-system

    Another update. I have (re)introduced EntityRef and reworked the API around this. All adding/removing/obtaining components is done through entity refs, which automatically hook into the current transaction on the thread (an exception is thrown if no transaction is running). There is now no...
  12. Immortius

    Implementation gestalt-entity-system

    True. Events with triggering components is probably the once space where this could help. But... the structure used by terasology to make it efficient to do the initial filtering loses order, so the handlers have to be sorted afterwards. Which is also a cost. Any way, without metrics we're...
  13. Immortius

    Implementation gestalt-entity-system

    That is a good question. I'm leaving optimisation to the side for the moment to focus on the desired behavior, but this probably should be set to copy the component when the component is first requested, not when the entity is pulled into the transaction. Partially correctness of behavior...
  14. Immortius

    Implementation gestalt-entity-system

    I have been making some progress on the event system,which is visible in my fork of gestalt. First thing of note is that core event processing makes full use of transactions. The transaction an event is running in acts as a cache of the state of the target entity, providing all the components...
  15. Immortius

    Team Hello, world!

    That is the intent behind the system, yes - classpath module for the core code and assets, then load other modules for additional content.
  16. Immortius

    Suggested Animation assets (Animated properties sets)

    This is certainly true for the current implementation, but technically not in general. You can implement it so that you restrict which bones an animation affects, to play different animations on different bones (e.g. walk on legs hierarchy, attack on torso hierarchy), or combine animations in a...
  17. Immortius

    Implementation gestalt-entity-system

    I am not doing anything that should prevent either approach. I... am not sure about the approach itself (not sure why you would be classifying different components in that way) though.
  18. Immortius

    Team Hello, world!

    Spoke with Rostyslav in IRC. I suggested extracting nui to a tera library with anything that needs to go with it in the first instance. The issue with extracting to gestalt is the extra work involved reaching an acceptable quality level necessary for me to include it in gestalt, not only for NUI...
  19. Immortius

    Implementation gestalt-entity-system

    At this stage I'm not thinking of actually going back to Terasology to implement anything, but I feel that ideally it would go the way of everything being an entity, including worlds and chunks. Certainly those considerations are going into the entity system design. What you describe in terms of...
  20. Immortius

    Implementation gestalt-entity-system

    Hmm, I guess I'll have a think about it. Essentially it is just support for having groups of entities that are loaded and unloaded together, and to iterate entities within a group or set of groups - it would be up to the using application to decide what these groups are. And there needs to be...
Top