Lostcast 160: Dueling Tooling


  • LDG


  • Jammer

    Alright! My drive home just got exponentially better!


  • Tiger Hat

    Tooling! Looking forward to this one!


  • Patron

    Nice episode! I love hearing about tools! Particularly ones that have been battle-hardened.

    Your thoughts on Electron having more energy behind it versus NWJS matches my thoughts about it. GitHub seems very committed to Atom versus NWJS is probably just someone’s pet project. However, you hinted that you actually ran benchmarks and played with it some. I’d like to know more.

    Perhaps this could be saved for Episode 161? I’d really like a deep dive of Electron.

    • You said faster. How much is the speed improvement? Is it just a few percentages? How about when the rubber actually hits the <canvas> tag?

    • Pros/Cons versus the architecture of NWJS?

    • Is AWL2 going Electron?

    • Do you know of any Electron-based games that have made it to Steam? Are the support libraries there? That seems like the type of thing you don’t want to homebrew if possible.

    • Lava Blade got a mention! Is Lava Blade 2 on @richtaur’s big list of “Games I really want to make”? :-)


  • Tiger Hat

    You could update save data locally, you would have to introduce the notion of upgrade tasks.

    I’m sure you would have used something similar doing webdev:

    • Store key/value of the current version.
    • Every time you upgrade code, include a new version number.
    • Every time you start your application, check if they match, and if not, run any patch tasks that exist between the two version numbers.
    • Save the new version number in your K/V pair.

    Now you can migrate the database by including a stub version of AWL that can read and serialize the database. Save it to sqlite, or JSON.

    Pull it into the new system.


  • Patron

    @dannagle said:

    • Lava Blade 2

    KICKSTARTEEEEEEER!


  • LDG

    @dannagle said:

    • Lava Blade got a mention! Is Lava Blade 2 on @richtaur’s big list of “Games I really want to make”? :-)

    Thanks Dan! That big list is shrinking over time, and these days when I think about Lava Blade I see no strange attractor and a really hard game to market. I do really want to make another turn-based strategy game but we might have to redesign from the ground up with something unique baked in from the get-go.

    … I do have an idea ;)


  • Jammer

    Awesome cast guys! Thanks for answering those questions. I remember when I first heard the behavior trees episode, I read the article written by zomboy or whatever that guys name was, and really thought that this was the way to do AI, and if I couldn’t do it than I wasn’t ready to make games.

    Same with the doll animation tool. I thought that if I didn’t use one, or something like it, it was a preposterous notion that I’d ever be able to make the art for a game alone.

    So yeah all this was really great to hear. It really brought some closure to some of the many things I’ve had floating around in my head from the various casts.

    So as always, thanks!

    Looking forward to todays alpha vid! :D


  • Tiger Hat

    still not finished listening, but any time you guys bring up Djinn I feel like I have to suggest to you again, open source it!

    some of us like to tinker, some of us might actually try making games, if you let us play around, then it might actually save you from having to spend your energy fixing a bug or adding a feature, let the community do it for you! :)

    I don’t think you really need to support it much more than the other repos you have on github, at least any more than support you want to provide.

    </back to listening>


  • Tiger Hat

    @Warspawn said:

    still not finished listening, but any time you guys bring up Djinn I feel like I have to suggest to you again, open source it!

    Yep.

    I, for one, want to port it to Unity3D.


  • Patron

    @richtaur said:

    when I think about Lava Blade I see no strange attractor and a really hard game to market.

    Raga Blade? (Like Nintendo/Square’s Mario RPG)

    RPGs require a lot of design, but they have a lot of fans.


  • Jammer

    Well, why not use an infinite state machine?

    Oh just so well played there Matt.


  • Jammer

    Here’s my notes while listening, sorry for being longish :).

    ECS

    • Inheritance, as noted in my separate thread I still use it for certain things. So i might describe a base class for an entity to have some helper methods around the transform component
    • I keep my components with as minimal methods as possible. Mostly try to keep them as structs rather than traditional objects.
    • I do like how unity has the concept of the ECS dictate scene hierarchy. In libgdx the scene graph & ECS are two separate things. I think definition wise that is the correct way to do it. But, it’s nice to have an entity and know what its parent is without having to have a direct reference to it’s scene actor. The fact that an entity can contain children is something I’m considering with a redesign for MelonJS.

    Behaviour Trees

    I can understand where you’re coming from on not going full into this Geoff. It can be daunting, and when you have good AI code already, why switch up?

    When I was last working on my stealth prototype I was switching to using behaviour trees & built in stuff with Gdx AI. My own AI code worked fine for a lot of the basic stuff i was doing, but I was thinking that making a good AI system, I should probably leverage better tools that already exist. Gdx ai provides things like steering, pathfinding, etc. But yeah it’s definitely taking a significant refactor to use it, and presently my branch that does it is broken XD

    Skeletal animation

    I love it so much, but I have yet to use it for any projects really. It takes too much time for 48 hour game jams. I can churn out some okay animation in frame by frame. I like the idea that you can generate your tweens with a visual tool.

    You mentioned Matt that the bats just have separate wings that simply tween position in code, that’s a pretty good way of doing it actually. However, how do you animate characters like Raga? I know you said raga is probably the more painful character to do. But is his walking animation frame by frame? I doubt it would be practical to code out doll animations for him with separate image pieces.

    Quad Tree

    Yeah it’s pretty cool, but I always think “WHAT THE F AM I READING” when i look at the quad tree inside melonjs. Which is funny, as I actually fixed nested object collisions by leveraging the quad tree. C is inside B, A is sibling of B. A doesnt collide with C because of relative positioning. It’s very useful, and we’re trying to leverage it more for click detection and such, which we unfortunately have some bugs with at the moment :(

    Sorry for rambling, but i love the discussion you guys have, and wanted to give my 2c.


  • LDG

    @agmcleod said:

    You mentioned Matt that the bats just have separate wings that simply tween position in code, that’s a pretty good way of doing it actually. However, how do you animate characters like Raga? I know you said raga is probably the more painful character to do. But is his walking animation frame by frame? I doubt it would be practical to code out doll animations for him with separate image pieces.

    Hand-drawn frames!

    Raga sheet

    Raga especially is such a complicated thing visually that it’d be pretty difficult to make him a doll, especially given his octagonal facing. The one thing we considered doing is giving him separate body/head parts, so we could have him running one direction and attacking in another – really glad I never spent time on that since we ditched the twin-stick mechanics ;)

    Sorry for rambling, but i love the discussion you guys have, and wanted to give my 2c.

    Not at all, keep 'em coming!


  • Tiger Hat

    if you haven’t read more about Amazon Lumberjack yet, it’s especially interesting because it’s AAA quality like Unreal and Unity, however, there are no licensing or royalty fees. Amazon plans to monetize it solely off the AWS integration which I believe is really just for online multiplayer.

    I’m not sure if it’s required for multiplayer, I’d guess that it’s not.

    It will be interesting to see how this develops, and if you’ll be able to buy assets on the amazon marketplace. (something that would actually be awesome as prolly the number 1 gift card I receive is amazon, so I can never spend my xmas money on game dev assets :) )


  • Tiger Hat

    @Warspawn said:

    I’m not sure if it’s required for multiplayer, I’d guess that it’s not.

    I don’t know how you’d even restrict that.

    I haven’t played with it yet, because it’s massive, and (apparently) breaks if you don’t put it in the right place, which seems to be the C drive, where I don’t have room to play, because SSDs are expensive.


  • LDG

    It was pretty surprising to see a game engine from Amazon of all places, but they have been moving into games, esp with dat Twitch purchase. That’s an uphill battle tho man, I sure wouldn’t want to compete with Unity and Unreal, not to mention the dozens of others that have had more time to mature.



  • Late post (going through my lostcast backlog :) )

    VSCode from Microsoft is also based on Electron, just giving Electron even more weight as more big companies rely on it.

    Have you tried VSCode for JS dev? I’m using it for JS dev now and I really like it. Seems faster than Atom and has nicer code-completion than Sublime (and is properly free). I miss tabs tho, not too keen on how VS lists open files.


  • LDG

    @nixeldev said:

    Late post (going through my lostcast backlog :) )

    Welcome to the forum :) Thanks for joining us.

    I haven’t tried any code editor except Vim since something like 2004, and I’m about as likely to change as I am to spontaneously combust. Geoff uses Sublime Text however I think he likes change more and is kind of always on the lookout for the best software for the job.



  • Ah, I go in and out of vim phases… sometimes I need to feel elite and I’ll crack it open, though I find what I gain in efficiency for some tasks I lose in others. I have non-modal editing firmly in my muscle memory now :|

    Thanks for the welcome. Been listening to Lostcast for nearly 3 years now. Myself and my business partner both went indie (after working for larger game companies for years) about the same time you guys did, so it’s refreshing listening to developers sharing our pain ;)


  • Tiger Hat

    @nixeldev said:

    Seems faster than Atom

    Not a great comparison, Atom is way slower than it should be - particularly at scale.

    and is properly free

    Some would argue that it should be open source to be “properly” free. Don’t rip on Sublime for costing money, I bought a license 6 years ago that’s still serving me well :D


Log in to reply