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.
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!
@@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".
@@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!
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
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.
@@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)
He has really cringe adoption of young people lingo, it almost makes me throw up when he uses the word "hella" in a really forced way in completely the wrong places
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.
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
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.
I find it so weird that the bullets that enemies shoots are green which psychologically feels like a bonus and the shoot of the player are red, like ennemies bullets.
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 ?
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 !
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.
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.
@@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 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
@@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.
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?
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.
@@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.
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.
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.
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!
@@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".
@@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!
@@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
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.
@@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)
@@apresthus87 I also code for recreation (JavaFX, Maven) but whenever it comes to the build and deploy phase it becomes stress and burnout. 😆
I hope everything is well for you Jonathan. Take the time to think about it. Its okay.
What happened?
@@Mosestylez I don't know but you can tell something is wrong. I just hope he's doing good
@@erikfast9764 Yeah, so sad. Is it known what happened to him?
The little side arc of johnathan being annoyed at the windows console is too funny 😂 idk what he's even mad about
I admire what you do and I really thank you for sharing your process
This is a great learning resource, seeing how you approach problems in game design. Looking forward to part 2.
Amazing to watch Jonathan work; so many principles I hope to apply in the way I approach things.
Hope you're doing ok
like the templeOS guy
@@Nodsaibot like your mom
What happened?
A vampire survivors clone sounds like fun
you always are a huge inspiration to me
Oh shit the invaders game takes me back
So fun! Great idea for a stream
Thank you for the education and content - some random from australia
Never thought I would hear Jonathan Blow say "easy clap" lmao
He has really cringe adoption of young people lingo, it almost makes me throw up when he uses the word "hella" in a really forced way in completely the wrong places
A lot of fun to watch, loved the pure pwnage reference, that'll send me down memory lane to rewatch that shit
Fucking around is a great way to keep the proper attitude.
It's also a great way to find out 🤡
Lol that is the sound effect from The Witness
14:19
Can't wait for part 2!
Jonathan blow is a great man
It is indeed interesting that we have a word for sides and not top-bottom. 😂
This actually bothers me deeply. Perfect way for me to get my day started right lol
Pillarboxing.
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.
Looking forward to the next one.
And so he launches a mental counteroffensive 👍
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
Mr Mojo code rising 💪🙌
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.
I find it so weird that the bullets that enemies shoots are green which psychologically feels like a bonus and the shoot of the player are red, like ennemies bullets.
Game of the year
The screen size in Pac-Man (Arcade) is 28/36 (tiles) which gives an aspect ratio of 7/9 (0.77...)
Can anyone help me understand why there are 4 different resolutions at 10:15?
Arcade games standardized on what resolution they used depending on the game.
It's always fun working on some random project, either new or old, just to blow off some steam.
pun intended?
@@mokafi7 what pun?
@@m4rt_ *blow* off some steam...
Nice sample
Nice
I hope you are okay
is only me or the sound is really low?
It's low.
Jon seems kind of down in the intro here :(
Where can I see the source code for this Invader game?
:( TH-cam hasn't fully processed it, so the vod is only 360p
Edit: eyy we have 720p
What do you think of the bevy engine queries?
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 ?
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 !
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.
Here brotha
"Why is adobe still in business?"
May be because you keep paying for this being garbage like others.
why is he sad? did somebody died? if yes who (just curious 😅)?
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.
@@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.
@@Jack-gp3rk I wander what happened to him.
@@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
@@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.
why he keeps using vs code? lol
Boring
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?
what you're asking for is not a programming language but a miracle
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.
@@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.
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.
@@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?