As a physicist who had to learn a lot of advanced math, I relate to your struggles and support your learning strategy. Because there are two types of people: people who need to learn math for a specific goal (physics, programming, etc) and people who just enjoy math. Our motivations are slightly different though, which is why math textbooks are so hard to swallow! mathematicians care about being as exact as possible, they care about proving theorems, etc. We are happy to take their word for it and get a distilled, intuitive version of the events. But that's not how they write books, unfortunately.
@DylanFalconerАй бұрын
I think you hit the nail on the head - and, that this happens in every field Beginners don't care about fundamentals, they care about showing off, proving something to themselves, or having fun They also don't want to be scared off by jargon - I believe Feynman cracked this part pretty well... Combining the two: simple language + creating the feelings beginners want. I think that's the best way to *earn* the time of the learner. Once you've earned the time, you can tackle the dry but important fundamentals, as they'll be, not dry, but much more interesting to them when they understand the importance This is all just a hypothesis at this point, something I'm striving for in my work
@pkurrasАй бұрын
You should include chapters in your video description like so - this will split the videos such that people can potentially skip to relevant sections: 0:00 Intro 0:33 Hot Swapping of game code 1:47 Drawing Shapes / General Rendering 2:25 Linear Algebra / Learning math for games 6:48 Memory Management 10:17 Debugging 12:22 Channel update 13:56 Extro Feel free to copy this one. :)
@DylanFalconerАй бұрын
Cheers, I will add them
@Kitsune_DevАй бұрын
never thought Egg man would be teaching game dev 😂
@DylanFalconerАй бұрын
You fool, away!
@naranyala_devАй бұрын
odin mentioned
@lorensims4846Ай бұрын
I figure you have to really understand how your machine works and how to use it to represent objects on the screen. You also have to have an animator's eye to understand how things really move in the real world.
@DylanFalconerАй бұрын
There are a few ways to get into graphics. Any way you choose, there's good explanations of the concepts on learnopengl dot com
@hifumibestgirlАй бұрын
In regard to textbooks, I have found them useful for rapidly exposing myself to a lot of topics, especially topics about which I was previously unaware. Then I can revisit the texts and/or look stuff up online.
@DylanFalconerАй бұрын
Yeah, I guess you don't *have* to go back to front... Just conditioned to do that from school I guess
@vapandrisАй бұрын
Grate video again man ❤ I'd love to hear why you switched to Odin? I'm currently using Zig with raylib. I also tried Odin and concluded that I love comptime and many other of its features too much. But yea, Odin is amazing too and way more stable. 😅
@DylanFalconerАй бұрын
The short answer is joy of coding. I suspect you have a similar feeling with Zig. I'll make a video for the long answer 🤠
@redrevyolАй бұрын
I find it kind of odd that not a lot of games go beyond than Newton's laws of motion. Some games do go beyond, but there is a huge performance hit. This is probably because developers are using approximation integrations.
@DylanFalconerАй бұрын
What would you like to see? There are some interesting experimental 4D games that mess with time
@redrevyolАй бұрын
@@DylanFalconer I'd like to see more realism in video games in regards to physics. For instance, bullet drop, simulated sound (using fluid dynamics), and even an upward acceleration on gas in vehicles (not constant like in real life). I am aware that some games do have these features, but it's not widespread. Come think of it, there aren't a lot of physicists in the industry.
@LinuxRenaissanceАй бұрын
I am one of those “just in time” kind of persons. It works, but when you are a beginner then you have a lot of holes so in order to do this I start learning X1, but in order to complete X1 I need to learn X2, and this recursiveness can go very deep sometimes and leave me with literally zero progress over the reason why I started learning X1 in the beginning.
@DylanFalconerАй бұрын
Hey Darth! So true, it can be a rabbit hole sometimes
@josephferanoАй бұрын
Yeah, I've gone off doing deep dives that have lasted years at times because I've felt I've needed to level up. I don't regret learning the things I did, but I should've balanced it out and focused on just learning the immediate things I needed.
@kidmoseyАй бұрын
There's also a challenge of not knowing what you don't know. You'll start running into XY problems where you are asking a specific question about how to do X, but it's the wrong approach to the general problem of Y.
@danieleccleston7928Ай бұрын
I have a long way to go
@DylanFalconerАй бұрын
Me too brother. One step at a time
@danieleccleston7928Ай бұрын
@@DylanFalconer Thanks, I'll be working through your pong course. I'm sure I'll learn a good amount
@theaveasso19 күн бұрын
Sir when you start to build a odin raylib tutorial series 😅
@DylanFalconer18 күн бұрын
Already made one and working on another! Check the link in the description (there's a free Pong course available) I'm working on my paid course right now as priority, but I'll be making Odin + Raylib videos every so often on YT as well
@minibubblegum5108Ай бұрын
Reading comments does sound painful.
@DylanFalconerАй бұрын
Yeah but I'm going to do it anyway 🤠
@Veeq7Ай бұрын
What did you find cringe about your old code?
@DylanFalconerАй бұрын
I think it was mostly about fragmented memory allocation. I'm going to make a video about it 🤠
@meanmole3212Ай бұрын
How does the long term memory allocation work on Odin in your apps? Is it just basic malloc, same as with C? What about the frame time bump allocator, does Odin offer general ready to go solutions for both of these cases or do you have to built both of them from scratch for yourself?
@DylanFalconerАй бұрын
They are provided by default and can be overwritten with other Allocator types if you want - the defaults are arenas Then you just call free_all(context.temp_allocator) at the end of each frame