Lostcast 143: Hall Aboard

  • LDG

  • Patron

    A pop song popped in to my head while listening to this episode. LDG left the safe arms of their HTML5 engine to go experiment with Unity, but when times got tough, they came back. I’ll let David Cook sing the rest…

    You say you’re leaving
    As you look away
    I know there’s really nothin’ left to say
    Just know I’m here
    Whenever you need me

    I’ll wait for you
    So I’ll let you go
    I’ll set you free
    And when you see what you need to see
    When you find you
    Come back to me

    Nothing like anthropomorphizing a game engine, but there it is.

  • Speaking of testing AWL2, I’d be up for that. I’m also in So Cal in case you intend to demo it at any events. Are you guys planning to do a closed or public beta? What about Steam Early Access? That’s a tough decision to make, but it could help further grow the community around the AWL series.

    I paid for Early Access for Darkest Dungeon and The Flame in the Flood, so I’m definitely used to games with bugs that are still in development. (I do actually post feedback on Steam for those games, too. :))

    Anyway, just curious as to your plans to test and iterate on AWL2’s design.

  • LDG

    @dannagle haha! I’ve had Back to Black in my head recently, that works too! (Back to … Djinn?)

    @ceric cool – we’re definitely doing a live demo in San Francisco in December. Other than that we’ll likely do a small closed alpha on Steam, followed up by a public Early Access release. Where are you in socal?

  • Cool. Like I said, I’m a fan of Early Access, at least with the games I’ve purchased so far. I think I’ve only seen one game I’ve purchased while in EA die on the vine (Towns).

    I’m in Long Beach, so between LA and Orange County.

  • Jammer

    I don’t know if I’m the biggest fan of anything, but you guys can make a game for me. I volunteer. Me me me. Me.

    Gosh my favorite part of your guys’s podcasts is when you just go through the creative process. You guys spent some time on dungeon gen, removing entities, etc. and it is just great feeling like “Yeah I remember when I had to change how I removed entities” and “Yeah I really should do my stuff in encapsulated parts and build off of those!”, not that I do it close to as good as you guys, but it’s just awesome to feel connected with people who are like ‘in the trenches’ every day.

    Also, love the tips. Very helpful, but more than that they give me a direction to go. In my experience, after going to work, coming home and sitting down to work on your passion, sometimes it’s hard to leave your previous focus behind, and move to a new focus- but with these ‘tips’, they really allow me to direct my action in a specific area, and I thank you both for that.

    Anyway, great show guys- as usual.

    I’m sure Unity is better, I’m sure it’s more fitting for the purposes of game dev, but selfishly, I’ll admit, glad you guys are back to html5.

  • Jammer

    Still part way through the episode, I just want to talk about platforms. I hear you on the fact that steam is a bit less competitive on numbers, but I feel like the production quality and amount of effort especially for one guy is vastly higher. There’s still room on mobile for me to make small games that are super polished, niche, and can get some interest. The tricky part is marketing it, and getting it seen at all. I like the idea of making some smaller games for a while, maybe port some to steam if i think it makes sense to do so.

    I do want to release games on steam at some point, I want to get back to that stealth prototype, see what I can turn it into. It’s definitely a bigger, daunting project that I have planned for it, therefore i need to keep leveling up to pull it off :)

  • Jammer

    Okay quick talk about the decorator pattern, possible tiger hat warning

    I’d argue it’s different from an entity component in the sense of how it’s used by external APIs. To my knowledge, in Unity when you have a GameObject on the scene, it goes through the list of components, and executes those directly. They will then update the target model accordingly. So with ECS i believe the game object or top level component contains a collection of components to work with that object. A decorator object you talk to directly, and it talks to a single entity that it wraps around.

    You tell a decorator, you ask an entity for its components.

  • Tiger Hat

    If you’re digging into game patterns have you had a look at http://gameprogrammingpatterns.com/contents.html ? It’s a great overview of some ideas.

    Also, @richtaur , you speak a lot about your art as a static thing, I’m wondering how much of your practice goes into motion? Have you done much practice on things like walk-cycles, secondary motion, or bringing inanimate objects to live (typically a grain sack)? Convincing animation will bring even crappy art to life, if you want proof, check out Nidhogg - Atari 2600 graphics come to life with silky smooth animation.

    Along those lines, check out http://the12principles.tumblr.com/ you’ve talked a bit about some of these in relation to tweening, but there’s real 100 year old animation science there too.

  • Tiger Hat

    I think that the decorator pattern differs from ECS similarly to how @agmcleod was saying. I see how you could fall into the trap of thinking they are the same, because you are adding components to an Entity like a christmas tree. (decorating) However, unlike a christmas tree, there is no “undecorator” pattern. So the ability to remove components doesn’t really fit anymore (tho that is something that ECS needs).

    I think another thing about decorator that is confusing is that javascript objects just let you “mixin” anything you want already. So in that sense good ol’ _.extend is kinda like a decorator.

    Interestingly, for ES2016 (ES7) decorators are on the table, and the proposal I think describes a way to help with the distinction: that decorators are applied at design time vs run time. decorators proposal I really like this version, which gives you annotations, and would allow you to “compose” your classes in the source before you ever new one up.

    @components(['health', 'armor', 'combatAI'])
    class GoblinTemplate extends Entity { }
    var goblin = new GoblinTemplate();


    function goblinDecorator(entity) {
        entity.addComponents(['health', 'armor', 'combatAI']);
        return entity;
    var goblin = goblinDecorator(new Entity());
    // or maybe you break it down further like:
    var goblin = goblinDecorator(new Entity());
    colorDecorator(goblin, 'green');
    // etc...

    Oh and speaking of refactoring, you’re using ES6 at least now right? :D The latest node.js supports quite a bit of it out of the box. Babel or TypeScript would be awesome too.

    I’m the same way with branches and refactors, I call them “rabbit holes” if I happen to actually emerge with the solution in hand, then I push to master. Otherwise that madness stays on the shelf until I get that itch to try to catch that rabbit again.

  • Tiger Hat

    Have you guys seen this 3D drawing art style?

Log in to reply