How much of what we're learning...
How much of what we're learning...
Hey Chili, I was just watching tutorial 20 and found myself once again stifling a reoccurring thought... How much of what you are teaching us is rebuilding the hammer? I would think that there are already functions/methods/whatever that are capable of drawing bitmaps and accomplishing other simple tasks that you have covered thus far...
I know that in the case of Tutorial 20 you mentioned that you made it as a result of the constant pleas for bitmap drawing and what not, but in an earlier lesson you broke down strings right to the bone when I'm pretty sure there's already a whole library dedicated to string manipulation. I'm just wondering (Emphasis on wondering, I don't know because I'm a noob) if its as necessary to go as deeply into some subjects as you do.
Like in the example of the bitmap. Is there a function already out there that we could plug in to our program so that we could just select a bitmap to upload instead of rebuilding a bitmap loader from scratch? I'm not trying to be lazy, but im just wondering if its necessary to learn how to build a tool from scratch before it can be used?
I know that in the case of Tutorial 20 you mentioned that you made it as a result of the constant pleas for bitmap drawing and what not, but in an earlier lesson you broke down strings right to the bone when I'm pretty sure there's already a whole library dedicated to string manipulation. I'm just wondering (Emphasis on wondering, I don't know because I'm a noob) if its as necessary to go as deeply into some subjects as you do.
Like in the example of the bitmap. Is there a function already out there that we could plug in to our program so that we could just select a bitmap to upload instead of rebuilding a bitmap loader from scratch? I'm not trying to be lazy, but im just wondering if its necessary to learn how to build a tool from scratch before it can be used?
- npissoawsome
- Posts: 114
- Joined: June 8th, 2012, 3:01 pm
Re: How much of what we're learning...
everything he's taught us already has functions to do it. He teaches us how to do it ourselves, which teaches us more... But because of this, I'm probably going to learn most of my DX somewhere else, I do still enjoy watching his tutorials, and I learn a lot from them. But I would still like some straight forward DirectX
Re: How much of what we're learning...
I hope I'm not the only one interested in how stuff works, rather then how to do it. Otherwise there are a lot of fastpased videos and tutorials that show in five minutes how you can do it. But do they tell why and how it works? No. Maybe just briefly, but without chili's videos I, for example, would have no clue on how loading an image actually works behind the scenes.
And with my nerves reading some lame explanation sites, like Wikipedia,... *shivers*
And with my nerves reading some lame explanation sites, like Wikipedia,... *shivers*
ʕ •ᴥ•ʔ
Re: How much of what we're learning...
i like the chili style and i agree with LuX ,they may take time but he gets you thinking and a good laugh too
Re: How much of what we're learning...
I completely agree wit @LuX too. Chillis teaching style is just perfect for me. I cant just write a function and use it for my programm not knowing what exactly it does. I hope Chilli tells us more about the saving procedure in detail. Or I could just search for it. That would be easier^^
Re: How much of what we're learning...
Hi,
I like the fact that we get to learn what goes on in the background.
I have written stuff in C++ and SDL, and that has librarys for doing everything that Chilli has shown us, but I much prefer knowing how to do it without using other peoples libraries.
So when the game is finsihed we can actually say we wrote all of that, and not borrowed all the code LOL.
I have written my own animated sprite class, and now I am thinking of writing my own font class. I am hoping to do a class that can handle fonts that are not fixed width. In SDL you could read fonts that were separated by pink lines in the font sheet. I am thinking along these lines, and reading the widths into an array.
Asimov
I like the fact that we get to learn what goes on in the background.
I have written stuff in C++ and SDL, and that has librarys for doing everything that Chilli has shown us, but I much prefer knowing how to do it without using other peoples libraries.
So when the game is finsihed we can actually say we wrote all of that, and not borrowed all the code LOL.
I have written my own animated sprite class, and now I am thinking of writing my own font class. I am hoping to do a class that can handle fonts that are not fixed width. In SDL you could read fonts that were separated by pink lines in the font sheet. I am thinking along these lines, and reading the widths into an array.
Asimov
----> Asimov
"You know no matter how much I think I have learnt. I always end up hitting brick walls"
http://www.asimoventerprises.co.uk
"You know no matter how much I think I have learnt. I always end up hitting brick walls"
http://www.asimoventerprises.co.uk
Re: How much of what we're learning...
Don't get me wrong bros, I'm enjoying the tutorials and teaching style as much as all of you. I was just wondering if this is how everyone learns to program with directx
Re: How much of what we're learning...
I have always enjoyed a solid understanding of how things work in the background and as I see it, Chili is showing us gradually HOW DirectX does it's magic! Without these fundamentals, we are programming a "Monkey see, monkey do" scenario... just my opinion.
Re: How much of what we're learning...
Hydrasin raises some valid points, but I'm glad to see that mostly everyone here can see that there is a method to my madness. Since this seems like a pretty hot topic, let me explain my philosophy in a little depth here.
That said, on a real project, a good programmer would try and make use of existing code as much as possible. I would never code a LoadBitmap from scratch on an actually game or tool I was making (take a look at my fukbmp utility and you'll see I use GDI+ to load the image). However, this is practice and training, and therefore it's okay to reinvent the wheel sometimes so that we may gain an innate understanding of its construction and operating principles. In future lessons when we are working on more advanced topics I will begin to make use of STL and other library functions because I will assume that these topic are now trivial to the student and so we might as well go with the path of least resistance (path of least bugs too). I will probably go over implementing our own container too, but then when that is done we will use vectors and queues from the STL wherever feasible.
It is all reinventing the wheel. All of this has been done before, but that's not the point. The point is: can YOU do it? By tackling these well-defined problems, you gain two benefits. First, they provide valuable experience in problem solving and the effective use of programming constructs. Second, they give you a deeper insight into the mechanisms of those pre-made tools when you do eventually use them. It is also very empowering to learn that there is no magic in any of the libraries you use, and that you can implement any of the functionality therein at any time if you so wished. Plus, it's just fun.Hydrasin wrote:How much of what you are teaching us is rebuilding the hammer? I would think that there are already functions/methods/whatever that are capable of drawing bitmaps and accomplishing other simple tasks that you have covered thus far...
That said, on a real project, a good programmer would try and make use of existing code as much as possible. I would never code a LoadBitmap from scratch on an actually game or tool I was making (take a look at my fukbmp utility and you'll see I use GDI+ to load the image). However, this is practice and training, and therefore it's okay to reinvent the wheel sometimes so that we may gain an innate understanding of its construction and operating principles. In future lessons when we are working on more advanced topics I will begin to make use of STL and other library functions because I will assume that these topic are now trivial to the student and so we might as well go with the path of least resistance (path of least bugs too). I will probably go over implementing our own container too, but then when that is done we will use vectors and queues from the STL wherever feasible.
Of course it is not necessary. There are plenty of tutorials out there that do not. However, I believe that it is preferable to do so. The reason is that it gave us an excellent problem on which to practice the manipulation of pointers and arrays (memory blocks). Also, while all programmers use strings, you'd be surprised how many of them do not actually know how a C string really works (especially in the beginner to intermediate skill levels). Of course, we will transition to std::string in good time, but don't think for a second that all the knowledge gained in the interim was in vain. That would be a foolish conclusion to reach indeed.Hydrasin wrote:in an earlier lesson you broke down strings right to the bone when I'm pretty sure there's already a whole library dedicated to string manipulation. I'm just wondering (Emphasis on wondering, I don't know because I'm a noob) if its as necessary to go as deeply into some subjects as you do.
Chili
Re: How much of what we're learning...
I think it's great that we get to go in depth and behind the scenes in the way we do. Sometimes I too get impatient and want to learn to program like a "real" C++ programmer, but I remind myself that eventually we will get there, and once we do we will be building on a very solid foundation.
/Nullbang
/Nullbang