nancygold's Journal
 
[Most Recent Entries] [Calendar View] [Friends View]

Thursday, April 4th, 2024

    Time Event
    2:10a
    C99 based ECS framework
    They implemented a nice a declarative scene-description language:
    https://www.flecs.dev/explorer/?local=true&wasm=https://www.flecs.dev/explorer/playground.js

    Apparently they integrated it with Unreal engine, which still uses a rigid mess of classes.

    Still pretty much a standard ECS implementation.

    My personal ECS implementation serves as a drop in replacement for the class-based OOP I had before it grew out of hand. So my ECS allows getting away without creating a components hell while allowing working with entities as nice black-boxed objects. To design entities I either map on top of a classic class inheritance hierarchy or section a single class into parts. And systems are just the triggers invoked every second/turn/step/action-type based of the component presence.

    That is because I designed my ECS as a way to build objects bottom up. I.e. I describe what object is, and then system tries to fill in the gaps, allowing me to get in where it fails. I.e. a write "Cyclops is a heavy large strong humanoid", and the system tries to match a set of sounds and behaviors adequate for a humanoid, which is heavy, large and strong. Same way a heavy entity is expected to break fragile objects, like say thin ice. That is kinda important for a tactics game, based of original XCOM.

    But yeah, the idea is always the same: one codes components, models the world using these components and then just presses the `run` button to start the game. But I dislike the declarative ways, so it makes sense to expose entities as actual objects, which I can manipulate directly in impure ways outside of your haskell-style monadic systems



    Current Mood: contemplative

    << Previous Day 2024/04/04
    [Calendar]
    Next Day >>

About LJ.Rossia.org