Тёмный

Discussion: Animation, Language Design, Understandable Code, Productivity 

Jonathan Blow
Подписаться 85 тыс.
Просмотров 46 тыс.
50% 1

Co-starring Casey Muratori. Topics: Animation Programming, Language Design, What makes code more or less understandable, Techniques for being a productive programmer.

Опубликовано:

 

28 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 80   
@drumsFreeman95
@drumsFreeman95 4 года назад
Love that it ends with "Do you even lift" :D
@The-cyber-imbiber
@The-cyber-imbiber 4 года назад
Here is a team like that where everybody trusts each other and can be honest with each other. I want to be on a team like that!!!
@fourscoreand9884
@fourscoreand9884 4 года назад
It is so good to have you back, I hope this will be the first of many.
@snookandrew
@snookandrew 4 года назад
Really interesting video. I liked seeing how 2 game programmers talk through their problems.
@christiancolmenares9161
@christiancolmenares9161 4 года назад
what a great job jai is amazing, the innovators are the ones who create the best things,
@dingolover6969
@dingolover6969 4 года назад
49:12 The movie reference is Airplane II :-)
@buttonasas
@buttonasas 4 года назад
I knew I recognized it from somewhere!
@dhiahassen9414
@dhiahassen9414 4 года назад
When can I try your programming language ? I am in love with it
@brothir
@brothir 4 года назад
It's been in closed beta all this year, gradually expanding, so I would be surprised if there is not at least an (semi)open beta sometime this year.
@SimGunther
@SimGunther 4 года назад
As I tell everyone else, ask Jonathan on Twitter for the beta
@buttonasas
@buttonasas 4 года назад
1:18:00 I did not understand what's wrong with decibels. There is no other unit that you would read and understand it "oh, it's that loud, gotcha". Sound is simply unintuitive to measure altogether; you have to actually hear it. One thing that you subconsciously feel when dabbling with volume is when there's a constant sound and you are changing the distance to it, the volume changes. I guess you could potentially make a slider that taps this knowledge and make it so sliding it makes it as loud as it would be from 0.01 meters to 100 meters away but I am not sure it be that great either? A big problem is that 1 plus 1 does not equal 2... IDK, any thoughts on this?
@notnullnotvoid
@notnullnotvoid 4 года назад
I mean, it's just funky in multiple ways simultaneously. 10dB difference is a 10x difference in "power". But a 10x difference in *amplitude* is actually a *100x* difference in *power*. So in the definition of the unit you have 3 different arbitrarily-chosen factors of 10 which are all doing different things in different directions on a log scale, which is just a recipe for disaster. And of course none of that has anything at all to do with human perception of loudness, which is a different thing entirely and can't be mapped to decibels at all. The end result is that if you're going through decibels as your unit, you generally need to do multiple potentially complex transformations back-to-back to get from any value that you'd actually care about to any other value that you'd actually care about, at least some of which are going to be confusing and therefore error-prone. Also, because it's a logarithmic scale, there is no true 0 point. 0dB is just whatever arbitrary reference point you define it to be, and a *signal strength* of 0 always corresponds to -INF decibels. This makes it a fundamentally unsuitable unit for volume controls, because if the volume slider is a linear ramp in dB space, you can never smoothly ramp down to 0 volume. There will always be a hard cutoff at the very bottom of the slider, regardless of the chosen reference points.
@buttonasas
@buttonasas 4 года назад
@@notnullnotvoid Thank you for the elaboration on decibels, power and amplitude :) As a user, I don't care about the "complex transfomations", I use intuition. Otherwise, I'm not sure it is that complex?
@downthecrop
@downthecrop 4 года назад
Thank you for uploading this. The discussion on motivation was very good.
@Arlenishn
@Arlenishn 4 года назад
Can you give the timestamp pls?
@SimGunther
@SimGunther 4 года назад
@@Arlenishn Preamble comes in at 46:35
@10e999
@10e999 2 года назад
Anybody has discussion timestamp? I would be interested in the section on the productivity section.
@TheaDragonSpirit
@TheaDragonSpirit 4 года назад
27:00 - It can't be the direction is turning wrong if it doesn't do it some of the time. Doesn't make sense that it works some of the time, but then not other times...
@ingframin
@ingframin 4 года назад
Ah decibels... *laughs in telecommunications engineering*
@alexitosworld
@alexitosworld 4 года назад
I got that far! Kudos to the ones that watch the videos entirely ^^
@boxingexpert9065
@boxingexpert9065 4 года назад
Gained a few IQ points from this thanks
@teckyify
@teckyify 4 года назад
I'm a little worried about the code quality 😅
@qqqqqqqqqqqqqqq67
@qqqqqqqqqqqqqqq67 4 года назад
why
@SimGunther
@SimGunther 4 года назад
If you're talking about the code quality of the compiler, I'm sure that you'll be in good hands. If you're talking "general industry code", not sure what to tell you other than I've got war stories for days about how little care goes into "enterprise code".
@thebirdhasbeencharged
@thebirdhasbeencharged 4 года назад
cmuratori is a paid actor.
@ringoneo
@ringoneo 4 года назад
only 360p? hard to read code this way.
@ringoneo
@ringoneo 4 года назад
the twitch vod is a lot better: www.twitch.tv/videos/573857633 till the upload gets fixed i guess
@HumbleHuman-k7g
@HumbleHuman-k7g 4 года назад
Because it's a new policy in industry, thanks RU-vid and....
@edhalferty
@edhalferty 4 года назад
It's probably still being processed by RU-vid. If it's still 360p in a few hours, then I'm wrong!
@ringoneo
@ringoneo 4 года назад
@@edhalferty guess I've never been this early!
@omgomgomgd
@omgomgomgd 4 года назад
bout 10 minutes since upload, hd 1080p 60fps is ready, but no seek thumbnails.
@iroxudont
@iroxudont 4 года назад
Reminder that after 6 years the only evidence JAI exists is that jonathan blow says so.
@ringoneo
@ringoneo 4 года назад
lots of people have received private betas, theres that at least
@lm1338
@lm1338 4 года назад
both of you are incredibly stupid
@christiancolmenares9161
@christiancolmenares9161 4 года назад
@@lm1338 why?
@lm1338
@lm1338 4 года назад
... because there are hundreds of videos of different people compiling and running code, and hundreds of hours of livestream footage?
@chase_like_the_bank
@chase_like_the_bank 4 года назад
Funny comment but kinda silly. It's understandable why he doesn't wanna share it until it's reached a point where he's satisfied with it
@TheaDragonSpirit
@TheaDragonSpirit 4 года назад
To build a good language, see if it comes naturally to younger people. If they can take it and use it pretty straight forward, like picking up Lego's and build something then, you will have a language people want to use, not sure how efficient that is, but if it comes natural and they can just jump in and start moving objects, placing objects, it does a lot of the collision detection, and so on, then it will be easy for them to get on with it. Also you need it to feel like people can personalised the art of it easily, in that if every game they make it looks like the same as every other game made by that language or program or game, then it will not be useful to those that want to do something massively different, so you can't have it be like lego's they just drop down, other then to underlay under their art. So you could have many objects they select from, but then they input the parameters of that object to fit animations. So you would basically have an environment separate from the art side. Build everything in an environment that can just be dropped in, which is basically all the code side, then have the art side of the system in which is overlaid over objects. Then you could have generic art they can select or they can add in their own art style some how, you could make a way for them to easily draw or changes shapes and make unique art. Not sure if this comment is helpful, but that is where I would start. Basically it would need to be more like a website CMS, in which most of the code is done, and most users get to play more with the art side/content and build a game. Basically then coders could make objects and the people using it could just take those objects and apply them to their art work, if enough objects are made. So basically you would be making more of a physics engine with easy ways to create art and animations. I guess that isn't really a language though, it's a game development system which makes it easier to make games.
@bartholomewjoyce
@bartholomewjoyce 4 года назад
It sounds like you're laying out a new game engine of sorts, which is fine, but it's not the goal of Mr. Blow's language, and it's also probably not the way to make truly innovative games. You suggest to create building blocks/objects that others can use to build. With building blocks, you enable lots of creation possibilities, but you also constrain and limit what can be created to things made from your blocks. You can't build everything from Legos. You can only build Lego structures from Legos. Lego structures are great for younger people, and are great for introducing someone to building physical things. In the beginning possibilities offered by lego will far outweigh any of the limitations. But eventually you might want... you know, a sphere or something, or something that isn't structurally weak due to being comprised of hundreds of tiny pieces. You get the picture... Building blocks are great for making something fun and interesting, but unless they are pragmatic simple blocks that model reality as it is they will end up limiting the creator's creativity instead of enabling it. From what I've seen Mr. Blow is trying to create a language that doesn't get in the way of the programmer, allowing them to create without too much unnecessary complexity.
@TheaDragonSpirit
@TheaDragonSpirit 4 года назад
@@bartholomewjoyce I think it would be a way to make innovative games. Say you want a new object and it doesn't exist, you create it share it on a library and people can then use that object for themselves. So basically you're creating the cogs in the background that make the game work, the more cogs that are made the more diversity there is... and so as long as people always built those cogs, you would have innovation. Additionally the art work or animations could also be their own. The only hard bit would be on how animations collisions and sizes could be a random shape, so you would have to have ways in which to make sure animations could easily be overlaid on top of objects. It would be as innovative as those willing to learn how to program and develop objects in that environment want it, if they could also tweak the physics engine, and have a lot of control over the parameters then they could do all sorts. The aim would be to remove a lot of the programming for artists, while also give coders the ability to code and make new objects. It makes sense in my mind. Basically it would be as innovative as much as people want to program code. Generic art could be used by coders that don't want to do art much, or they could hire an artist to do innovative art. Same with artists and objects that aren't in the libraries. I know he was specifically talking about a language but I think if you want it easier to make games then you would have to build a development system that made it easier to build games. But yes a lot of languages are a lot of work to do what would seem like it should not to difficult to code. So I agree we need better coding languages so I'm glad he is doing that. I just meant if you want it to be easier for people to build games, you could make an open source free development system which everyone works on which makes it easier for all developers long term. The legos was a metaphor. Say you have star shapes, and planets, and many objects in which you can change status effects, literally change planetary physics, you would be building objects and models in which people can adapt and use, while creating their art style and overlaying it, or game style. The whole point would be to allow it to be massively easy to build something without having to go through debugging and basically pull up objects change parameters and get it to do what you want. Kind of like a library of objects and environments, that people can either use the generic art styles or make their own art styles. The whole point would be to make it easy for people to overlay their own art and get it running in a game without hours of coding, par when no objects existed for what they needed, then then create one or pay someone to create one, and it's added to the library for anyone to use. It would allow creative people to really get on, without having pay walls or what ever else in the way, and in this would make it easier for all developers because they don't have to buy loads of objects or give all their profits up to make their game. I disagree, I think if the system is designed to allow new code to easily be added or new art/animations, then it wouldn't limit creation anymore then building from scratch would limit them, the only difference is if it's made right they then have access to loads of objects off the bat, rather then simply starting from scratch and building their own libraries from scratch in which no one can use those really, because there is no uniformed system structure.
@ITR
@ITR 4 года назад
There are plenty of engines with more extractions to make it easier to make stuff though. Also, you should probably google what Jonathan Blow thinks about abstractions
@TheaDragonSpirit
@TheaDragonSpirit 4 года назад
@@ITR I get that but I meant build an engine that is open source that anyone can use would improve the chances of innovation and cooperation within the development community to build something all could easily use without restriction of money or having limited access to this, the aim would make it easier for people to work together. But it wasn't just about that it was also about building a system that is so easy to use a child could pretty much do it or a teenager that is very creative, and it would be so straight forward that they could just flow, in the same way that if you had a big box of legos, the only limitation is their imagination and the constraints of the legos, but I already address how to remove these constraints in a development system or engine by allowing coding of new objects to be added or even the environments themselves and allowing any art style to be added, and I said that hard bit would be merging the coded objects with the art style and animations. In the end you need a way to make it easier and more natural to create if you want to increase creativity. I will look up videos on "what Jonathan Blow thinks about abstractions". :)
@JonathanGorr
@JonathanGorr 4 года назад
Just make a good game?
@jacksonlenhartmusic
@jacksonlenhartmusic 4 года назад
If you guys did a regular show I would 100% tune in. Very entertaining :)
@brothir
@brothir 4 года назад
I really wish Casey hadn't been mixed to be so loud and booming.
@iestynne
@iestynne 4 года назад
brothir that's just Casey's voice. He'd be great on Broadway.
@Red-di7zb
@Red-di7zb 4 года назад
AAAAAAAAAAAA. How could I missed it while I was watching your old videos, so now I need to sleep, I'll watch it tomorrow. John, you are breathtaking. Greetings from Russia.
@romanshvayko211
@romanshvayko211 4 года назад
2 профессионала своего дела в одном видео это офигенно))
@nerdError0XF
@nerdError0XF 4 года назад
Ну здрасте)
@thepauljones
@thepauljones 4 года назад
"Oh dude! We totally just reset our theta!"
@SimGunther
@SimGunther 4 года назад
44:44 For those who missed it
@HobokerDev
@HobokerDev 3 месяца назад
I love how he says "Template Metaprogramming Garbage Garbage". Templates are so bad he had to say garbage twice. I empathize and wholeheartedly agree!
@valentjedi
@valentjedi 4 года назад
That was one epic pair programming session right here chat
@sanjacobs6261
@sanjacobs6261 2 года назад
I've got a pretty good understanding of decibel values at this point. What worked for me is to learn the name of all the individual typed of dB and LUFS measurements, and then learn what they mean individually. After that, you can put together the ideas to a nice structured web in your head. dB, SPL, A, B, C, dBFS, Amp., RMS, LUFS, LUFS-I, LUFS-M, LUFS-S. All these separate concepts need to be learned, and then you might be lucky enough to have it click.
@Alperic27
@Alperic27 2 года назад
abstraction is not a bad word or a concept… designing the animation to just be about the interpolation of something following a pattern over a period of time is GOOD… rather than to plaster entities everywhere. “need to know” is a good thing!!… seems to be a case of ‘animator has too much information’ … There is something immensely gratifying in watching an intelligent discussing between intelligent and respectful people …. …. …… … ….. lots of food for thoughts… 🙏🏻
@luckylove72
@luckylove72 4 года назад
Was animation data imported from Blender or other softwares?
@gasparliboreiro4572
@gasparliboreiro4572 4 года назад
what is emacs?
@jac1011
@jac1011 3 года назад
Dont go into that rabbithole man...
@joo7803
@joo7803 4 года назад
@Bozemoto
@Bozemoto 4 года назад
Is it caching the next animation before it's started to turn, so it thinks it needs to do a 180 when it's really just another turn/move forward?
@AinurEru
@AinurEru 4 года назад
@Jonathan Blow will this game release before the language?
@dandymcgee
@dandymcgee 4 года назад
Appreciate the vod, as always! Very insightful and fun.
@everydaystoriesanimated2318
@everydaystoriesanimated2318 4 года назад
love your video You Definitely Deserve More Subs 😎
@refactoredcodes
@refactoredcodes 4 года назад
thanks for the knowledge John :)
@b3nn3b28
@b3nn3b28 4 года назад
i'm just commenting to let you know I'm surprised your using Firefox. Most people use Chrome. But I support FF.
@Otomega1
@Otomega1 4 года назад
10:00 do the reflection is right? Try to project a line from his harms to the mirror, normally it should get a 90° angle and the right harm should be the left, on the reflection, right?
@alexnoman1498
@alexnoman1498 4 года назад
49:04 They both associated wildly different domains: particles and history of the earth respectively. That's fascinating.
@TheaDragonSpirit
@TheaDragonSpirit 4 года назад
1:22:00 - Reminds me of the secret ending to Witness. He just woke up and walked out of the game...
Далее
How 3D video games do graphics.
3:03:13
Просмотров 207 тыс.
Qalpoq - Amakivachcha (hajviy ko'rsatuv)
41:44
Просмотров 176 тыс.
ДЕНЬ УЧИТЕЛЯ В ШКОЛЕ
01:00
Просмотров 910 тыс.
Трудности СГОРЕВШЕЙ BMW M4!
49:41
Просмотров 1,3 млн
Weekend Project: Color Animation Editor (Part 1)
2:14:40
Compiler Q&A, September 2024
2:10:03
Просмотров 23 тыс.
Braid, Anniversary Edition trailer: short version
1:04
Weekend Project: Color Animation Editor (part 6)
2:26:50
Treemap Viewer, part 7 The Last
48:24
Просмотров 16 тыс.
Weekend Project: Color Animation Editor (part 2)
2:44:01
Weekend Project: Color Animation Editor (part 5)
1:40:04
Просмотров 4,2 тыс.
Weekend Project: Color Animation Editor (part 3)
3:39:38
Treemap Viewer, part 6
1:32:25
Просмотров 4,4 тыс.
Qalpoq - Amakivachcha (hajviy ko'rsatuv)
41:44
Просмотров 176 тыс.