Some feedback and questions

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

    • Some feedback and questions

      Hello Mr. Mike and Rez,

      So I picked up Game Coding Complete 4th edition, fantastic book! As soon as I got it I read the entire book in about a day and a half, and then I read it completely again. Not too many books I do that with.

      I want to commend both of you on spreading this information and all the inside secrets you share with your readers. Very few people would ever take the time to write a book and share information like this which is generally kept in very closed circles. And I'm pretty sure you aren't exactly getting rich on this so I would at least like to give you a huge thanks!

      I really like your component system instead of using multiple inheritance for everything, glad someone finally said it. Also your event messaging style of implementing communication between objects was very well done and if anyone listens to you will save them hours of coding and make expanding their code extremely simple. These two things in my mind really stick out from the book as incredibly valueable tools; and on top of that they were very well explained.

      Tales from the pixel mines were fantastic! I grew up on savage empire, ultima, and everything else from origin. Knowing the stories behind them makes you feel like you were almost there when they were making your favorite games of all time. Also the AI story of the executioner who jumped into the monster pit in the sims made me howl. I would purchase a book that was just entirely tales from the pixel mines.

      Now one thing that I found interesting (especially as the book proceeded along) was that the stories of crunch time, publisher dead lines, and so forth really starts to take on a very grim sounding job. In an industry that is very infantile in its business proceedings (crunch time, low pay, release dates and disk pressing dates in stone for a game that is currently crashing hard, etc.) I need to ask why do you still participate in it? With the exact same skill set (in fact ones even significantly less) you could get a job that pays 3-4 times as much and only work a 9-5. So why are you still participating in the industry? In the book neither of you ever gave a very solid, convincing answer.

      I'm glad you talked a lot about workflow on a team, using different versioning control systems, branching, and so forth. Very few people talk about those things but they are critical for productivity, and your suggestions really send a person down the right path.

      Your book really addressed a gap that no one covers. Most books just talk graphics and discuss usually a very poor engine setup, and maybe a touch of AI. And thats where pretty much every book out there stops, so basically less than 2-3% of what you need to know to code a game yourself or work with a team. Your book really fills in at least 75-80% of what a person needs to know which no other book I have read does. Your book is so ahead of everything out there, but at the same time I don't think the majority of people reading it are going to understand that unless they have ever worked on a professional project.

      So once again thank you for covering the real inside details of coding a game (especially as it relates to working on a team), I haven't read anything this good in years.

      Thanks,

      Craig.

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

    • Thanks so very much for your compliments, Craig.

      You are correct in the salary bump I could have had, if I would have just worked on something in a more traditional computing career. I've been asked many times why I'm still doing this, and after some 20+ years in the industry I tend to settle on a few pillars of my motivation.

      First and foremost, I enjoy the people I work with. They are passionate, smart, incredibly creative and to a person has decided to forgo a higher salary for a creative endeavor. This can sometimes lead to stress and tension in the workplace, but most other times it leads to laughter, discovery, and plenty of those Eureka moments where everyone around you tells you that you did something cool that day.

      Second, I love any endeavor that marries art and science, and working on games is certainly that.

      Third, the problems I'm challenged with solving are challenging, and that holds my interest. As deterministic as a few lines of code can be, when brought together into large complex systems you invariably get unusual and unexpected behavior. In addition, new hardware for gaming is always coming out, and I'm always getting to discover and learn. Also, designers and artists are always asking for something that seems impossible - and when I can pull it off it's a great feeling.

      Fourth, I just love that feeling when someone comments to me online or in person that they enjoyed a game I worked on. Each of us are on the planet only a certain amount of time, and it's really nice to think that the work that I do brings joy into people's lives.

      Thanks again for your kind words.
      Mr.Mike
      Author, Programmer, Brewer, Patriot
    • RE: Some feedback and questions

      Thank you very much for your incredibly articulate and heart-felt complements! It means a lot to me to be able to help those are trying to make games. I remember what it was like when I was first learning and there were very few resources. :)

      Regarding your question about why I still do this, the simple and perhaps unsatisfying answer is because I can't see myself doing anything else. Sure, I could double my salary and cut my hours by going to work down the street at Oracle or even Google, but then I wouldn't be making games. I would be spending half my waking life doing something I didn't enjoy. Today, I get to spend most of my waking life doing something I enjoy. Besides, I still make six figures at my level so it's not like I'm making minimum wage. The truth is, I simply don't care that much about money. It's not my priority.

      Crunch can be pretty painful, but it also depends on the company you work at. I'm the lead AI programmer on The Sims at EA. On our project, we don't crunch to heavily and an average week is about 40 hours. Sometimes I work later, but usually it's because I'm really interested in whatever I'm working on and don't want to leave. When crunch does roll around, it can actually be a real team-building exercise. We all pull together, buckle down, and get it done. Crunch that lasts a couple of weeks can be a positive thing, especially when it's a project you believe in. It makes you willing to put in that extra effort to turn a good game into a great game. It's when it starts pushing towards a month or more that it gets to be a grind. Unfortunately, most projects turn into that at the end. Some companies seem like they're always in crunch. Planet Moon was a good example, and Play First when I was there. That gets old and there's a reason I don't work there anymore.

      There's also a certain amount of craziness involved. Most people burn out after about five or so years and end up getting more stable jobs at other companies, or they become indie developers (though that certainly doesn't get rid of things like crunch). Those of us who have been at it for this long and still crave more are a little nuts.

      The book was similar. Mike and I wrote Game Coding Complete as a labor of love. We probably got paid about $0.50 per hour if you broke it down but it didn't matter. Posts like this make it all worth it.

      At the end of every project, I always take a step back and smile. We create something that was bigger than the individual. My favorite moment from The Sims Medieval was when my best friend from Junior High sent a message on Steam and said "Dude, I love your game!" He then proceeded to tell me a story about his wizard character and how he had challenged the pit beast. I had a huge smile from ear to ear. That's why I make games, for that moment right there. Besides, where else can I make brains for a living?

      Hopefully that answers your question.

      -Rez