I decided to improve 'invaders' a bit. Part 1 of 4!
Жүктеу.....
Пікірлер: 78
@rsavage-r2v Жыл бұрын
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
Жыл бұрын
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!
@rsavage-r2v
Жыл бұрын
@@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
Жыл бұрын
@@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
5 ай бұрын
@@Jack-gp3rkwhich other stream are you talking about ? I agree with you and I've been watching some of his stream regularly now
@apresthus87 Жыл бұрын
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
Жыл бұрын
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
Жыл бұрын
@@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
11 ай бұрын
@@apresthus87 I also code for recreation (JavaFX, Maven) but whenever it comes to the build and deploy phase it becomes stress and burnout. 😆
@m4rt_ Жыл бұрын
A vampire survivors clone sounds like fun
@Waffle4569 Жыл бұрын
Hope you're doing ok
@Nodsaibot
Жыл бұрын
like the templeOS guy
@iamvfx
Жыл бұрын
@@Nodsaibot like your mom
@joshux3210
Жыл бұрын
What happened?
@F00dstamp96 Жыл бұрын
I hope everything is well for you Jonathan. Take the time to think about it. Its okay.
@Mosestylez
Жыл бұрын
What happened?
@F00dstamp96
Жыл бұрын
@@Mosestylez I don't know but you can tell something is wrong. I just hope he's doing good
@ivanbraidi
Жыл бұрын
@@erikfast9764 Yeah, so sad. Is it known what happened to him?
@robehickmann Жыл бұрын
This is a great learning resource, seeing how you approach problems in game design. Looking forward to part 2.
@joshuaworman4022 Жыл бұрын
Oh shit the invaders game takes me back
@LogicEu Жыл бұрын
I admire what you do and I really thank you for sharing your process
@WinLoveCry11 ай бұрын
Amazing to watch Jonathan work; so many principles I hope to apply in the way I approach things.
@m4rt_ Жыл бұрын
Lol that is the sound effect from The Witness 14:19
@svennyhenny Жыл бұрын
Never thought I would hear Jonathan Blow say "easy clap" lmao
@toxicore1190 Жыл бұрын
you always are a huge inspiration to me
@0ia Жыл бұрын
So fun! Great idea for a stream
@praticle Жыл бұрын
Can't wait for part 2!
@Nick_fb Жыл бұрын
Thank you for the education and content - some random from australia
@thewiseowl8804 Жыл бұрын
Fucking around is a great way to keep the proper attitude.
@Sp0nge5
Жыл бұрын
It's also a great way to find out 🤡
@bd_dev Жыл бұрын
Looking forward to the next one.
@volsere Жыл бұрын
A lot of fun to watch, loved the pure pwnage reference, that'll send me down memory lane to rewatch that shit
@ssznajder Жыл бұрын
Jonathan blow is a great man
@deluksic Жыл бұрын
It is indeed interesting that we have a word for sides and not top-bottom. 😂
@soggy_dev
Жыл бұрын
This actually bothers me deeply. Perfect way for me to get my day started right lol
@Pinkhair3d
Жыл бұрын
Pillarboxing.
@sandernotenbaert
Жыл бұрын
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.
@oraz. Жыл бұрын
Mr Mojo code rising 💪🙌
@Dorumin Жыл бұрын
Game of the year
@stephenduncanson6154 Жыл бұрын
And so he launches a mental counteroffensive 👍
@ProgrammingLovers Жыл бұрын
Nice sample
@m4rt_ Жыл бұрын
Nice
@A.R.-mk1lq11 ай бұрын
The screen size in Pac-Man (Arcade) is 28/36 (tiles) which gives an aspect ratio of 7/9 (0.77...)
@dimarichmain Жыл бұрын
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.
@m4rt_ Жыл бұрын
It's always fun working on some random project, either new or old, just to blow off some steam.
@mokafi7
Жыл бұрын
pun intended?
@m4rt_
Жыл бұрын
@@mokafi7 what pun?
@mokafi7
Жыл бұрын
@@m4rt_ *blow* off some steam...
@nexovec Жыл бұрын
Jon seems kind of down in the intro here :(
@VaustXIII Жыл бұрын
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
@nexovec Жыл бұрын
Can anyone help me understand why there are 4 different resolutions at 10:15?
@MichaelPohoreski
Жыл бұрын
Arcade games standardized on what resolution they used depending on the game.
@yabirgarcia968 Жыл бұрын
is only me or the sound is really low?
@CodeOptimism
Жыл бұрын
It's low.
@bibliusz777 Жыл бұрын
What do you think of the bevy engine queries?
@SlackerCast Жыл бұрын
Here brotha
@timstevens3361 Жыл бұрын
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_
Жыл бұрын
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.
@learningprogrammer1487 Жыл бұрын
why is he sad? did somebody died? if yes who (just curious 😅)?
@ramireini
Жыл бұрын
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
Жыл бұрын
@@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
Жыл бұрын
@@Jack-gp3rk I wander what happened to him.
@MenkoDany
Жыл бұрын
@@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
Жыл бұрын
@@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.
@timstevens3361 Жыл бұрын
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 ?
@m4rt_ Жыл бұрын
:( KZread hasn't fully processed it, so the vod is only 360p Edit: eyy we have 720p
@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
Жыл бұрын
what you're asking for is not a programming language but a miracle
@1337pianoman
Жыл бұрын
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
Жыл бұрын
@@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
Жыл бұрын
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
Жыл бұрын
@@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?
Пікірлер: 78
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
Жыл бұрын
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!
@rsavage-r2v
Жыл бұрын
@@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
Жыл бұрын
@@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
5 ай бұрын
@@Jack-gp3rkwhich other stream are you talking about ? I agree with you and I've been watching some of his stream regularly now
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
Жыл бұрын
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
Жыл бұрын
@@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
11 ай бұрын
@@apresthus87 I also code for recreation (JavaFX, Maven) but whenever it comes to the build and deploy phase it becomes stress and burnout. 😆
A vampire survivors clone sounds like fun
Hope you're doing ok
@Nodsaibot
Жыл бұрын
like the templeOS guy
@iamvfx
Жыл бұрын
@@Nodsaibot like your mom
@joshux3210
Жыл бұрын
What happened?
I hope everything is well for you Jonathan. Take the time to think about it. Its okay.
@Mosestylez
Жыл бұрын
What happened?
@F00dstamp96
Жыл бұрын
@@Mosestylez I don't know but you can tell something is wrong. I just hope he's doing good
@ivanbraidi
Жыл бұрын
@@erikfast9764 Yeah, so sad. Is it known what happened to him?
This is a great learning resource, seeing how you approach problems in game design. Looking forward to part 2.
Oh shit the invaders game takes me back
I admire what you do and I really thank you for sharing your process
Amazing to watch Jonathan work; so many principles I hope to apply in the way I approach things.
Lol that is the sound effect from The Witness 14:19
Never thought I would hear Jonathan Blow say "easy clap" lmao
you always are a huge inspiration to me
So fun! Great idea for a stream
Can't wait for part 2!
Thank you for the education and content - some random from australia
Fucking around is a great way to keep the proper attitude.
@Sp0nge5
Жыл бұрын
It's also a great way to find out 🤡
Looking forward to the next one.
A lot of fun to watch, loved the pure pwnage reference, that'll send me down memory lane to rewatch that shit
Jonathan blow is a great man
It is indeed interesting that we have a word for sides and not top-bottom. 😂
@soggy_dev
Жыл бұрын
This actually bothers me deeply. Perfect way for me to get my day started right lol
@Pinkhair3d
Жыл бұрын
Pillarboxing.
@sandernotenbaert
Жыл бұрын
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.
Mr Mojo code rising 💪🙌
Game of the year
And so he launches a mental counteroffensive 👍
Nice sample
Nice
The screen size in Pac-Man (Arcade) is 28/36 (tiles) which gives an aspect ratio of 7/9 (0.77...)
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.
It's always fun working on some random project, either new or old, just to blow off some steam.
@mokafi7
Жыл бұрын
pun intended?
@m4rt_
Жыл бұрын
@@mokafi7 what pun?
@mokafi7
Жыл бұрын
@@m4rt_ *blow* off some steam...
Jon seems kind of down in the intro here :(
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
Can anyone help me understand why there are 4 different resolutions at 10:15?
@MichaelPohoreski
Жыл бұрын
Arcade games standardized on what resolution they used depending on the game.
is only me or the sound is really low?
@CodeOptimism
Жыл бұрын
It's low.
What do you think of the bevy engine queries?
Here brotha
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_
Жыл бұрын
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.
why is he sad? did somebody died? if yes who (just curious 😅)?
@ramireini
Жыл бұрын
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
Жыл бұрын
@@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
Жыл бұрын
@@Jack-gp3rk I wander what happened to him.
@MenkoDany
Жыл бұрын
@@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
Жыл бұрын
@@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.
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 ?
:( KZread hasn't fully processed it, so the vod is only 360p Edit: eyy we have 720p
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
Жыл бұрын
what you're asking for is not a programming language but a miracle
@1337pianoman
Жыл бұрын
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
Жыл бұрын
@@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
Жыл бұрын
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
Жыл бұрын
@@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?
why he keeps using vs code? lol
Boring