Improving Invaders (part 1)

Поделиться
HTML-код
  • Опубликовано: 7 май 2023
  • I decided to improve 'invaders' a bit. Part 1 of 4!
  • ИгрыИгры

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

  • @aaronblain6377
    @aaronblain6377 Год назад +55

    It's very useful to watch a more experienced programmer work through a simple game like this.
    It's also very satisfying to listen to someone with a highly developed understanding of game design iterate on these mechanics.

    • @Jack-gp3rk
      @Jack-gp3rk Год назад +18

      I have the same approach. Some might say it's a waste of time to watch the stream, that better would be to pick up some compressed knowledge in a form of principles, code, etc. but IMO it's not working that way.
      Humans are better suited to imitate, to learn by examples, to get the skills by imitating. And I always find the stream from professionals like Jon or Casey really helpful. If you have other recommendations for this kind of content, would love to hear too!

    • @aaronblain6377
      @aaronblain6377 Год назад +10

      @@Jack-gp3rk Yeah I especially appreciate both his non-bs approach to programming and his taste in game design.
      I almost never watch streams but this one really hooked me. He makes a lot of decisions I'd make, so it's like watching a more experienced version of myself.
      I need to watch more of John, and also Casey Muratori.
      I'm fascinated, because I'm not really a puzzle person so I haven't played any of his games, but from listening to his talks I absolutely knew he'd make 'correct' decisions when approaching a Galaga clone. Addressing scale/proportion/speed first, intuitively grasping the emergent or degenerative properties of a given mechanic, etc.
      I know he was half joking, but if this does end up on Steam, "I'll buy that for a dollar".

    • @NukeCloudstalker
      @NukeCloudstalker Год назад +6

      @@Jack-gp3rk 100% agree. Just show me! And conversely, nearly all of the time something needs explaining, showing is just faster. Explanations are for things were simply showing is impossible - and explaining is in those cases best aided by showing a rough sketch instead!

    • @captainnoyaux
      @captainnoyaux 4 месяца назад

      @@Jack-gp3rkwhich other stream are you talking about ? I agree with you and I've been watching some of his stream regularly now

  • @Waffle4569
    @Waffle4569 Год назад +105

    Hope you're doing ok

    • @Nodsaibot
      @Nodsaibot Год назад +14

      like the templeOS guy

    • @iamvfx
      @iamvfx Год назад +6

      ​@@Nodsaibot like your mom

    • @joshux3210
      @joshux3210 Год назад

      What happened?

  • @apresthus87
    @apresthus87 Год назад +37

    I also use this technique to manage stress and avoid burnout, I just take one evening or two to work on projects that are purely for my own enjoyment and don't have any obligations associated with them

    • @DavidsKanal
      @DavidsKanal Год назад +3

      So you find burnout comes more from working on exhausting, stressful projects than from the act of coding itself? Like, you say you find it regenerative to code on hobby projects, and I agree. But others might say they need to do something totally different, away form the screen even, to avoid burnout.

    • @apresthus87
      @apresthus87 Год назад +10

      @@DavidsKanal ​Yep. Coding itself has never been a source of burnout for me, quite the opposite. The act of creating things with code is both creatively stimulating and something that gives energy rather than depeleting it (in a vacuum). I imagine it's similar to those who paint, draw or do gardening as a hobby.
      Burnout happens when I have a lot of demanding obligations to fulfil, and since coding is also my day job, those obligations are related to development mostly but that's actually not relevant. It's not the coding, its the stress and obligations that causes the burnout.
      The time I spend away from the screen I spend with my daughter and my wife, and whilst that can most certainly give me a lot, especially with children, there is also an element of obligation or stress. So I find that if I say only do work related projects and then look after my daughter and do nothing else for an extended period of time that also can lead to burnout or stress. I guess I just always need that element of just creating for the sake of creating, and getting lost in whatever it is I'm working on, with no expectations or obligations attached to it.
      This was a long waffle, but yeah, that's my 2 cents at least. For others, things may work differently (almost certainly)

    • @A.R.-mk1lq
      @A.R.-mk1lq 10 месяцев назад

      @@apresthus87 I also code for recreation (JavaFX, Maven) but whenever it comes to the build and deploy phase it becomes stress and burnout. 😆

  • @F00d5tamp
    @F00d5tamp Год назад +35

    I hope everything is well for you Jonathan. Take the time to think about it. Its okay.

    • @Mosestylez
      @Mosestylez Год назад +1

      What happened?

    • @F00d5tamp
      @F00d5tamp Год назад +5

      @@Mosestylez I don't know but you can tell something is wrong. I just hope he's doing good

    • @ivanbraidi
      @ivanbraidi 11 месяцев назад

      @@erikfast9764 Yeah, so sad. Is it known what happened to him?

  • @robehickmann
    @robehickmann Год назад +2

    This is a great learning resource, seeing how you approach problems in game design. Looking forward to part 2.

  • @LogicEu
    @LogicEu Год назад +7

    I admire what you do and I really thank you for sharing your process

  • @WinLoveCry
    @WinLoveCry 10 месяцев назад +1

    Amazing to watch Jonathan work; so many principles I hope to apply in the way I approach things.

  • @m4rt_
    @m4rt_ Год назад +11

    A vampire survivors clone sounds like fun

  • @joshuaworman4022
    @joshuaworman4022 Год назад +18

    Oh shit the invaders game takes me back

  • @toxicore1190
    @toxicore1190 Год назад +4

    you always are a huge inspiration to me

  • @0ia
    @0ia Год назад +7

    So fun! Great idea for a stream

  • @praticle
    @praticle Год назад +1

    Can't wait for part 2!

  • @m4rt_
    @m4rt_ Год назад +11

    Lol that is the sound effect from The Witness
    14:19

  • @Nick_fb
    @Nick_fb Год назад +6

    Thank you for the education and content - some random from australia

  • @bd_dev
    @bd_dev Год назад

    Looking forward to the next one.

  • @thewiseowl8804
    @thewiseowl8804 Год назад +11

    Fucking around is a great way to keep the proper attitude.

    • @Sp0nge5
      @Sp0nge5 Год назад +1

      It's also a great way to find out 🤡

  • @svennyhenny
    @svennyhenny Год назад +1

    Never thought I would hear Jonathan Blow say "easy clap" lmao

  • @volsere
    @volsere Год назад +1

    A lot of fun to watch, loved the pure pwnage reference, that'll send me down memory lane to rewatch that shit

  • @deluksic
    @deluksic Год назад +7

    It is indeed interesting that we have a word for sides and not top-bottom. 😂

    • @soggy_dev
      @soggy_dev Год назад +1

      This actually bothers me deeply. Perfect way for me to get my day started right lol

    • @Pinkhair3d
      @Pinkhair3d Год назад

      Pillarboxing.

    • @sandernotenbaert
      @sandernotenbaert Год назад +2

      It kind of makes sense if you take into account that in our experience of the world, there is a massive difference between what's top and bottom (sky - ground, gravity pulling downwards), sides is just a direction. Hence we have a much stronger and clearer distinction in our minds between top and bottom compared to left and right, reflecting in our language as well.

  • @Dorumin
    @Dorumin Год назад

    Game of the year

  • @ssznajder
    @ssznajder Год назад +3

    Jonathan blow is a great man

  • @m4rt_
    @m4rt_ Год назад +1

    Nice

  • @oraz.
    @oraz. Год назад

    Mr Mojo code rising 💪🙌

  • @A.R.-mk1lq
    @A.R.-mk1lq 10 месяцев назад

    The screen size in Pac-Man (Arcade) is 28/36 (tiles) which gives an aspect ratio of 7/9 (0.77...)

  • @stephenduncanson6154
    @stephenduncanson6154 Год назад

    And so he launches a mental counteroffensive 👍

  • @ProgrammingLovers
    @ProgrammingLovers Год назад

    Nice sample

  • @m4rt_
    @m4rt_ Год назад +11

    It's always fun working on some random project, either new or old, just to blow off some steam.

    • @mokafi7
      @mokafi7 Год назад +1

      pun intended?

    • @m4rt_
      @m4rt_ Год назад

      @@mokafi7 what pun?

    • @mokafi7
      @mokafi7 Год назад

      @@m4rt_ *blow* off some steam...

  • @VaustXIII
    @VaustXIII Год назад +2

    36:15
    The fact that even the programmers I look up to do those kinds of blunders kinda reassures me. I feel really stupid when I tune some value and can't understand why it doesn't work as I intend, then turns out I haven't built the changes or I'm tuning the wrong parameter or some other silly thing

  • @dimarichmain
    @dimarichmain Год назад +5

    Sounds from The Witness feel so out of place.
    Also, totally agree with the way you handle stress. I also do a lot of stuff I might or might not need in the future. It's experience anyway.

  • @nexovec
    @nexovec Год назад

    Can anyone help me understand why there are 4 different resolutions at 10:15?

    • @MichaelPohoreski
      @MichaelPohoreski Год назад +2

      Arcade games standardized on what resolution they used depending on the game.

  • @yabirgarcia968
    @yabirgarcia968 Год назад +4

    is only me or the sound is really low?

  • @bibliusz777
    @bibliusz777 Год назад

    What do you think of the bevy engine queries?

  • @nexovec
    @nexovec Год назад +3

    Jon seems kind of down in the intro here :(

  • @timstevens3361
    @timstevens3361 Год назад +2

    hey
    wat do you think about MS buying github
    building VS code to run on Everything
    including mac n linux,
    and getting super cosie with openAI.
    i think every code slingers source code
    has been input for OpenAI's GTP LLMs.
    i think that sucks !

    • @m4rt_
      @m4rt_ Год назад +1

      I'm glad people are working on suing Microsoft for using licensed code (GPLv3 for example) to train Copilot, and I hope it ends with the people winning and MS loosing.

  • @SlackerCast
    @SlackerCast Год назад +3

    Here brotha

  • @m4rt_
    @m4rt_ Год назад +1

    :( RUclips hasn't fully processed it, so the vod is only 360p
    Edit: eyy we have 720p

  • @timstevens3361
    @timstevens3361 Год назад +5

    GPT
    i agree with wat you said earlier about chatgpt
    not generating non trivial code.
    but MS smells bad in this my opinion.
    also why does VS take so dam long to load ?
    cuz its phoning home with your source code mabe ?

  • @learningprogrammer1487
    @learningprogrammer1487 Год назад +9

    why is he sad? did somebody died? if yes who (just curious 😅)?

    • @ramireini
      @ramireini Год назад +35

      One of his ex-employees, Zachary H. Polansky who worked on the Sokoban game died, he was really good at making puzzle games and Jonathan had plans for the future that included him, and now that he's dead it won't happen. Also if he had lived then more people would've been able to play his great new games, so he's sad about all of these things.

    • @Jack-gp3rk
      @Jack-gp3rk Год назад +6

      @@ramireini Thanks for explaining. It's seems that Zachary was a really young man and what a loss to the world of puzzle, gaming and for his family. May his soul rest in peace.

    • @robehickmann
      @robehickmann Год назад

      @@Jack-gp3rk I wander what happened to him.

    • @MenkoDany
      @MenkoDany Год назад +1

      @@robehickmann Based on the euphemism in the obituary, he died by suicide. Watching tribute streams and thinking about Jon's words, I think it's the most likely explanation. Regardless of what happened, it's incredibly sad that some of the smartest people in the world are also so easily taken away by depression. It's your reminder to not just fuck around, but help your loved ones and strangers

    • @robehickmann
      @robehickmann Год назад

      @@MenkoDany I agree.
      The problem I see is that many people act exceptionally toxic towards anyone who is in any way different, and I've experienced a lot of that myself also.
      The state of the world today also makes things extremely difficult for creatives to do what they are good at.

  • @AnonymousAccount514
    @AnonymousAccount514 Год назад

    Boring

  • @Nodsaibot
    @Nodsaibot Год назад +2

    why he keeps using vs code? lol

  • @L1nkblade
    @L1nkblade Год назад

    I still don't understand what the improvement of Jai shall be. For me it looks pretty much the same as the other programming languages. Can someone enlighten me? He's still manually editing parameter values and does trial and error for a huge amount of time to iterate until he has the parameters fine tuned to a set where he likes the game best. Wouldn't it be much more revolutionary if he would just define constraints which can describe the quality of the gameplay and then run an AI to alter the parameters for him to iterate best to these constraints?

    • @kecksohn
      @kecksohn Год назад +18

      what you're asking for is not a programming language but a miracle

    • @1337pianoman
      @1337pianoman Год назад +4

      If you "define the constraints that describe the gameplay" specifically enough, that is just what programming is. If you do it vaguely and have an AI make the decision for you, are you just gonna accept its first attempt, or are you going to try it out and ask it to tweak it? Is that really an improvement?
      If you think it is quicker to specifically describe your gameplay in English than in code, that is just a fluency issue and what you're asking for is just a translator. There's nothing wrong with that, but the whole point of programming languages is that they enable us to be specific and succinct. English is pretty bad at both of those things.

    • @L1nkblade
      @L1nkblade Год назад

      @@1337pianoman I didn't mean to feed the AI with English phrases like ChatGPT. I meant to define the goal gameplay with specific parameter values "g" which depend on a combination of many other parameter values "p" and have a software try the combinations p for you to iterate to g faster than a human could manually do. For example you could define that a Quake Champions map should have a heat map with 3 main spots and where it's a good option to use vertical shooting. An AI could build 3D maps by itself and let run bots in it to get the heat map and determine if bots who used vertical shooting got a good result and then give you that one of thousands of maps which suits your parameters g the best.

    • @Nick_fb
      @Nick_fb Год назад +1

      The parameter tweaking reveals to JBlow a deeper insight into the smallest changes in game design. He would need any generative/procedural/AI tool, to refine it's analytical capabilities to the same level of resolution as JBlow is doing now. Americans program like that. They want to see what every single word, phoneme, variable and parameter, does to change the rendered image. It is narrow and incredibly powerful.
      You'll have to reprogram computers, to relate to you in code bubbles of your design, to get the result you talk about in your second comment. You could pick, choose and nurture from AI-generated heat maps with that tooling. Computers (and programming) as they are now, are firmly planted in the American word-chopping and phoneme picking style, which will forever frustrate the attempt to summarize it into a generative space that you could mould into your liking. It is viable to make AI do what you said, with a lot of effort, but the results are often milque-toast reworkings.
      All the coding relationships are shallower than you would guess, but very laterally broad and change continuously. You get more power coding the way JBlow does right now, cutting deeper into understanding each variable and understanding the effects of parameter tuning, on the player's experience.
      The book from the 50s, Human Use of Human Beings, describes the current/greater programming culture, very very well.

    • @L1nkblade
      @L1nkblade Год назад

      @@Nick_fb ok and thanks for the comment! Then, what is Jonathan trying to achieve with Jai? What advantage has Jai over other programming languages?