1:04:16 - "you're a reinventing the wheel guy".. I loved what he said in response to that question so much that I about cried and I slid the video position slider back and listened to it several times and I'm bookmarking this video in my browser an emailing a link to it to myself. He also managed to say it with incredible tact! Amazing tact! Man I admire that. I just cannot muster that no matter how I try. This is more like what that kind conversation goes like for me: Pundit: "You're wasting time reinventing the wheel!" Me: "No I'm not, I'm building a better mousetrap." Pundit: "We don't have time for that!" Me: "I'm making time, because all of the available 'wheels' have unnacceptable characteristics." Pundit: "We'll have to live with them. No one believes you can really do better in any reasonable amount of time." Me: "If that's truly the consensus, well, maybe you guys would be happier with someone else in my role." .. and then it just goes downhill from there. Or another one might look like this: Pundit: "Why aren't you at least using Phasor or Cocos 2D?" Me: "Because I don't need 9/10ths of what those libraries provide and using the 1/10th I do requires that I bend over backwards and jump through a bunch of stupid hoops and then doesn't really produce quite the result I'm after even after playing 'twister' with it for way, way longer than it would take me to just produce the functionality myself!" I'm in the wrong crowd. I should be working with Jonathan, lol. Except I'm probably neither talented nor tactful enough, /sigh.
I had an idea for an RTS which was set on a globe so that units could circled back around and attack the enemy lines from behind. I was going to do the whole thing with polar coordinates, and make it so you could zoom in really close to switch into a first person camera. I looked at the games industry and it seemed they all used C++ at the time, so I thought I had better learn C++ I was so put off my the way it seemed possible to make a typo and have the C++ compiler regard the typo as meaning something else in the language semantics because its syntax was so overloaded that I could forsee having really difficult to debug problems with it. I then heard how the linker took disproportionately longer with larger projects, and I felt this would discourage the exploratory style of programming that I felt was essential to the creative coding of games. Maybe if you have agreed upon a fixed specification with a client then you could follow a structured method of developing just that and make some business software, but a game? I didn't see I would make progress with C++ I naively assumed it would take maybe 2 years for me to write my own programming language. I didn't need the sophistication of C++ I was off by an order of magnitude. After 20 years I had to put it to one side to care for my dying mother, then when I got back to it last month after a five year hiatus, everything went great and I was glad I took the time to do it. My language took that long because I let it. I set no deadlines and enjoyed doing loads of research into alternative programming languages and paradigms. Sometimes I would learn about Object-Oriented Program Construction, or Functional Programming, and then once I had understood their paradigm realise the faults in it and why it wasn't suitable for what I was developing. I still found a handful of language paradigms that I felt worked well together and complemented each other's strengths. I didn't want the situation where a program can be written three ways with different aspects of modern C++ and have things independently expressed with Classes, Pure Functions, and Data Oriented Design. I felt there was some small value to each approach, at different levels of abstraction, and my language should cherry pick the best of each technique and encourage the use of all of its features with there only being one obvious way to do it, but a way that intersected normally disjoint Big Agenda paradigms. I wanted something that was both elegant and sophisticated. I became more fascinated with this goal rather than solving my original problem of making a tool to make an RTS game more productively than by using C++ and I didn't regret going down this fascinating rabbit hole for two decades. There is nothing wrong with reinventing the wheel, however I totally get why some people are aghast at someone spending the time to make a language like mine, or over five years to make a language like Jonathan Blow's. I could fail, and make something limited in the generality of its application, and ultimately of no use to what I then would want to do with it. That is a risk. There is also a risk I won't complete my language (let alone any game I might write with it). I got the symptoms of COVID-19 last August and was the sickest I have ever been in my life. Had I died, then I would have left a bunch of esoteric notes on my computer that no one would have been able to make sense of but me. So long as one is mindful of the costs of taking an untraditional path I see no issue with reinventing the wheel. It isn't, in principle, a bad thing for anyone to do. Some will inevitably fail, but those who succeed may well make society better for them taking the time to do something unconventional. Even then my long term vision for my language does not share the same ambitions as Jonathan Blow's. He talks of providing an alternative to C++ for game programming, and I am merely curious to see how my language turns out, and then maybe see if I can make my game with it. I won't be evangelising the benefits of my language, or do a beta for its compiler. I would rather just use it myself and see if I can make my game with it. Then if I can, then I will keep it a secret my game was made by one person, and super secret it was made with my own completely original multiparadigm programming language. I won't say the name of my game, or the name of my language here. If... and it is a huge if... my game is a success I may make it open to modding, with the use of the same tools I plan to write with my language to help me make my game, then in the distant future I could entertain revealing that these tools are written in my language and publish a book on how to learn my language, so that the game, which I plan to make open source at this far future date, can be hacked by those who want to do more than what they can do through modding. Then it could be that things that were beyond me to do in the tools could be added by programmers who are specialists in that area, just as Linus Torvalds didn't make the whole of the Linux Operating System, only the kernel. My initial version of my game would remain, and I hope my language would be easier to learn than C++ and it would empower people to improve my game, or make other games of their own should they see value in what it provides.
It's a weird saying to be honest. The wheel has been reinvented many times throughout history. Compare a Roman-era chariot wheel to a modern car wheel or a high speed train wheel. (Oh wait, I listened on and he went and made basically the same nitpick lol)
01:06 What is your background (before Braid)? 03:12 How was time rewind* in Braid implemented? 08:00 What personal stories & inspirations did you put in Braid? 10:38 What personal stories & inspirations did you put in The Witness? 11:08 If you published Braid today, would it be successful? 12:45 Are there any future plans for Braid? 13:10 Is there a connection between Braid and the 1979 book _Gödel,_ _Escher,_ _Bach:_ _an_ _Eternal_ _Golden_ _Braid_ ? 15:13 Which game-related accomplishment are you most proud of? 16:25 How much pressure was there to make The Witness as successful as Braid? 22:15 In "Indie Game: The Movie", you said you had a negative experience after Braid was released... ...did you prepare for the release of the The Witness differently from Braid's? 27:10 When was the point that you decided to finally release the The Witness? 28:55 How were you able to release the The Witness without platform ratings? 30:35 When designing the difficulty of puzzles, did you have anything in mind? Were the very difficult puzzles intentional? 35:28 [Jon says one more thing about difficult puzzles.] 37:37 What challenges occurred when shipping The Witness on mobile platforms? 42:53 What shipping The Witness on mobile platforms worth it? 44:35 When did you come up with line-tracing mechanic in The Witness? 48:10 Regarding a scene in The Witness involving a fisheye lens visual, was photorealistic rending employed? 50:03 How do you manage your time with such large programming projects? 52:30 What is the latest status with your programming language, Jai? 52:55 Who is your favorite game designer? 56:10 What is a good game designer, and what is that even about? 1:04:15 Why do you opt to "reinvent the wheel" with respect to game design and programming? 1:10:00 Do you think university education is broken and does not prepare students for the brutal real world of game development? 1:14:30 Why are most games in recent times so tutorial-heavy? 1:19:08 Why do some puzzles in the The Witness punish the player for incorrect attempts (by shutting off some previous puzzles)? 1:22:40 In World 4 of Braid (where time depends on movement), do you know every possible time/position instance such that you won't hit a monster? 1:24:45 How to decide when it's appropriate to throw away chunks of code? 1:32:35 Do believe people playing games are wasting their time? 1:43:20 What are your thoughts on the Unreal and Unity game engines? 1:47:15 Do you think the future of game development will be using drag-and-drop tools? *Jonathan Blow, "The Implementation of Rewind in Braid", GDC talk, 2010. (ruclips.net/video/8dinUbg2h70/видео.html)
What other people think, doesn’t matter very much ... I love this. It’s so true. And so many times, we as artists seek external approval or recognition for our work, to the point where we try to please the masses. It should never be about that. It’s about what the artist wants to create, and any perception of success that may follow will happen naturally
Hahaha I loved his response about whether we might see a followup to Braid. Amazing that he took the time to go to Graz! (Well, they might have paid him well too but... I would suspect that they don't have the funds to pay well)
Despite the description saying "improved audio quality" I can barely hear the moderator or the audience questions. Jon's audio is fine though since I guess he's speaking louder.
I've used visual scripting for 5+ years. Released number of games that continue to bring enough income for me to continue being independent game developer. I love visual scripting, I wouldn't be able to have my dream job without it.
yeah :p, when theres a problem you go deep down sifting your old code and trying to figure out what to change and you realise its a much smaller problem maybe you put a + instead of a comma
I just watched part of this again, after noticing a reply to my earlier comment. A lady mentioned that Jon had been ranting about things that waste programmer time, and was wondering what he thought about the idea that maybe people who are playing games are wasting time. Ha! In response, Jon talked about how some games have more value than others and why, and why some games might improve a person's ability to have a positive impact on the world by helping them understand reality better and such, and I think there may be some value in all of that, but I feel there's a fundamental point at issue here: We are not and should not be slaves. We don't live to work. We work to live. Play that does not help us work is not a waste. Work that does not help us play is a waste. The purpose of our lives is not to work and be productive! The purpose of our lives is to enjoy life and maybe try, some, to help others enjoy life too. That's it. That's why we're here. And that's why life is worth it. If a compiler is taking a long time, that's really annoying and is really not enjoyable. And if a person is able to speed it up or make a faster one, that's very satisfying and enjoyable. So it's very worth while for that reason alone. But if it also helps get more work done with the time we spend working, then that's a tremendous boon if it means that we can spend less time working and more time playing games.
She's great , her name is Joanna Pirker, she is actually the organiser of this conference, a Ph.D. who has been listed in Forbes and invited to Harvard, check her biography. She just handles it as an academic conference because for her gamedev is a science.
I think she was trying very hard to focus on what she needed to do, rather than simply geek out hardcore at the ability to ask Jon Blow her own questions. In countries that are not the United States, people seem to be able to approach things in a much more professional and rational manner. I certainly don't see professional and rational behavior nearly enough in the US today.
Joanna Pirker is actually the organiser of this conference, a Ph.D. who has been listed in Forbes and invited to Harvard, check her biography. She just handles it as an academic conference because for her gamedev is a science.
She might simply be both introverted and not very emotional. So she could actually be VERY interested but it doesn't really show on the outside. But I agree that it does come off like that and whenever I am talking to someone who reacts like that, it's clear to me that they're not interested in what I have to say and I will leave the conversation. Which is obviously usually not an option during an interview. ;)
1:14:12 That was a bold move to do in an austrian classroom.
1:04:16 - "you're a reinventing the wheel guy"..
I loved what he said in response to that question so much that I about cried and I slid the video position slider back and listened to it several times and I'm bookmarking this video in my browser an emailing a link to it to myself. He also managed to say it with incredible tact! Amazing tact! Man I admire that. I just cannot muster that no matter how I try. This is more like what that kind conversation goes like for me:
Pundit: "You're wasting time reinventing the wheel!"
Me: "No I'm not, I'm building a better mousetrap."
Pundit: "We don't have time for that!"
Me: "I'm making time, because all of the available 'wheels' have unnacceptable characteristics."
Pundit: "We'll have to live with them. No one believes you can really do better in any reasonable amount of time."
Me: "If that's truly the consensus, well, maybe you guys would be happier with someone else in my role."
.. and then it just goes downhill from there.
Or another one might look like this:
Pundit: "Why aren't you at least using Phasor or Cocos 2D?"
Me: "Because I don't need 9/10ths of what those libraries provide and using the 1/10th I do requires that I bend over backwards and jump through a bunch of stupid hoops and then doesn't really produce quite the result I'm after even after playing 'twister' with it for way, way longer than it would take me to just produce the functionality myself!"
I'm in the wrong crowd. I should be working with Jonathan, lol. Except I'm probably neither talented nor tactful enough, /sigh.
I had an idea for an RTS which was set on a globe so that units could circled back around and attack the enemy lines from behind.
I was going to do the whole thing with polar coordinates, and make it so you could zoom in really close to switch into a first person camera.
I looked at the games industry and it seemed they all used C++ at the time, so I thought I had better learn C++
I was so put off my the way it seemed possible to make a typo and have the C++ compiler regard the typo as meaning something else in the language semantics because its syntax was so overloaded that I could forsee having really difficult to debug problems with it. I then heard how the linker took disproportionately longer with larger projects, and I felt this would discourage the exploratory style of programming that I felt was essential to the creative coding of games. Maybe if you have agreed upon a fixed specification with a client then you could follow a structured method of developing just that and make some business software, but a game? I didn't see I would make progress with C++
I naively assumed it would take maybe 2 years for me to write my own programming language. I didn't need the sophistication of C++
I was off by an order of magnitude.
After 20 years I had to put it to one side to care for my dying mother, then when I got back to it last month after a five year hiatus, everything went great and I was glad I took the time to do it. My language took that long because I let it. I set no deadlines and enjoyed doing loads of research into alternative programming languages and paradigms. Sometimes I would learn about Object-Oriented Program Construction, or Functional Programming, and then once I had understood their paradigm realise the faults in it and why it wasn't suitable for what I was developing. I still found a handful of language paradigms that I felt worked well together and complemented each other's strengths. I didn't want the situation where a program can be written three ways with different aspects of modern C++ and have things independently expressed with Classes, Pure Functions, and Data Oriented Design. I felt there was some small value to each approach, at different levels of abstraction, and my language should cherry pick the best of each technique and encourage the use of all of its features with there only being one obvious way to do it, but a way that intersected normally disjoint Big Agenda paradigms. I wanted something that was both elegant and sophisticated. I became more fascinated with this goal rather than solving my original problem of making a tool to make an RTS game more productively than by using C++ and I didn't regret going down this fascinating rabbit hole for two decades.
There is nothing wrong with reinventing the wheel, however I totally get why some people are aghast at someone spending the time to make a language like mine, or over five years to make a language like Jonathan Blow's.
I could fail, and make something limited in the generality of its application, and ultimately of no use to what I then would want to do with it.
That is a risk.
There is also a risk I won't complete my language (let alone any game I might write with it). I got the symptoms of COVID-19 last August and was the sickest I have ever been in my life. Had I died, then I would have left a bunch of esoteric notes on my computer that no one would have been able to make sense of but me.
So long as one is mindful of the costs of taking an untraditional path I see no issue with reinventing the wheel.
It isn't, in principle, a bad thing for anyone to do. Some will inevitably fail, but those who succeed may well make society better for them taking the time to do something unconventional. Even then my long term vision for my language does not share the same ambitions as Jonathan Blow's. He talks of providing an alternative to C++ for game programming, and I am merely curious to see how my language turns out, and then maybe see if I can make my game with it. I won't be evangelising the benefits of my language, or do a beta for its compiler. I would rather just use it myself and see if I can make my game with it. Then if I can, then I will keep it a secret my game was made by one person, and super secret it was made with my own completely original multiparadigm programming language. I won't say the name of my game, or the name of my language here. If... and it is a huge if... my game is a success I may make it open to modding, with the use of the same tools I plan to write with my language to help me make my game, then in the distant future I could entertain revealing that these tools are written in my language and publish a book on how to learn my language, so that the game, which I plan to make open source at this far future date, can be hacked by those who want to do more than what they can do through modding. Then it could be that things that were beyond me to do in the tools could be added by programmers who are specialists in that area, just as Linus Torvalds didn't make the whole of the Linux Operating System, only the kernel. My initial version of my game would remain, and I hope my language would be easier to learn than C++ and it would empower people to improve my game, or make other games of their own should they see value in what it provides.
I felt the exact same, that message went straight into my heart! :)
@@____uncompetative Somehow I didn't see this reply until now. I enjoyed reading that quite a bit. Thanks for posting it.
@@shavais33 Thanks for replying to it. I don't think I had copied it down and it gave me an opportunity to make it easier to reference.
It's a weird saying to be honest. The wheel has been reinvented many times throughout history. Compare a Roman-era chariot wheel to a modern car wheel or a high speed train wheel. (Oh wait, I listened on and he went and made basically the same nitpick lol)
01:06 What is your background (before Braid)?
03:12 How was time rewind* in Braid implemented?
08:00 What personal stories & inspirations did you put in Braid?
10:38 What personal stories & inspirations did you put in The Witness?
11:08 If you published Braid today, would it be successful?
12:45 Are there any future plans for Braid?
13:10 Is there a connection between Braid and the 1979 book _Gödel,_ _Escher,_ _Bach:_ _an_ _Eternal_ _Golden_ _Braid_ ?
15:13 Which game-related accomplishment are you most proud of?
16:25 How much pressure was there to make The Witness as successful as Braid?
22:15 In "Indie Game: The Movie", you said you had a negative experience after Braid was released...
...did you prepare for the release of the The Witness differently from Braid's?
27:10 When was the point that you decided to finally release the The Witness?
28:55 How were you able to release the The Witness without platform ratings?
30:35 When designing the difficulty of puzzles, did you have anything in mind? Were the very difficult puzzles intentional?
35:28 [Jon says one more thing about difficult puzzles.]
37:37 What challenges occurred when shipping The Witness on mobile platforms?
42:53 What shipping The Witness on mobile platforms worth it?
44:35 When did you come up with line-tracing mechanic in The Witness?
48:10 Regarding a scene in The Witness involving a fisheye lens visual, was photorealistic rending employed?
50:03 How do you manage your time with such large programming projects?
52:30 What is the latest status with your programming language, Jai?
52:55 Who is your favorite game designer?
56:10 What is a good game designer, and what is that even about?
1:04:15 Why do you opt to "reinvent the wheel" with respect to game design and programming?
1:10:00 Do you think university education is broken and does not prepare students for the brutal real world of game development?
1:14:30 Why are most games in recent times so tutorial-heavy?
1:19:08 Why do some puzzles in the The Witness punish the player for incorrect attempts (by shutting off some previous puzzles)?
1:22:40 In World 4 of Braid (where time depends on movement), do you know every possible time/position instance such that you won't hit a monster?
1:24:45 How to decide when it's appropriate to throw away chunks of code?
1:32:35 Do believe people playing games are wasting their time?
1:43:20 What are your thoughts on the Unreal and Unity game engines?
1:47:15 Do you think the future of game development will be using drag-and-drop tools?
*Jonathan Blow, "The Implementation of Rewind in Braid", GDC talk, 2010. (ruclips.net/video/8dinUbg2h70/видео.html)
Thanks a lot for that, and for the GDC link.
Have a great day.:D
The guy is just great :)
A truly great Q&A
Thank you so much for sharing!
What other people think, doesn’t matter very much ... I love this. It’s so true. And so many times, we as artists seek external approval or recognition for our work, to the point where we try to please the masses. It should never be about that. It’s about what the artist wants to create, and any perception of success that may follow will happen naturally
Hahaha I loved his response about whether we might see a followup to Braid.
Amazing that he took the time to go to Graz! (Well, they might have paid him well too but... I would suspect that they don't have the funds to pay well)
Despite the description saying "improved audio quality" I can barely hear the moderator or the audience questions. Jon's audio is fine though since I guess he's speaking louder.
We will try to add some of the audience questions as annotations to the video.
Maybe making the moderator barely audible was an improvement idk
He's got a directional mic pointing right at his face. The host is wearing what looks like a very cheap condenser mic.
Can this non gender specific person speak up or is xhe too timid :eyeroll:
GameDevGraz - you never did add annotations.
like counter is currently on 669. I don't want to ruin this number but at the same time cant skip without giving a like.
a list of questions with timestamps would improve this
Thanks for uploading this, looking forward to your language.
Lol. I'm making my game using Playmaker while listening Jonathan Blow talking about how visual scripting sucks :)
It's 1 month later now. Did you learn your lesson?
I've used visual scripting for 5+ years. Released number of games that continue to bring enough income for me to continue being independent game developer. I love visual scripting, I wouldn't be able to have my dream job without it.
Seems like it's working well for you. The games I develop always require unique data structures and algorithms and I prefer to use C++
I'm making mine from scratch programming everything exactly the way I want it. I do have 20 years experience programming though.
Good for you, if it means you get to make a game. Go ahead! Don't let anyone get in your way. Do you use Playmaker for 100% of your games?
That asteroids metaphor at 25:24 is spot on (for shipping software in general)
yeah :p, when theres a problem you go deep down sifting your old code and trying to figure out what to change and you realise its a much smaller problem maybe you put a + instead of a comma
I just watched part of this again, after noticing a reply to my earlier comment.
A lady mentioned that Jon had been ranting about things that waste programmer time, and was wondering what he thought about the idea that maybe people who are playing games are wasting time.
Ha!
In response, Jon talked about how some games have more value than others and why, and why some games might improve a person's ability to have a positive impact on the world by helping them understand reality better and such, and I think there may be some value in all of that, but I feel there's a fundamental point at issue here:
We are not and should not be slaves.
We don't live to work.
We work to live.
Play that does not help us work is not a waste.
Work that does not help us play is a waste.
The purpose of our lives is not to work and be productive!
The purpose of our lives is to enjoy life and maybe try, some, to help others enjoy life too.
That's it.
That's why we're here.
And that's why life is worth it.
If a compiler is taking a long time, that's really annoying and is really not enjoyable. And if a person is able to speed it up or make a faster one, that's very satisfying and enjoyable. So it's very worth while for that reason alone. But if it also helps get more work done with the time we spend working, then that's a tremendous boon if it means that we can spend less time working and more time playing games.
Anyone knows what book is the guy at 13:15 talking about? I can't figure out that title.
Goedel Escher Bach
thanks a lot!
Thank you. =)
It's Gödel, Escher, Bach.
Thanks code dad.
Whhat? He was in Graz? :S
I can't hear the name of the book at 13:20 anybody knows the name of the book ? Thx
The book's name is Goedel Escher Bach
Thanks !
Mr. Blow is amazingly intelligent and such a great role model. Thank you.
Jon has an uncle whose name is Job.
1:12:50 if those 1000 items are really complex things that could be valid
Sorry for what i did.
Liked answers and a girl. =)
She's great , her name is Joanna Pirker, she is actually the organiser of this conference, a Ph.D. who has been listed in Forbes and invited to Harvard, check her biography. She just handles it as an academic conference because for her gamedev is a science.
The moderator seems barely invested.
I don't know I think she did a great job. Many moderators inject themselves and ruin a Q&A.
I think she was trying very hard to focus on what she needed to do, rather than simply geek out hardcore at the ability to ask Jon Blow her own questions. In countries that are not the United States, people seem to be able to approach things in a much more professional and rational manner. I certainly don't see professional and rational behavior nearly enough in the US today.
Joanna Pirker is actually the organiser of this conference, a Ph.D. who has been listed in Forbes and invited to Harvard, check her biography. She just handles it as an academic conference because for her gamedev is a science.
She might simply be both introverted and not very emotional. So she could actually be VERY interested but it doesn't really show on the outside.
But I agree that it does come off like that and whenever I am talking to someone who reacts like that, it's clear to me that they're not interested in what I have to say and I will leave the conversation. Which is obviously usually not an option during an interview. ;)
Thankfully this isn’t JRE.