Gee, I got an idea....

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

  • Gee, I got an idea....

    Why not just post the old SDKs that your samples are built on???? That way, those of us reading the book now don't have to wait until you decide to update the samples for the new SDKs.

    Buying and reading a book with samples that don't work really sucks wind. The book is not cheap enough to warrant this Mike.

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

  • Actually, it won't matter. I am getting a slew of build errors in the GameCode2 programs that have nothing to do with Novodex. Your inlcude statements for the GameCodestd.h library don't even reference the right directory. So, I fixed them all:

    C Source Code

    1. from:
    2. #include "GameCodeStd.h"
    3. to:
    4. #include "..\GameCodeStd.h"


    I think I got OGG and Boost setup correctly, but get some error in a boost file.

    Then I figured out why the min/max don't work. The Novdex SDK requires that you put NOMINMAX before including windows.h to suppress the defines for max/min. Apparently they decided to define it for themselves, but I can't find where they may have done this. I remove the NOMINMAX and I get a slew of errors in the Novodex code. So, I just copied and pasted the defines for min/max into the GameCode2 programs and headers that need them.

    Then I got a slew of errors about it finding the end of file for the precompiled header. So, I moved the includes around to fix this.

    After that I got a slew of yet more errors in the GameCode2 files. Many syntax errors on your function prototypes. I have no idea how to fix those. Your organization of header files and their includes is too much for me to figure out.

    Every attempt I made to fix things caused more errors to appear or maybe broke other things.

    Uncle! Whatever you did in whatever version of Visual Studio you used does not work with Visual Studio .Net 2003.

    I am pissed now. I spent good money on a book with code that doesn't work, and it would seem that the updates to the 3rd party SDKs you used was not that recent. So, your negligence in providing updates to the sample code, or giving us a list of things we can fix ourselves is rather sad, if not arrogant.

    None of the other books with sample code I have read have had these problems.

    If I knew how fix these things myself, or knew how to get the 3rd party SDKs to work, I would not need your book.

    I am going to have to give it a bad rating on Amazon if you aren't going to fix this soon, to let people know the code doesn't work, and the author is asleep at the wheel.
  • Nope. None of the SDKs prevents anywone from distributing it:

    boost:
    Permission is hereby granted, free of charge, to any person or organization
    obtaining a copy of the software and accompanying documentation covered by
    this license (the "Software") to use, reproduce, display, distribute ,
    execute, and transmit the Software, and to prepare derivative works of the
    Software, and to permit third-parties to whom the Software is furnished to
    do so, all subject to the following:

    The copyright notices in the Software and this entire statement, including
    the above license grant, this restriction and the following disclaimer,
    must be included in all copies of the Software, in whole or in part, and
    all derivative works of the Software, unless such copies or derivative
    works are solely in the form of machine-executable object code generated by
    a source language processor.

    Vorbis:
    Ogg Vorbis is a fully open, non-proprietary, patent-and-royalty-free, ...

    Novodex:
    I cannot find any copyright or EULA anywhere in the documentation or on their web site. It looks like open source freeware to me.
  • GamerRick -

    I can assure you the author is not asleep at the wheel and I'm happy to help you work through these problems, whether or not you decide to return the book.

    You've clearly spent a lot of time on the problem - making changes to the code that may or may not have installed complications in other areas - not really your fault - it's common when you're working in an unfamiliar code base.

    Perhaps the fastest solution to your problem is getting a known good build, including the SDKs, from someone - I know a few people on this site have already got the code working with the latest copy of Novodex, which seems to be the source of most of the trouble.

    I had indeed attempted to secure permission from Novodex to distribute their SDK - but unfortunately their company was being purchased by Ageia at the time of publication, and they couldn't authorize it at that time. Even if I had gained permission, I probably wouldn't have distributed all the SDKs with my source code because of the size of the download.

    I'm happy to help if you still want it.
    Mr.Mike
    Author, Programmer, Brewer, Patriot
  • also, dont try to do it all at once.

    first, get a window to compile and run.
    then add the
    DXUT framework, get it to run.
    just work through the book, adding the feautures
    seperating the code, fancy main loop, multiproccessing

    then, when you try to add in the SDKs for externally bulit sound/physics, you know your side works.
    (Place cool Signature here)
  • That's good advice - there are so many places any one of these things can fail it's best to take things one step at a time.
    Mr.Mike
    Author, Programmer, Brewer, Patriot
  • I don't get it Mike. Is your book not selling at all? Other than responding to posts on your forums, you seem to have no desire to put any effort into keeping anything up to date (Though you did say you might update the samples in the next few months. What about people buying the book now?)

    Your link to download the GameCode2.exe file still does not work. You want me to try to fix the problems with the help of someone else? Why don't you work with that person to update the code to work? Your job ended when the book was published?

    I wish I could return the book, but I bought it several months ago with another book that I read first. I must have been spoiled by that first book, since the author also maintains a web site and updates the sample code when problems are found. I am now helping him proofread his next book.

    I would rather read and understand your book and the sample code so I can then write my own games, then to spend a lot of time fixing it just so it will compile.
  • Strange that the link doesn't work. It works for me. I'm using FireFox.

    Just so you know, a major reworking and updating of the GameCode2.exe is in the plans, but the responsible parties all have day jobs in the gaming industry. The author is currently running a local game studio, and the other code contributors have their hands full with game projects at work under an aggressive schedule.

    You ever wonder why you don't see more books from actual working programmers in the industry? The book and its code is a labor of love more than anything else, and a lot of the material in that book is possible only because the author happened to be in between jobs when the second edition was started. This forum and the upcoming code revisions are not required by the publisher in any way.
  • The book and its code is a labor of love more than anything else,....


    How naive! All one of them needs to do is make the SDKs they used to write the sample available to us. The SDKs were updated shortly after the book was released. Or, if they loved their product so much, they could update their samples to work with the latest SDKs.

    If it were me, I would feel pretty bad about the fact that people buying the book and trying the sample code would find the sample unusable. Obviously, it is not worth it for them to update the code. They are working on things now that give them their next paycheck. They have other priorities.

    If anything, this shows how game programming is a business like any other. I don't blame them for not doing anything (yet), but as a programmer that bought the book to learn game programming, I find the fact that the samples have stupid errors (like the min/max thing, that can be easily fixed) and won't work with the SDKs currently available to us, makes it a bad product for me.

    Frankly it just seems hipocritical to me publish a book that essentially preaches how you should design and code a game, and then put out a sample code that breaks as soon as a SDK is updated, and make no attempt to update the code or make the SDK used available.

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

  • Reading through our points, i've noticed you have made quite a few attacks. I've seen many people try and help you through the other threads you have posted asking for help, yet you continue to make attacks.

    Speaking from experiance, I've never found a community like this where people are so willing to help. I was even more suprised to find the author is so willing to help out as much as possable on any of your questions, not just about the book. It's nice to be able to ask a question and not having to worry about being flamed every time you talk.
    I'm sorry to see you so frustrated. I just hope you realize that people here want to work with you, and they are trying to help. There really is allot of great information in both the book and the code provided.
    Wort wort wort.
  • Well, I am sorry if you think my position is too extreme. I am a noob, trying to learn C++, windows programming (WIn32), and DirectX. I have to decide what to spend my valuable time reading and learning from. Having been a mainframe programmer for 18 years, who got laid off in April, this isn't just a game for me. I have a really hard time respecting the author because of the sample code problems.

    I agree that there is valuable info in the book. Today I incorporated pages 154-155 into my own game to find memory leaks. I found one.

    But to really learn the meaty stuff, I will need to be able to read the book AND make sense of the code. I have never been able to understand code without documentation and working code (code I can trace). The fact that it won't compile means that I cannot run it to see what it does with the code it has.

    I agree that the people and the author have said they will help. But trying to get the code to work with the current Novodex SDK is way beyond me at this point. Fixing the min/max problem was easy. But unless someone can GIVE me the modified segments that will work with Novodex, I will not be able to gradually learn the code until I get to a point that I am ready to understand 3D physics and then delve into a very expansive SDK.

    If someone has indeed fixed the sample code, then they could help us all by just posting the fixed cpp and h files somewhere so we can include them.

    WHat I am hearing instead is we will help YOU fix it. Which as I said is beyond me right now.

    I can't help but think that if I already had the knowledge to debug and update the sample code, why would I even need to read the book in the first place?

    Maybe it would be a good exercise to debug and update the code. But it is not one I am ready to do when I am at the beginning of the book and trying to understand the ABCs first. I am not ready for XYZ right now.

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

  • Originally posted by GamerRick
    I am a noob, trying to learn C++, windows programming (WIn32), and DirectX. .... Having been a mainframe programmer for 18 years, who got laid off in April, this isn't just a game for me.


    That's a really big chunk of stuff to learn. I'd suggest starting smaller. What language did you code in on mainframes? As a side note, I'm not too familiar with mainframes but on a PC you can have about umpteen gajillion different hardware configurations which introduces its own list of complications (like faulty or incomplete drivers, for instance). And the hardware keeps coming - as well as the drivers and other software - which makes it tough to keep up to date.


    I have a really hard time respecting the author because of the sample code problems.


    And every other book you've ever picked up has provided bug-free sample code? I've had no such luck, and most of the time the author is unavailable for comment, let alone help.


    WHat I am hearing instead is we will help YOU fix it. Which as I said is beyond me right now.


    Unfortunate - because fixing things yourself, or with help, is a great learning tool. You don't need to understand "3D physics" to integrate the new version of the Novodex SDK - you have to follow the instructions that come with the new version for updating from the old version. If you use the compiler's error messages to locate the problem areas using the instructions as your guide you should be able to tackle this with far less effort than you seem to think.


    Maybe it would be a good exercise to debug and update the code. But it is not one I am ready to do when I am at the beginning of the book and trying to understand the ABCs first. I am not ready for XYZ right now.


    Maybe you should put this book back on the shelf until you can code in C++. Crawl before you walk, walk before you run, run before you debug. If you feel that you can just "pick up" C++ from the few introductory chapters provided in most game programming books you will be sorely disappointed. While these provide the basics (and I mean basics) of using the language, C++ is very rich and making best use of it is non-trivial.

    If you think that you are simply going to sit down and start making a living popping out games when you can't even code in your chosen language when the rest of the world usually spends a few years learning the language before even touching on the idea of gaming, you may want to re-think your strategy. Try setting realistic goals and stop taking your impatience out on the people who are trying to help you. I've been coding in C++ for 15 years as a hobbyist and I can tell you that coding even a simple game takes tons of work and planning. By yourself, even knowing how to code in C++, you're still looking at a few months to code a game that will get you on the bargain shelves at $9 per copy on a CD with 49 other games. More ambitious projects extend the workload considerably. And if you're by yourself you now have to learn 3D modelling, become an artist, musician, actor, writer, producer, sound technician, etc.... Not something to just jump into because you've been laid off.

    I'm not trying to be mean or rude, but come on. Everyone has tried to be reasonable with you and you just keep whining because you can't deal with this yourself. Even a $250,000 game engine comes with "tech support" and not "we'll fix every little issue you have ourselves if you don't understand our codebase." They work with the developer to resolve issues, not take the developer's codebase and integrate it with their engine for them. If that's all you get for $250k, why should you expect more for $50?

    So take a deep breath, knuckle down and follow what advice and instructions you can find. The "School of Hard Knocks" is tough, but it's a place where you never forget the lessons learned.
    "Your job is not to die for your country. Your job is to make some other poor sod die for his."
  • Originally posted by GamerRick
    I wish I could return the book, but I bought it several months ago with another book that I read first. I must have been spoiled by that first book, since the author also maintains a web site and updates the sample code when problems are found. I am now helping him proofread his next book.

    That author sounds awesome! Would you mind telling us which book that is? I'm always on the lookout for good programming books.
  • That was quite a speel there Neb, quotes and all. Just gotta ask, since it would have taken you about as much time to put the updated program files and headers into a zip file and make them available for all of us as it did to type out that lecture, why isn't anyone making them available?

    I would if I had them. But then I would not think of it as my property, nor think of someone as wanting them as a cheat or something.

    I already posted the source code for my first game on the other author's site. Most of it was from his book. How could it really be "mine". But then, in my years of programming I have met people who are also considerate of others that are less experienced and trying to learn.

    Many believe in the concept of "ego-less programming". Obviously if something is proprietary it is different. But I don't think anyone is going to profit from fixing Mike's sample code.

    The other author is Frank Luna. I read his first book "Introduction to 3D Game Programming with DirectX 9.0". It's a beginner book though for DirectX. His next will be better, as it includes more on the math required, covers more of the DirectX SDK, and incorporates HLSL in the chapters.

    I already bought and read another math book, as understanding the math for 3D programming is essential.
  • The reason Neb doesn't post something that big is because I don't allow it.

    But, even if Neb had a solution to your problem I doubt he'd be motivated to post it, given the general tone of this thread.

    The fact is that something approaching a solution to the SDK problem and the general difficulty of getting the source code to work will be forthcoming shortly.

    That said - its important to not that no one, not even I, is obligated to answer a single question anyone has on this site. Any help given is done so out of a willingness to do so, and also done on personal time. Everyone here is a volunteer and they should be treated as such.

    There was a disclaimer when you registered:
    I guarantee absolutely nothing. If you find anything useful on this site consider yourself lucky - if I ever find the time to answer a single question ask yourself if you've just witnessed a sign of the imminent destruction of the universe. That said, I'll do my best to make sure that questions are answered and that this site is something you'll come back to again and again. The amount of time I have to make this site better is directly proportional to the success of the book - so buy a copy and tell your friends to do that too!


    If you ask a question, be polite. If someone takes time to answer it, make sure to thank them whether or not the solution worked. Do this and you'll find help every time you ask for it.

    And now with my nearly infinte powers, and my desire to have the last word on this post - I declare this thread locked.
    Mr.Mike
    Author, Programmer, Brewer, Patriot