How to properly use this book?

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • How to properly apply this book?

      First a little bit about my self..... Im a Computer science student. well actually that might be the only relative information lol.

      My question is to to rez and mike, and the rest of the community.... how are you guys using this book to aid your progression in game dev?

      I'm a student and im particularly interested in good progressive study habits.

      I've taken quite an interest in game dev. I started out with XNA and made a 2d brick breaker game and I would like to build on that.

      Im currently blasting my way through GTGD's youtube videos using Unity on making a fun little first person shooter.

      So relating to this book, I find my self actually reading it more than really doing any programming(like I said its fun to read) and honestly other than downloading the source I have not even touched programming with this book.

      What kind of habits do you guys have ? What methods do you guys use that works for you with the book / progressing in game dev. How do you use / apply the book?

      I have the GCC book and im hoping to combine it with
      Game engine architecture that I just bought
      (amazon.com/Game-Engine-Archite…son-Gregory/dp/1568814135)

      to maximize my knowledge!

      Thanks! :D

      The post was edited 5 times, last by xCmac ().

    • RE: How to properly apply this book?

      I find it interesting that we've been getting this question a lot lately. People ask us how to use the book and, honestly, I don't really know how to answer this. The answer that's obvious to me is that you should use the book to help you learn in whatever way works best for you. Humans don't all learn in the same ways, we each have our own way of retaining information. In fact, something that works for one person might actually hinder another person.

      That having been said, I'll try to address your specific concerns.


      First a little bit about my self..... Im a Computer science student. well actually that might be the only relative information lol.

      What year are you in?


      My question is to to rez and mike, and the rest of the community.... how are you guys using this book to aid your progression in game dev?

      Personally, I tend to use books as reference or to get ideas to solve specific problems. When I'm learning a brand new concept, I usually read the chapter/article, then write a simple test program to make sure I understand it all. When I read a paper on an algorithm, I analyze every single line of code and make sure I understand why it's there.


      I'm a student and im particularly interested in good progressive study habits.

      Like I said, everyone is different. After a while, you'll figure out what's right for you.


      I've taken quite an interest in game dev. I started out with XNA and made a 2d brick breaker game and I would like to build on that.

      That's great! You should post it here and get feedback from people. :) A great way to get started is to remake a classic game like this. Your next step is to choose a new feature that you think will make the game even better and implement that.


      Im currently blasting my way through GTGD's youtube videos using Unity on making a fun little first person shooter.

      So relating to this book, I find my self actually reading it more than really doing any programming(like I said its fun to read) and honestly other than downloading the source I have not even touched programming with this book.

      That's a trap a lot of people fall into. You can read everything in the world about games but it won't make you a better programmer. You have to actually make games to get any better. Use the book as a guide to help you, but if you want to be a good game programmer, lock yourself away and make 20 games. Yes, twenty.


      What kind of habits do you guys have ? What methods do you guys use that works for you with the book / progressing in game dev. How do you use / apply the book?

      For all my personal projects, I treat them like real game dev projects. I sit down, figure out what I want to make, then go through a scoping exercise. First, I set a deadline. My current project was set as 7 weeks. Next, I go through the design and estimate how long I think each feature will take. If I can't guess, it usually means I need to break the problem down further. Once I figure out how long everything will take to complete and how much time per day (or week) that I'm willing to commit, I start cutting features until I'm reasonably confident that I can complete the game by the date I came up with.

      Then I start making the game. As I do, I keep track of how accurate my estimates were and how much discovered work (stuff I didn't think about but need to do) I find. If I start getting too far behind, I go back to scoping and cut more features until it fits again.

      This is how professional game development works. You start out with this huge, epic thing you want to build. Then a producer (like Mike) comes over and tells you can't do that cause it won't fit into scope. You argue with him and the designers for a while and eventually you hone in on the core fun of your game. Then you build it. In the end, you come out with something much more focused.


      I have the GCC book and im hoping to combine it with
      Game engine architecture that I just bought
      (amazon.com/Game-Engine-Archit...y/dp/1568814135)

      to maximize my knowledge!

      Yep, that's a good book. In a way, it's like the level up from our book. Ours is aimed at people exactly like you; people who are learning programming and new to game programming. Game Engine Architecture is meant for an audience that's a bit more advanced. We cover things they don't, and they cover things we don't. So yes, it's a book compliment to this book. :)

      -Rez
    • The way I approached GCC initially was just trying to learn about the different pieces of a "typical" game engine and how they fit together. It was mainly about asking "What problems need to be solved?" so that I could try to understand why the presented solutions were chosen and what alternatives might be. I think it's valuable for trying to understand why things are designed the way they are, more so than simply figuring how things work.

      My two cents,
      James
    • Ever since I was a kid, I would take things apart and try to figure out how they worked. Sometimes I would get lucky and get it all back together again, and it would work like new. Other times I wasn't so lucky.

      If you are like me, you could use the book as something of a "Technical Owners Manual" of a game engine. First get the source code running and make sure you have something that works. Then go read a chapter, and tweak the code that chapter refers to, and see what happens. If you break it, try to understand why - if you can't you can always restart by grabbing the source code again.

      Wash, rinse, and repeat and soon the confusion will transform into understanding, and you'll be able to modify the code with confidence.
      Mr.Mike
      Author, Programmer, Brewer, Patriot
    • 2 cents more (adjusted for inflation)

      I saw this and the similar 'right approach' thread and thought I would jump in. It has been mentioned that people have different ways of learning and different goals. Some would never read a book cover-to-cover, but for me I fee more comfortable doing so since it seems to give me a good foundation. As an example, I feel it helps me to determine (more easily) if a tip I am reading is relevant or not. But more importantly I believe it helps in my overall understanding of a subject. I do not feel I would ever become an expert at anything by picking up bits and pieces of knowledge here and there.

      I would also add that some people just want to be able to do something and others want the knowledge that goes along with it. I believe learning to play a song is very similar. There are video tutorials that will teach you to play "a song" by showing you where to place your fingers. However, what is missed in the case of (for example) guitar is the fact that much of learning to play is about learning how to (in general) move your fingers. So through finger exercises you gain the ability to correctly move your fingers in the way they will need to move for many different songs. You still need to learn the song, but the mechanics will become trivial. I believe to that in learning the details associated with game development (i.e. the "why"), you will become more adept at developing games, both individually and as part of a team.

      As an aside, I am sure everyone has seen the Forward Unto Dawn Halo4 videos on utube, but I have posted a new set of links just in case. The reason for the posting is the mention of Biofoam in the 5th video. Well, as the link below reveals, biofoam is here.

      Biofoam
      bbc.co.uk/news/technology-20693705

      File Name: Halo 4_ 1a.mp4
      File Size: 277.3 MB
      Download Link: sendspace.com/file/ku6j94

      File Name: Halo 4_ 1b.mp4
      File Size: 132.1 MB
      Download Link: sendspace.com/file/i2qogm

      File Name: Halo 4_ 2.mp4
      File Size: 298.3 MB
      Download Link: sendspace.com/file/a6zqnc

      File Name: Halo 4_ 3.mp4
      File Size: 295.4 MB
      Download Link: sendspace.com/file/kd950g

      File Name: Halo 4_ 4.mp4
      File Size: 253.7 MB
      Download Link: sendspace.com/file/c3ooxu

      File Name: Halo 4_ 5.mp4
      File Size: 270.8 MB
      Download Link: sendspace.com/file/98e5hd

      The adventure continues.
    • I bought this book because I loved the idea of having Teapot Wars as a working example of a (basic) modern game. I wanted to understand every line of that program.

      After I bought this book, I found that my object-oriented programming skills were not up the par needed to understand the book well. So I took a couple months and studied C++, looking through Teapot Wars and making sure I understood how it was using inheritance and encapsulation.

      Then I ran into the factory pattern they use in a few places and got confused by that, so I took time off to study patterns in object-oriented programming.

      Then I realized that I was unclear on how it was making a static .lib and linking it to the Teapot Wars game. So I took a couple months to study computer systems, static vs. dynamic linking, and the Windows model of development to get that cleared up in my mind.

      Then I realized I would want to understand the 3D graphics pipeline, so I studied DirectX.

      This has been continuing ever since I got the book right as it came out. I work through a chapter, realize there were some topics that felt over my head, so I would study them and come back to see how they were integrated here. The process means that while I am still only about halfway through the book since I got it in March, I am a much better programmer with a far deeper understanding of development than I was when I started.

      I don't know if this book can truly be comprehended on its own. It's too complete, for lack of a better description. It would have to be thousands of pages long to truly explain all aspects of what it is teaching, and as such, I have needed to supplement my learning through other books that go deeper into specific topics.

      The post was edited 1 time, last by buuck ().

    • buuk makes a great observation, and it illustrates the goal I set out to complete starting with the first edition and culminating with Rez's work partnering with me on the fourth edition - and that is to provide a shallow dive into a wide variety of game programming subjects.

      This book is certainly best understood by using other books that do the deep dives into 3D, AI, and other subjects - many of which are listed in "Further Reading" at the end of each chapter.
      Mr.Mike
      Author, Programmer, Brewer, Patriot
    • Not to beat a dead horse, but I agree the previous posts. The first thing I realized is I lost some of my C++ skills and really did not know Visual Studio that well. So in parallel I am reading Horton's Visual C++ 2K12, mainly because it is an easy read and wont kill any brain cells. I also have a DX11 book, but I am months away from starting that.

      In a previous post In stated there are those who want to be able to do something without in depth knowledge. The GCC book is perfect for that because it covers most of the issues you need to master when developing a graphics application. I believe some smart phone game development falls into the category of not needing in-depth knowledge.

      For those of use who a trying to become an expert, there are few shortcuts and it is a long road. Due to other activity, I believe it will take me a year to get to where I want to be (initially). I will develop games along the way, but any major project I am contemplating is about 6 months to a year away. And I am fine with that. Just my 2 cents worth.
    • I unfortunately have to retract my 'recommendation' of Horton's VC++ book. It helped me learn my way around Visual Studio, but that was chapters 1 and 2. It does not appear to delve into new Visual Studio functionality until chapter 11. However, the other reason is it is a somewhat painful learning experience. The early coverage is somewhat shallow. It might get better, but I cannot afford to wait. I am now forced to pick up the primer plus book. I am posting this to try to ensure I did not lead anyone down the wrong path.
    • Rez: Sorry it took so long for me to reply, things have been really hectic. Taking mini semesters and full semesters in school, Cant catch a break :(.


      Anyway....

      Im on my final year, I will be graduation in the spring of 2014 (can be expected to be pushed back if I get the internship I want)

      MrMike, I have downloaded the source code just havn't had enough time to see if it will compile right off the start (judging by what im reading there will be some complications!)

      have you guys been to any colleges? (I believe I've read somewhere that Rez would visit some colleges)

      There is a Computer Science career coming up, what are some things you guys would look for in a possible students candidate resume? (other than a link to a portfolio)

      Time gate studio will be there, I spoke to them last semester, I had a really intriguing conversation with them and they told me to be here this semester again. So hopefully things workout in my favour!

      The post was edited 1 time, last by xCmac ().