#rust-gamedev

/

      • mhack joined the channel
      • meh joined the channel
      • rolice has quit
      • mhack_ joined the channel
      • mhack has quit
      • ytain joined the channel
      • rolice joined the channel
      • raingloom joined the channel
      • unknown__ has quit
      • lislis joined the channel
      • lislis has quit
      • refold has quit
      • refold joined the channel
      • mhack_ has quit
      • TechnoCrunch has quit
      • jbradberry joined the channel
      • kampffrosch has quit
      • Aaronepower joined the channel
      • kampffrosch joined the channel
      • rolice has quit
      • warmwaffles joined the channel
      • Fishrock123 joined the channel
      • Icefoz
        Layl: Oooh, thanks. That looks interesting.
      • Layl
        Icefoz: made by the Night in the Woods devs, based on Twine, it's pretty interesting
      • nical
        "maxPendingFrameCount = 0 actually means, max pending FrameCount is one, because of current implementation."
      • oh, off you go then
      • what could go wrong
      • Icefoz
        Never heard of Twine but this looks great.
      • Layl
        it's an interactive story engine built around visual scripting
      • rolice joined the channel
      • Icefoz
        Need to play Night In The Woods sometime.
      • raingloom has quit
      • projektir has quit
      • Hmmmm, I don't see a way to set or check flags there...
      • agmcleod joined the channel
      • projektir joined the channel
      • Jesin has quit
      • Jesin joined the channel
      • wow Twine is frustrating
      • Yarn is nicer for what it does.
      • But its export format doesn't actually give you any information, you have to parse the text for triggers and node connections yourself.
      • niconii has quit
      • agmcleod
        oh damn
      • i messed around with it at some point, but couldnt figure it out all that well
      • i know for a game jam when i did some dialogue flows, i just converted the csv the designer wrote into a json format
      • worked with an audio friend of mine who did the music, sfx, and focused on the overall content of the game
      • Icefoz
        Well it's great if you have an interpreter for the format, which they also have: https://github.com/thesecretlab/YarnSpinner
      • agmcleod
        C# too
      • Icefoz
        Yeah.
      • If I was making a unity game this'd solve all my problems.
      • agmcleod
        haha
      • is the format well documented so you could write your own, or just setup a bunch of hard types with serde deserialize?
      • Icefoz
        As it is, it's expanding the scope of my problems in fascinating ways.
      • It's well documented.
      • agmcleod
        so was digging into specs docs a bit last night, after you suggested using the entity id. i have no idea how to fetch by id in the system anymore. I think i saw an unsafe function somewhere. But i'd prefer to not use that if i can
      • porky11 joined the channel
      • Icefoz
        Might well have changed since I last used it.
      • agmcleod
        yeah some changes came in 0.9
      • nicer API i find
      • Icefoz
        Though it looks like the specs::Entity type still exists... hmm.
      • agmcleod
        your system implementing the system trait defines a type
      • this type contains one or more types that impl: https://docs.rs/specs/0.9.2/specs/trait.SystemD...
      • type SystemData = (WriteStorage<'a, Pos>, ReadStorage<'a, Vel>); for example
      • Icefoz
        You might well be able to just create a Join on the Entity type to access them... hmm.
      • agmcleod
        hmm
      • i think the join() is more around an entity that contains all components you ask for right?
      • in my case, im trying to access the player + transform, when im accessing highlight_tile + transform
      • so two different entities
      • Icefoz
        join() creates an iterator that iterates over all entities that have the components you ask for
      • One of the things you can ask for is, I believe, specs::Entity
      • And then you can get the Storage for a given component from the World
      • and it has a get() method that takes an Entity.
      • (whew)
      • So I'm not sure this is the BEST way.