Episodes

  • Rust, Bevy game engine, and Data-Oriented Design
    Sep 16 2020

    Summary

    Rob is learning Rust, and feels like he's total beginner again. Rust's concept of ownership and its handling of strings are just different than any other language he has worked with, but JD ensures him that this is how everyone feels when starting with Rust...

    JD spent the last week working on their game, starting with rewriting everything. He explored using a game engine instead of React for the visualization, and really likes the approach. He set up the new game engine Bevy, and hacked around to integrate it with a gRPC API. One problem he didn't anticipate is that querying state in the game can only happen during the game's core loop. Running at 60Hz, this means any API request takes at least 16ms. 😫 This will require some research in the future...

    Diving deeper and deeper into game design and development, JD is amazed and inspired by the experience of the community. Looking specifically at user experience and Data-Oriented Design. For anyone who's interested in this, here are a few talks JD watched this week:

    - Understanding Data-Oriented Design for Entity-Component-Systems (Unity at GDC '19)
    - Building a Data-Oriented Future - Mike Acton

    And here are the two blog posts mentioned in the episode:

    - Introducing Bevy
    - Specs and Legion, two very different approaches to ECS

    Sorry for the audio quality in this episode. We had a small technical glitch and lost one of the high-quality recordings.

    Stay in touch

    Website: https://www.devnlife.com
    Jan David: https://twitter.com/0x6a64
    Rob: https://twitter.com/RobPando

    Show More Show Less
    34 mins
  • Open Source, Community, and Monetization
    Sep 9 2020

    Summary

    Rob is back home after a stressful trip to renew a passport. For JD it was the first week after his vacation, and he had to readjust to work again. He also wanted to shape some work after their discussion in the last episode, but didn't manage to get as far as he hoped. JD wonders if it makes more sense to focus on game development, or invest equally in building up a community around the project. Rob's concerned that someone might steal their work, and is not too enthusiastic about the idea of open source. The two start a long discussion around this, diving into the pros and cons of open source, the difficulties of monetization, and their fears and concerns regarding the success of the project.

    Stay in touch

    Website: https://www.devnlife.com
    Jan David: https://twitter.com/0x6a64
    Rob: https://twitter.com/RobPando

    Show More Show Less
    35 mins
  • Rust, Singleplayer vs. Multiplayer, and a First Sprint
    Sep 2 2020

    Summary

    Rob and JD catch up after their last episode on Shape Up. Rob has been studying game engines, and bought a Rust course. JD just watch the talk Bending the Curve from RustConf, in which Esteban Kuber talks about the difficulty teaching Rust to experienced programmers, and shares how it is necessary to unlearn certain assumptions from other programming languages.

    JD has been thinking a lot about how to really start the project he wants to do with Rob. Both are freaking out a little bit given the complexity of the goal they set themselves. JD expects a lot of research ahead of them, while Rob fears that this might demotivate him. The two discuss ways how to reduce the risk, and get to a playable prototype as fast as possible. This puts many earlier ideas into questions, and brings back a discussion about game engines and multiplayer. The two discuss building a singleplayer game first, and only if it is successful start working on multiplayer. But with so many unknowns, they probably simply have to start and learn more about their project before making such a choice.

    Special shout outs
    Passionate game developers mentioned in the podcast and their most recent games:
    Ryan Ford https://ryanford.itch.io/goobers-in-the-mix
    Cody Loyd https://codyloyd.itch.io/bug

    Stay in touch

    Website: https://www.devnlife.com
    Jan David: https://twitter.com/0x6a64
    Rob: https://twitter.com/RobPando

    Show More Show Less
    32 mins
  • Shape Up for a Two Person Team
    Aug 28 2020

    Summary

    YEAR 1 ANNIVERSARY! Rob and JD totally forgot that they released their first episode one year ago, and didn't prepare anything special...

    Rob has been reading Shape Up by Basecamp, and the two start discussing its content. Rob got hooked when he read that Basecamp doesn't keep a backlog. (And he now wonders how the Hey support team passes feature requests to the developers.) For JD, the concept of Fixed Time, Variable Scope resonated the most. Regarding backlogs, he thinks it is really helpful to reset every few weeks and ask what is most relevant now instead of blindly following a backlog that was created weeks or even months ago.

    Rob is still not convinced that it is worth taking the time to shape ideas, instead of just going ahead and implementing them. JD on the other hand thinks the more planning upfront the better, as it allows to focus on execution later on. Rob is afraid that shaping is unproductive and takes time away from implementation and demotivates, while JD hopes they learn how to become efficient in planning and reducing risk upfront to then enjoy the coding more.

    JD wrote a blog post covering the first feature the two are thinking about implementing, which can be found here https://jandavid.co/turtles-all-the-way-down-2 and here https://dev.to/jdno/turtles-all-the-way-down-10on.

    Stay in touch

    Website: https://www.devnlife.com
    Jan David: https://twitter.com/0x6a64
    Rob: https://twitter.com/RobPando

    Show More Show Less
    34 mins
  • Games, Prototypes, and gRPC
    Aug 19 2020

    Summary

    Rob is back after moving to Austin, Texas! And JD survived a heatwave in Europe that made it very tough to be productive. Nonetheless, JD managed to think more about the game he wants to build. And he set up a prototype with some technologies he is interested in exploring. To get Rob up to speed, he introduces the game Screeps, which is an MMO strategy game for programmers and an inspiration. From there, the discussion turns into a general reflection on video games, and what will be important for their game.

    JD then shares his vision for the game's technical architecture, consisting of a game engine, the player's code, and a UI at the minimum. For the game engine, JD is thinking about writing it in Rust. It's fast, has good memory management, but it is still young and the comparatively small ecosystem might make things more complicated. For the UI, JD wants to go with React since that runs almost anywhere. And finally for the API between the engine, the UI, and the player's code, JD was considering a REST interface, GraphQL, or gRPC. JD really likes the features of gRPC, and intents to use it in the prototype.

    Feeling a little bit overwhelmed by the complexity of designing a game, the two discuss a good strategy to get started with a very small feature. One idea is to generate events, and have the player react to them. This could be easily implemented without the need for a feature rich UI or advanced rules in the backend.

    Stay in touch

    Website: https://www.devnlife.com
    Jan David: https://twitter.com/0x6a64
    Rob: https://twitter.com/RobPando

    Show More Show Less
    35 mins
  • Gaming, Motivation, and Programming
    Jul 26 2020

    Summary

    Rob had a busy week and some big news: He's moving next week. JD on the other hand took it a bit easier than usual this week, and has been thinking a lot about a new project. Reflecting on his past projects and why he started them, JD noticed a pattern. He began those projects to learn about a very specific topic, for example Stimulus, and once he did that there was not purpose in continuing with the project. Which led to quite a lot of unfinished work, a feeling of guilt, and the question if there's not a better way to practice programming. On the other hand, video games (especially competitive games) are designed with the single purpose in mind to teach players a mechanic and have them master it. JD wonders if we can't learn from game design to make learning and practicing programming more interesting.

    Stay in touch

    Website: https://www.devnlife.com
    Jan David: https://twitter.com/0x6a64
    Rob: https://twitter.com/RobPando

    Show More Show Less
    35 mins
  • Basecamp, Rails, and Password Managers
    Jul 17 2020

    Summary

    Rob and JD are back after a week without recording. Rob has been giving hey.com a spin as his email solution, and is enjoying the experience so far. JD is still contemplating how to optimize his own setup, now thinking of adding another email host in the middle as a backup. Other than that, JD has been a bit in a slump. He started a small side project, trying out Basecamp and Shape Up in the process, which has been a lot of fun. Especially the idea behind hill charts resonated with him, and reflected his own experience working on the project.

    The project JD started working on is a Rails app that uses OAuth for sign in. He's been working through the various different edge cases that this flow comes with, enjoying the challenge and working with Ruby again. Now that the authentication part is done, he is wondering what to do next, since there are too many different paths from which to choose.

    The two end the episode discussing 1Password and its business model. Rob doesn't want to be locked into a subscription service, and doesn't want to upload his passwords to the cloud. JD on the other hand gladly pays a monthly fee to know his password manager is improved and secure, and values the integration of 1Password with all modern operating systems. Rob is now looking into Keepass, after briefly considering building his own thing.

    PS: Sorry for the audio quality in this episode. Seems we both accidentally used the builtin microphone to record instead of our external ones.

    Stay in touch

    Website: https://www.devnlife.com
    Jan David: https://twitter.com/0x6a64
    Rob: https://twitter.com/RobPando

    Show More Show Less
    35 mins
  • Choosing Email Providers
    Jul 4 2020

    Summary

    Rob is back from a small vacation, while JD is waiting for his. During his vacation, Rob joined the virtual ElixirConf EU and got his invite for hey.com, the new email service by Basecamp. He has been on the fence about paying for email and migrating, and he's curious about JD's opinion on both hey.com and ProtonMail. JD shares his setup with a custom domain, and how he's been using ProtonMail the past few years. Rob has had advertised hey.com to friends, and had to argue why you would pay for email services. The two discuss the various ins and outs of email, the features of the two services, and their experience with email so far...

    Show More Show Less
    36 mins