Designing My First Game w/ Casey Muratori

Поделиться
HTML-код
  • Опубликовано: 29 сен 2024
  • Recorded live on twitch, GET IN
    Guest
    Casey Muratori | / cmuratori
    My Stream
    / theprimeagen
    Best Way To Support Me
    Become a backend engineer. Its my favorite site
    boot.dev/?prom...
    This is also the best way to support me is to support yourself becoming a better backend engineer.
    MY MAIN YT CHANNEL: Has well edited engineering videos
    / theprimeagen
    Discord
    / discord
    Have something for me to read or react to?: / theprimeagenreact
    Kinesis Advantage 360: bit.ly/Prime-K...
    Hey I am sponsored by Turso, an edge database. I think they are pretty neet. Give them a try for free and if you want you can get a decent amount off (the free tier is the best (better than planetscale or any other))
    turso.tech/dee...

Комментарии • 285

  • @morton4
    @morton4 3 месяца назад +664

    I hope prime knows this is our favorite guest. He should bring him more often I learned so much in both of his videos.

    • @3_smh_3
      @3_smh_3 3 месяца назад +40

      still waiting for the grumpy JBlow. Prime simps for him at every chance he gets.

    • @monolith-zl4qt
      @monolith-zl4qt 3 месяца назад +5

      @@3_smh_3 the guy who made one mid game but thinks he's Carmack reborn?

    • @PileOPoop1
      @PileOPoop1 3 месяца назад +11

      ​@@monolith-zl4qtis the mid game Braid or The Witness?

    • @blarghblargh
      @blarghblargh 3 месяца назад

      @@monolith-zl4qt they're pretty decent games.
      I think neither carmack nor blow are god tier or anything. they're both pretty decent, carmack maybe a bit more so. they both have the benefit of putting in a lot of hard work over a long time, and thus getting good results.
      jblow does act a bit more annoyed than he should at ignorant questions, and quite a bit over the top with doomsaying. and it probably gets more people arguing with him than he would otherwise get, and thus perpetuates a cycle.
      :
      though jblow is not entirely wrong, either. there does need to be a forcing function to keep people from getting lazier and more ignorant over time, and there was a big rash of laziness and ignorance and false reverence masquerading as "wisdom".
      for example: compilers are great technology, but understanding them and outdoing them (in a focused area) is achievable in a reasonable amount of time. it's not always easy, but it is doable. but a lot of people (supposed experts) 10 years ago liked to pretend that wasn't the case, and liked to pretend no one should bother.
      our tech is made by humans, and genius only takes you so far. once you spend a decent amount of time peeking behind the covers, you find out that all the tech we have still is just scratching the surface of what's possible, and that there are still plenty of improvements to be made, just about anywhere you look. we should be teaching that to people, and not teaching helplessness, nor teaching blind reverence.
      anything carmack and jblow can do is something you and I can do, given enough time and effort. and there is a benefit to putting in that time and effort.

    • @Anbaraen
      @Anbaraen 3 месяца назад +2

      ​@@PileOPoop1yes

  • @Karn0010
    @Karn0010 3 месяца назад +8

    The sign that someone knows what they are talking about. Casey is able to easily explain this stuff, that even someone like me who has no programming experience can follow what he is saying. Such a wealth of knowledge there that is invaluable.

  • @XeenimChoorch-nx8wx
    @XeenimChoorch-nx8wx 2 месяца назад

    Casey is exceptionally articulate. Even if his message were wrong, it would be convincingly delivered. Thank god he happens to be right.

  • @pesterenan
    @pesterenan 3 месяца назад +2

    EJ_SA is a nice guy! So cool to see him raiding you hahaha, also nice talk, I'm still in the middle of it, so interesting!

  • @FelipePrietoHome
    @FelipePrietoHome 3 месяца назад +4

    I think you should get Mike Acton on the show.

  • @meanmole3212
    @meanmole3212 3 месяца назад +1

    Netflix engineer btw getting a lesson about programming

    • @ThePrimeTimeagen
      @ThePrimeTimeagen  3 месяца назад +7

      of course! no one is an expert in all things and a smart engineer takes advice from someone who has done what they are about to do for the first time

    • @meanmole3212
      @meanmole3212 3 месяца назад +1

      ​@@ThePrimeTimeagen joke BTW

    • @Seek_Peace
      @Seek_Peace 3 месяца назад

      @@ThePrimeTimeagen I appreciate the mind bending journey you're going on and anyone climbing such a mountain will be wise seeking out the advise of a Sherpa, by the end who knows you might know what code tastes like. Either way plant that flag when you get to the top, you'll have earned it!

  • @WretchMusou
    @WretchMusou 3 месяца назад +537

    "I listen to all my code on vinyl" Underrated joke

    • @stefun666
      @stefun666 3 месяца назад +10

      as a geriatric millennial I 100% agree on this

    • @sporefergieboy10
      @sporefergieboy10 3 месяца назад +36

      The sign is a subtle joke. The shop is called "Sneed's Feed & Seed", where feed and seed both end in the sound "-eed", thus rhyming with the name of the owner, Sneed. The sign says that the shop was "Formerly Chuck's", implying that the two words beginning with "F" and "S" would have ended with "-uck", rhyming with "Chuck". So, when Chuck owned the shop, it would have been called "I listen to all my code on vinyl".

    • @retromaximusplays
      @retromaximusplays 3 месяца назад +2

      Made me laugh. it was a good one. :)

    • @blarghblargh
      @blarghblargh 3 месяца назад

      but did you know: a non-zero amount of code has been released on vinyl

    • @WretchMusou
      @WretchMusou 3 месяца назад

      @@blarghblargh I’m old enough to remember they tried to put everything on vinyl…

  • @tothespace2122
    @tothespace2122 3 месяца назад +173

    Prime has a nice tactic where he repeats in his own words his understanding of what Casey taught him. This way he gives Casey feedback on whether he got the concept right and they can further refine the concept. This is really nice lesson: Instead of just saying "ok thanks" you repeat in your own words what you've been told and thus verify you got it right.

    • @ErazerPT
      @ErazerPT 3 месяца назад +21

      That's one of the fundamental concepts in good communication. When in doubt, ie, what was communicated was not "trivial and obvious", state your understanding of what was communicated. Any misunderstandings immediately show up, thus avoiding proceeding under wrong premises. In a way, it's no different from any decent communications protocol, where both ends cooperate to ensure the correctness of the transmitted data.

    • @tothespace2122
      @tothespace2122 3 месяца назад +1

      @@ErazerPT Yeah it sounds obvious but I didn't do it many times as not to seem like I didn't get it first time. I didn't want to seem like I need "more" to understand. But in order to truly learn one needs to be hones and let aside the ego in that situation. That's why I felt the need to put this idea into a comment.

    • @ErazerPT
      @ErazerPT 3 месяца назад +5

      @@tothespace2122 You totally nailed it, people don't do it because they don't want to "look dumb" and it harms their development A LOT. The irony is that, if you play it right, you get all you wanted and then some. For example, a simple "this is a bit over my current skills, but you've been doing it for a long time so I'm sure you can teach me the details". Now you have someone with a pumped ego that will go out of their way to help you. I wish I had read “How to Win Friends and Influence People" far sooner, it would have made life SO MUCH easier... Yeah, it's social engineering, but so what? As long as you keep an "ethical mindset" and you're hurting no one, no bad comes out of it.

    • @Rockyzach88
      @Rockyzach88 3 месяца назад

      It also helps to have multiple perspectives on the idea that is trying to be expressed for the listener.

    • @clickrush
      @clickrush 3 месяца назад

      This technique is very important when the participants have very different areas of expertise. For example your client might be working in finance, and you are a developer. Repeating each other’s statements in your own words brings these areas closer together.

  • @ccj2
    @ccj2 3 месяца назад +65

    I'm currently going through Casey's Computer Enhance course and I highly recommend it.

    • @Kakerate2
      @Kakerate2 3 месяца назад +1

      what is it about

    • @Bingo901
      @Bingo901 2 месяца назад

      Me too, its just so eye opening, Casey is a great teacher

    • @CianMcsweeney
      @CianMcsweeney 2 месяца назад +1

      @@Kakerate2 fundamentals of how to make things fast on modern computers, starts with learning principles of assembly & how a cpu works by implementing a x86 disassembler and eventually a x86 simulator then goes into modern cpu design etc. with code examples for everything and coding exercises

  • @jesselawrence336
    @jesselawrence336 3 месяца назад +70

    I have never clicked on a video so fast in my life

  • @m4rt_
    @m4rt_ 3 месяца назад +107

    A good way I've heard of to pick between two things you like equally:
    Do a coin flip, than notice your gut reaction. If you are unhappy with the result, then pick the other one, if you are neutral or happy about the result, pick it.
    The same thing works for when you have to pick between two things you dislike equally.

    • @TehIdiotOne
      @TehIdiotOne 3 месяца назад +2

      I guess a more correct statement to do that when you have two things you *think* you like equally.

    • @blarghblargh
      @blarghblargh 3 месяца назад +11

      @@TehIdiotOne sure. but to describe it as a "thing you *think* you like equally" requires you to have enough context to know you don't actually like it equally. the exercise might get you there.

    • @jackoftraes2122
      @jackoftraes2122 3 месяца назад +1

      This is actually something I tell my friends to do all the time! It works. We often have preferences that we are unaware of until we are confronted with the reality of a situation.

    • @Exilum
      @Exilum 3 месяца назад +1

      Pretty much what I do whenever I'm unsure about a decision.

    • @ReneSteenNielsen
      @ReneSteenNielsen 2 месяца назад

      That's exactly the method I used to meet my wife - and I don't even have a wife!

  • @tedbendixson
    @tedbendixson 3 месяца назад +61

    I recently made a game just like the one Casey describes. It's a turn-based Sokoban puzzler (Mooselutions on Steam). It's exactly as he describes. You have to separate the turn-based logic from everything else so you can use a turn to go from Board State A --> Board State B. This makes it so much easier to implement nice things like rewind, which helps the player undo a mistake. People expect that kind of thing now.

    • @spiritwolf448
      @spiritwolf448 3 месяца назад +3

      Looks like a great game! good job :)

    • @scottl4422
      @scottl4422 3 месяца назад +2

      People expect undo but it's kind of cool that Void Stranger bucked the trend by making it a puzzle game with lives/game over states.

    • @eliatzzz5971
      @eliatzzz5971 3 месяца назад

      You are a great man

    • @peteredmonds1712
      @peteredmonds1712 Месяц назад +1

      i immediately thought of you and Mooselutions while watching this!

  • @johnathanrhoades7751
    @johnathanrhoades7751 3 месяца назад +79

    I’m currently working through Casey’s “computer enhance” course. So good! Always glad to hear his take on things.

    • @mattymattffs
      @mattymattffs 3 месяца назад

      I thought that was just what his substack was called. What's the course?

    • @seid44
      @seid44 3 месяца назад

      yeah now im also curious? is the course integrated into the substack somehow?

    • @Speykious
      @Speykious 3 месяца назад +10

      I also follow the course. Yeah, he posts videos about performance-aware programming, and he even gives homework. For example you get to write a basic simulator for the 8086 processor by reading the CPU instructions spec. Essentially the goal is that if the thing you wrote is slow, at least you'll be aware that it is slow, how slow it is compared to a hypothetical best case estimate, and potentially why as well, so that you can at least be aware of where performance problems occur. (In that regard, literally the number one he talks about is waste, which he demonstrates by rewriting some Python code in C lol. But that's only the intro, I swear the whole content is worth it.)

    • @blarghblargh
      @blarghblargh 3 месяца назад +7

      I think the course itself is called "performance aware programming".
      "computer enhance" is the brand name the course lives under.
      would be like calling photoshop "adobe".

  • @aj-jc4cv
    @aj-jc4cv 3 месяца назад +121

    Casey is like John Carmack, you can never get too much.

    • @leptosurreal460
      @leptosurreal460 3 месяца назад

      no homo

    • @androth1502
      @androth1502 3 месяца назад +4

      if only i could get a completed project from him.

    • @solomonchild5
      @solomonchild5 3 месяца назад +2

      @@androth1502 I'll choose Casey with "incomplete" projects rather than any RUclips guy with complete projects any day.

    • @androth1502
      @androth1502 3 месяца назад +1

      @@solomonchild5 I don't know, for someone who complains about the sad state of software, he seems to be making his own contributions to it.

    • @Mallchad
      @Mallchad 3 месяца назад +1

      @@androth1502 The project he's working on is not a game, its an education program. The game is a means to an end and something that's more for himself than anything.

  • @figloalds
    @figloalds 3 месяца назад +9

    Wow
    Casey is like
    Gangsta Programmer
    Real L33T
    The street smarts emanating from this dude is contageous

  • @Gnsbehehehh
    @Gnsbehehehh 3 месяца назад +28

    Casey no one thought you were a boomer 😂 most of us I think were surprised you’re not a millennial. You have a young face and an even younger spirit. Cheers

    • @neruneri
      @neruneri 3 месяца назад +2

      I genuinely thought he and Prime were around the same age.

    • @Kknewkles
      @Kknewkles 3 месяца назад +6

      @@neruneri that's so funny. I knew of Casey since 2015, and back then I thought he was in his early 20s 😃

    • @blarghblargh
      @blarghblargh 3 месяца назад +1

      I'm 43 and I've always thought he's a little older than me.

  • @m4rt_
    @m4rt_ 3 месяца назад +50

    Tsoding uploads his VODs to RUclips, and he's currently at around 113k subscribers.
    It can work, but I do agree that it has a limited audience.

    • @9hoot789
      @9hoot789 3 месяца назад +3

      I agree, I think the big problem is if you aren't fully immersed and hooked in by a person's personality, or what they're doing in a specific stream, or just in general what streams are comprised of, you're much less likely to sit down and watch something like a vod because a lot of the time tends to be dead air and if your time is limited or precious then most people would prefer edited versions with just the highlights, overview, etc. (aka a video) because it fast-tracks the entertainment for a broader audience.

    • @blarghblargh
      @blarghblargh 3 месяца назад +2

      @@9hoot789 yeah. editing down streams is pretty necessary for my personal consumption habits. I rarely watch streams, vod or not, and usually only those that are a less condensed tech talk that would have a slide deck if it were more refined and rehearsed.

    • @TurtleKwitty
      @TurtleKwitty 3 месяца назад +8

      I think part of it as well is just Tsoding has the consistency of coding fun shit instead of doing one code thing and then calling it quits because the audience wasn't fostered to be interested in coding. Tsoding is doing that slow grind for a very tight core audience while prime is going for the quick gains; it's not an inherently bad choice, but it makes a pivot on serious things a lot harder from that lack of tight core

    • @InforSpirit
      @InforSpirit 3 месяца назад +2

      What is the meaning of sub count if max 20% will transfer to views for next video?
      Coding is just a bad visual storytelling:
      Tsoding and Prime both has same super user problem: If you make everything with CLi/shortcuts, then average viewer has no Idea what you are doing in screen. You leap trough file to file, line to line. Watcher cannot make any predictions of your next action.
      User story experience is similar to 'choose your adventure books', but this case you don't flip or chose your next page, or have idea what is size of book is, or is there a book?. UX is misserable.
      It is harder to drop in middle of stream and be like: "Nice, we are Doom slaying in here. "
      There is two instances when coding video VODS has been nice:
      1st: When I and prime had same zero domain knowledge of ZIG when he tried it first time. It was many little learning test files, self contained, easy to follow and form my own oppinion.
      2nd: When tsoding's video was closer to my own intrest of rendering, then it was easier to follow, but still file/line hopping is a issue and code details almost useless.
      At least Tsoding uses some tools to make experience better, like zooming in important infomation bits.

    • @bruterasta
      @bruterasta 3 месяца назад +3

      What Tsoding does is not easy to replicate cause he does not just plug his coding sessions to YT. His main project is super easy to brief into, basically with couple of words, if someone stumble upon his video for the first time, he also makes quick excursions to other projects which he's able to cut into digestable pieces, plus he's super consistent with uploads for a long time. He's also pretty skilled so his vids are not just about a guy who struggle with stuff, he actually makes fun stuff happen quick.

  • @msmeraglia
    @msmeraglia 3 месяца назад +17

    I love this pairing so much, been following Casey for like 10 years prime I’m new to, but I’m
    loving you guys together such a funny combo

  • @codyadam6146
    @codyadam6146 3 месяца назад +12

    TLDR;
    *Summary of the Video: Key Takeaways*
    1. *Introduction and Context*:
    - The video is an interview with Casey, focusing on game development.
    - Casey shares insights on building game engines and approaches to first-time game development.
    2. *General Advice for Game Development*:
    - Keep the game logic simple and avoid over-engineering.
    - Separate game rules from display and animation logic for clarity.
    - Allow for flexible and straightforward augmentation of game state data to accommodate animation needs.
    3. *Prototyping and Optimization*:
    - Begin with the simplest implementation for spatial queries and game mechanics.
    - Avoid premature optimization; focus on game design and functionality first.
    - Evaluate the types of operations frequently performed to inform later optimizations.
    4. *Handling Entity Data*:
    - Store game state and render state in the same structure for simplicity.
    - Use stable IDs for entities (e.g., towers) to manage their state and animations effectively.
    - Consider "two-sided death" for entities: logical removal from the game state and gradual removal through animation.
    5. *Animation and Game State*:
    - Maintain separate values for actual game state (e.g., health, ammo) and display state (e.g., display health, display ammo).
    - Implement gradual changes in display state to reflect game state changes smoothly.
    6. *Practical Implementation Tips*:
    - Start with a brute-force approach for spatial queries and refine later if necessary.
    - Focus on the ease of experimentation and iteration during the initial stages.
    - Ensure your code is flexible enough to incorporate changes and optimizations based on observed gameplay needs.
    7. *Scaling and Performance*:
    - Understand that performance requirements might evolve as the game design matures.
    - Be prepared to transition from prototyping to optimization, especially for large-scale projects.
    - Recognize the importance of early performance considerations to avoid structural inefficiencies.
    8. *Real-World Application and Future Planning*:
    - Plan for potential expansions or increased complexity in your game (e.g., larger maps, more players).
    - Use the prototyping phase to identify common operations and optimize them later.
    - Maintain a balance between simplicity in the initial stages and readiness for future scalability.
    9. *Summary of Key Points*:
    - Focus on game logic clarity and simplicity.
    - Separate game rules from display logic but keep them closely linked.
    - Avoid premature optimization; prototype and understand your game’s needs first.
    - Use practical, flexible approaches to entity data and state management.
    - Plan for scaling and performance improvements based on observed gameplay patterns.

  • @flamekasai7211
    @flamekasai7211 3 месяца назад +5

    Casey is such a wise and experienced programmer. Handmade hero, computer enhance, all his blogs on Molly rocket are all from the best learning places on the internet. Thanks for bringing him again Prime.

  • @SlackwareNVM
    @SlackwareNVM 3 месяца назад +32

    Man, these streams with Casey are one of the best things ever.

  • @DanielKlein23
    @DanielKlein23 3 месяца назад +37

    As a game designer, I gotta say I really, really appreciated Casey explaining that he *isn't* good at game design and that that's a whole other discipline. I think there's nothing wrong with doing an experimental throw-away twitch experience, but my designer brain also itches to understand how we'd bake good decision making in here, what our actual skill expressions are, how we make sure that games are close (Prime's idea of "when a creep leaks you lose a random tower" is what we call a snow ball; once you start losing, you just lose more. That's probably the opposite of what you want here) etc. Lots of people who get into game making prioritize (correctly, at first) the HOW of making a game--how do you code it, what tools do you use etc, but game designers also care a lot about the WHAT (do you make) and the WHY (do you choose certain ideas over others).

    • @simonfarre4907
      @simonfarre4907 3 месяца назад +2

      This is my "problem" with making a game. I love programming. I love hacking. I love the software development feedback loop. Unfortunately, I was *never* a good "designer", as far as arts and crafts stuff. I'm particularly weak at that and that bothers me. Because that is what is holding me back at hacking at some minor game.
      So I envy game designer with cool game ideas, mechanics etc. But then again, they will lack things I probably don't. It's why collaboration is so important.

    • @DanielKlein23
      @DanielKlein23 3 месяца назад

      @@simonfarre4907 I have the opposite problem! I've been a professional (as in: paid ;P) game designer for 12 years now, done a whole lot of for fun game design in TTRPGs and mods on my own before that. I'm about to start my next position, but I was unemployed for a few months and tried to make a game on my own in that time, and dear God am I bad at learning a new environment (tried UE 5.3 this time; got half-way through something in Python and PyGame last time I tried) when I can't just walk over to an engineer and say "hey explain to me how I'd do XYZ". You're absolutely right! Teaming up is essential.

    • @germanslice
      @germanslice 2 месяца назад

      Hmm well I had also been making a video game, it started off real small at first but because i touch type that soon ballooned up to a size of 600k as I touch type so I could type up all this stuff very quickly.. Game has 10 party members travelling around in a spaceship of a crew of 103 in a galaxy of 20+ Expanses, 800+ Systems, 5,000+ Planets, 500+ different enemy types, over 40 different Races, over 80,000 lines of hilarious dialog and that's just the text form of it.
      When I put one of my homeworlds (Blackhell) into Unreal Engine to convert it into a 3d world, that level took up over 30,000 unreal engine asset files because that world alone had about 5,000 lines of dialog in it so its like Kotor with all the dialog......And that's just for one single world. So my game won't fit into unreal engine if I convert all of it into 3d. In the text version The game has got over 13,000+ variables in it that keep track of everything going on in all the dialog and stoylines in the game..
      How would you guys program a game like this in 3d form? I remember back in the days on the c64 for big complex sized games they were
      spread out over 5-10-or more floppy discs.

    • @germanslice
      @germanslice 2 месяца назад

      I didn't have enough knowledge to put all my game into Unreal Engine asmost of my game is stored in a runnable text file (29 megs) in size. I only put one level of it in unreal engine that one level took up over 25,000 unreal engine asset files. My game was not small, its galaxy sized. 5000+ planets, 800+ systems, 500 different enemy types, and has over 80,000 lines of hilarious dialog going on in it, it has 10 party members in a crew of 103 travelling around in a spaceship exploring the quadrant. So because of crazy stuff going on the planet, I decided to script the rest of the game in text form until I can find a way to get it all in 3d form without it breaking my computer.

  • @wokarol
    @wokarol 2 месяца назад +2

    1:16:25 - Interesting point regarding "let's do it simple because we can't in Unity" that worth pointing out is that you can do the same simple way in Unity (and likely other engines) too. You can code the simple "kernel" parts in code and then put that into Unity for rendering and such. It's not one or the other, you can use an engine and write simple code in it.

  • @viko1786
    @viko1786 3 месяца назад +13

    Cheers. Pouring whiskey to watch this wisdom enter my mind

  • @AntiCookieMonster
    @AntiCookieMonster 3 месяца назад +7

    I feel offended: I didn't know there was another channel focusing strictly on coding. How would i know?😑

  • @meatcow417
    @meatcow417 3 месяца назад +8

    Oh man, I was looking forward to this one so much - Casey mentioned it was coming up in his substack.
    Sadly missed it live and have been waiting with baited breath since then.

  • @AntonGalitsyn
    @AntonGalitsyn 3 месяца назад +5

    Man, this is awesome. Also would like to see Jonathan Blow as guest.

  • @Ptolemusa
    @Ptolemusa 20 дней назад +1

    I used to stream programming back then. Got between 20-50 viewers. But I figured out quickly that nobody cared about the software, they only cared about the music I had on in the background.

  • @Exilum
    @Exilum 3 месяца назад +1

    This was great advice. I was honestly surprised, as I didn't know Casey.
    Gamedev is plagued by old principles that do not actually fit the use case yet are still taught, like MVC.
    There are game studios that encourage devs to write controller-type classes for gamedev, which is absolutely awful outside a few use cases (it's great when you want a singleton to deal with a single thing and have no output, like playing sound, but as soon as you start getting into player behavior and gameplay, it becomes immediately awful to make systems interact).

  • @the_dude_josh
    @the_dude_josh 3 месяца назад +4

    "Butt snake VPN, the backdoor of the internet" - Casey Muratori

  • @nitrovent
    @nitrovent 3 месяца назад +2

    I can totally relate to the part around 1:15:00. Before I began my career as a software developer I could program snake or a gorilla clone on my TI83+ calculator in that shitty TI Basic in an afternoon. That was the most straight forward code I ever wrote.

  • @byt3blitz
    @byt3blitz 3 месяца назад +2

    36:16 Butt snake vpn, the back door of the internet! 😂
    Casey and Prime are awesome to watch. We get to learn and be entertained at the same time

  • @philosophia5577
    @philosophia5577 3 месяца назад +1

    I really really want Casey to continue Handmade Hero Stream, It taught me more about programming than anyone else

  • @cve4745
    @cve4745 3 месяца назад +2

    My favourite thing about this is you are forcing Casey to read Zig.

  • @scottiedoesno
    @scottiedoesno 3 месяца назад +2

    The Wolfram roast session was my favorite. Mathematica almost convinced me that I wasn't meant to code

  • @linorabolini
    @linorabolini 3 месяца назад +1

    I love that @ThePrimeTime asks the same questions as many other people would, people that develop but not necessarily dedicated game developers. I really really appreciate this type of content as I really like knowing and listening to people talking about how things are done in a professional way and not in a 10-minutes youtube tutorial way that its worthless 3 days later.

  • @tobiasfischer1879
    @tobiasfischer1879 3 месяца назад +2

    This is a talk that really resonated with me. A few months back I was experimenting with a game where you would take an action, then an animation would play to show a semi-complex update of the game state. When I wrote it originally, I went off of vibes and ended up writing all of the logic in the animation side, one update per frame. This would mean that how an animation resulted would be the culmination of ~100 tick() calls, each with a slightly different state underneath it trying to piece together what the hell it was supposed to do. It was terrible. I ended up rewriting the entire piece to, on an action, pre-compute all of the animations required to perform the action (storing start pos, end pos, and time to run). This allowed a single function to compute all of the underlying state transition and return a structure that the animation system could just play over the proceeding 100 frames. The way Casey explained how to structure this kind of game was already in the direction that I realized I needed to go on this, but gives a concrete end point that makes me feel like the fog has been lifted. Love the video and best of luck on the game! :D

  • @jimmarshall3724
    @jimmarshall3724 3 месяца назад +2

    I love stuff like his tower defence idea - I wanted to make the same thing but for chess. A simple app where every day you get to vote on a chess move. All of the apps players are playing a top of the line chess AI in co-op mode, and at the end of the day the most popular move with the most votes gets made. I made a similar (but completely different) chess game where it's a real time networked game of chess and there's just no concept of turns - you've got to make just moves as quickly as possible while your opponent does the same - if two pieces select the same square the one that lands on it first gets taken by the other one

  • @moonasha
    @moonasha 3 месяца назад

    why is this guy acting like every unity or unreal project uses massive line arrow diagram things instead of coding?? otherwise I agree with what he says about letting interfaces/abstractions/etc fall into place, and opting to keep things simple (or even stupid) over complex "good" code. How easy it is to maintain and add to should take priority, because when you're making a game you're going to be going back to classes and adding new functionality as you go, unless you have the entire thing planned out which is impossible

  • @pyajudeme9245
    @pyajudeme9245 3 месяца назад +3

    3:35 Sad that people get bored with high quality material.

  • @timseguine2
    @timseguine2 2 месяца назад +1

    To be fair "boomer" is now one of those words that the younger generation just seems to use to mean "old person". People regularly seem to call gen-xers and millennials boomers, when they want to imply they are old or out of touch.

  • @neon9999
    @neon9999 3 месяца назад +1

    It would be amazing if Casey could be a regular scheduled guest, like weekly or once every two weeks or something like that. You clearly fit great with each other and everybody benefits, so 🙏

  • @endogeneticgenetics
    @endogeneticgenetics 3 месяца назад +1

    Wowwww. That was so great. LIke, really good. I just started Casey's "Computer Enhance!" course(s) last week. Feeling even more fortunate for this person creating contents for us.

  • @WyrdieBeardie
    @WyrdieBeardie 3 месяца назад +1

    Just wanted to say, I absolutely love this banter on technical concepts. The x86 article review, and now this, both excellent!
    This applies even more so when someone approaches solutions from totally different perspectives.
    😃

  • @bitgolem1538
    @bitgolem1538 3 месяца назад +2

    Casey Muratori always brings the goods.

  • @Raykazen
    @Raykazen 3 месяца назад +3

    Vim battle royal is insane. I'd love that

  • @Rockyzach88
    @Rockyzach88 3 месяца назад +1

    Writing Black Jack w/ betting right now in Java and I've been literally thinking about the whole idea of over complexifying your code at the beginning. I do have some inherent structure obviously, but there are some abstractions that I've been thinking about, but I'd rather get off the ground first, especially to get out all the tedious, but usually trivial bugs.

  • @nonefvnfvnjnjnjevjenjvonej3384
    @nonefvnfvnjnjnjevjenjvonej3384 3 месяца назад +11

    Casey and Jonathan Blow are the two biggest and most important voices in software dev. Even though they might be harsh (Blow especially), they speak really important things which the next generation of devs must get. If you have had the bad fortune of looking at some of the code bases at Google or Facebook you can see how much waste there is. That stops products from getting better (just look at Google steadily dying) and because of runaway capitalism, these large companies take a long time to die so we are stuck with bad software.
    If the next gen devs get what Casey and Blow espouse and really try to follow those principles instead of Solid (which I think has taken our industry back by about 20 years), the next generation of software will be much better, faster, bug free.

    • @blarghblargh
      @blarghblargh 3 месяца назад +1

      I don't think either of them talk about approaches that will make things significantly more bug free.
      I think they both have important ideas to contribute.
      I think Casey has done a lot more concrete things towards making things accessible and understandable. I haven't seen JBlow do much in that respect, though he does contribute some useful philosophy.
      If JBlow open sources his game, and especially if he makes media that thoroughly covers the technology, it could be very useful. His programming language could, too. Besides that, he's mostly doing sci-fi/inspirational speeches. Quite useful as a north star, and a good counter-point to the learned ignorance the software industry had been practicing for a couple decades, but not super concrete progress on its own.

    • @nonefvnfvnjnjnjevjenjvonej3384
      @nonefvnfvnjnjnjevjenjvonej3384 3 месяца назад +6

      ​@@blarghblargh jblow's twitch streams and how he thinks about software is massive. casey might have done more implicit educational stuff but jblow through his work has also shown great examples.
      both talk about less indirection and thinking about how the computer actually works which I think is the primary way of reducing bugs.

  • @gima123123
    @gima123123 3 месяца назад +5

    As long as your engine has a working networking layer, you'll be years ahead of Unity 😂

  • @LuxorAB
    @LuxorAB 3 месяца назад +2

    This is awesome advice. We need more interviews like this

  • @pikolopikolic5567
    @pikolopikolic5567 3 месяца назад +1

    I absolutely love these streams with Casey. He is amazing at explaining his thoughts and the back and forth between you and Casey is amazing. It would be great to see a stream where you and Casey try to optimize the tower defense game when it is done

  • @nerdError0XF
    @nerdError0XF 3 месяца назад +6

    JBlow when? 🙂

  • @AG-ur1lj
    @AG-ur1lj 3 месяца назад +1

    The problem with the all the more in-depth coding streams that I’m interested in is I feel like Prime is rarely coding. It’s 90% jumping between chat windows and messing around.
    Really what I want are just VODs of Prime working while talking to himself

  • @alymikky97
    @alymikky97 3 месяца назад +2

    I FUCKING LOVE U CASEY

  • @jamestheloyalkingsfan1103
    @jamestheloyalkingsfan1103 3 месяца назад +1

    I recently made a game in Unity called Pandarunium. And so much of this hits wayyy too close to home - especially around the 1:14:49 mark

  • @drewroyster3046
    @drewroyster3046 3 месяца назад +1

    Try - generally does better when you say it twice

  • @ReneSteenNielsen
    @ReneSteenNielsen 2 месяца назад +1

    1:20:18 Okay, okay, that missile-joke just flew right over my head!

  • @jakejscott
    @jakejscott 3 месяца назад +2

    Strong bromance

  • @ghostradiodelete
    @ghostradiodelete 3 месяца назад

    I'm also Gen X and get lumped in with boomers all the time, and I have to say, I'm fine with that. I like grinding in my RPGs, I miss games with scores, I like vinyl records and don't have time for these new fangled CEEDEEz. I'm even old now in that I like mp3s and won't get none of that spotify bullshit, get off my lawn! I do boomer bends on my guitar. I'm anti-immigra...just kidding. Psych! I think pixel art games are better than games with realism. Zelda belongs in 2D. I also can't see my phone unless it's an inch from my bloody face.

  • @DavidConnerCodeaholic
    @DavidConnerCodeaholic 9 дней назад

    Fantastic. I feel like it gave me some ideas for games. Also, using AI to discover whether/how your game has interesting structures in how its mechanics create a mix of equilibrium and non-equilibrium would help a lot when trying to create these crowdsourced games.

  • @firemyst9064
    @firemyst9064 3 месяца назад

    "It's very, very difficult to keep it up long term."
    THATS WHAT HE SAID!
    Jokes aside, I do watch these because they're ebertaining, but man you mention these little things in ever single video that I don't know about and I write them down in a note file to reference later and look up.

  • @5Gazto
    @5Gazto Месяц назад

    "If you are Stephen Wolfram and you are constantly troubled by your massive intellect and the fact that you must walk among these mere mortals who just don't understand how everything works. [...]"
    | Casey Muratori |

  • @sheldon123ize
    @sheldon123ize 26 дней назад

    “You know who else we got raided by?”
    Then it cut to an ad and immediately I thought of Raid Shadow Legends… whatever it’s called. It wasn’t that ad though… it was Menulog

  • @kevinbatdorf
    @kevinbatdorf 3 месяца назад

    “Locality of Behavior” is something to stress here and also why something like Tailwind is popular.

  • @pif5023
    @pif5023 29 дней назад

    True, I have been tuning out from the coding sessions even if I am interested in the langs you are using and the projects because I do not have the mental energies to keep up. I need context, I need requirements, heck I may need a daily with you every time you write code. It is a whole different mental energy from the light hearted one that pulls me in. Meanwhile I have books on the side with deep down in the tech that are more cogent to my actual life, if I have to switch that mental energy it makes more sense for me to dive in those. I hope to eventually follow a complete project of yours but it will be when my queue of those book has run out of priorities. And I will likely contribute if there is the chance at that point.

  • @CC21200
    @CC21200 3 месяца назад

    GPT is a language model, not a tower defense game model, so wouldn't even 1 human be smarter, especially if your game has not been widely discussed in online forums that then went into GPT's training dataset?

  • @havokgames8297
    @havokgames8297 3 месяца назад

    00:45:00 - post game wrap up and scrubbing .. that's just recording a video of the game, and it adds no complexity to the engine

  • @Innengelaender
    @Innengelaender 2 месяца назад

    "It's very very difficult, to keep it up long term"
    Preach brother

  • @namelessbeast4868
    @namelessbeast4868 3 месяца назад +1

    I can't believe I just watched all this wisdom for free! Casey was throwing all these wisdom nuggets like it is nothing and I was in awe most of the time.

  • @jamesgagne7895
    @jamesgagne7895 3 месяца назад +1

    Ma boi Casey got that bravehart face on with the shadow

  • @3username639
    @3username639 3 месяца назад

    we will teach A.I. to fight againts humans... ergo SKYNET

  • @laughingvampire7555
    @laughingvampire7555 Месяц назад

    in other words, don't do microservices, just do the monolith you can always extract a microservice if you rally need to.

  • @thelordz33
    @thelordz33 3 месяца назад

    8:15
    there is a big difference between watching someone code in real time and watching a vod of someone coding. Livestreams are almost always more fun and enjoyable live than in vods. The interactivity and the feeling of being there as you do it is just lost.

  • @laughingvampire7555
    @laughingvampire7555 Месяц назад

    to be fair, these days anyone that is not a zoomer is a boomer, in spirit, including Gen-Xers & Millennials.

  • @joschomo1010
    @joschomo1010 3 месяца назад

    Why not get Thor on and ask? Also, why not run a quantized llm locally, alot faster than chatgiggity

  • @ScibbieGames
    @ScibbieGames 2 месяца назад

    It's in no way controversial to me to change the line.
    Its about crossing in a straight line, if a straighter line corresponds to the walked path, thats the straight line you took

  • @MikAlexander
    @MikAlexander 2 месяца назад

    Yes, I learned all of what Casey's saying trough failures. @1:16:00

  • @philosophia5577
    @philosophia5577 3 месяца назад

    I love Casey, I love Prime, I love low level Game Development - Could my life be any better??

  • @aminehayto7028
    @aminehayto7028 3 месяца назад

    I don't know if you know tsoding he does stream on twitch and he uploads the one to two even three hours some times video on RUclips

  • @DrTomb
    @DrTomb 3 месяца назад

    wait where. See i didnt know there were uploads of the coding. I can use that experience XD

  • @metcaelfe
    @metcaelfe Месяц назад

    For the visually impaired of us: no, this is not Jerry Seinfeld

  • @100timezcooler
    @100timezcooler 3 месяца назад +3

    based casey talks

  • @pierre-antoineguillaume98
    @pierre-antoineguillaume98 Месяц назад

    ... You got a good textbook to recommand on building a game in c or zig without a game engine ?

  • @poyraztahan
    @poyraztahan 3 месяца назад +1

    Why not pull in Cherno! www.youtube.com/@TheCherno

  • @nixonrulez
    @nixonrulez 3 месяца назад

    These two making a game is like Einstein working on a muffin. 😅😅😅

  • @Red4mber
    @Red4mber 3 месяца назад

    You should talk to dougdoug about this, he does this kind of thing quite often of his streams

  • @sentient_carbon
    @sentient_carbon 3 месяца назад +1

    "so...dont build a quadtree" had me rolling

  • @HobokerDev
    @HobokerDev 3 месяца назад +1

    We pretty much agree here that: more Casey = better

  • @bersi3306
    @bersi3306 3 месяца назад +5

    recap: don't overengineer prematurely

  • @wonbyte
    @wonbyte 3 месяца назад

    Prime trying to cash in on all that unplayed game Steam money 😂

  • @dont-be-hasty
    @dont-be-hasty 3 месяца назад +1

    This is the greatest bromance in tech.

  • @kalvikaring1304
    @kalvikaring1304 2 месяца назад

    he is so smart guy i can't' ask anything smarty. and i miss his stream on youtube

  • @Atr0sity
    @Atr0sity 3 месяца назад

    Buttsnake VPN, the back door of the internet!

  • @mvargasmoran
    @mvargasmoran 2 месяца назад

    Anything with Casey improves a lot.

  • @harmonicseries6582
    @harmonicseries6582 3 месяца назад +1

    it's not always cutting a corner, sometimes it is hitting the apex

  • @Gijontin
    @Gijontin 2 месяца назад

    TL;DR: Small man talks to Big Head

  • @vortexstudios_echo
    @vortexstudios_echo 2 месяца назад

    I just want to watch someone code and describe the code lol

  • @frroossst4267
    @frroossst4267 3 месяца назад +1

    solid advice 55:00

  • @pyaehtetaung
    @pyaehtetaung 3 месяца назад

    Hyping for vim rpg. For learning vim motions

  • @crimsonhawk52
    @crimsonhawk52 3 месяца назад

    Beginner game programmer: "LMAO look at Celeste's code, what a mess!"
    Experienced game programmer: "Beautiful. Perfection."