Reddit Reddit reviews Game Coding Complete, Fourth Edition

We found 32 Reddit comments about Game Coding Complete, Fourth Edition. Here are the top ones, ranked by their Reddit score.

Computers & Technology
Computer & Video Game Strategy Guides
Books
Game Coding Complete, Fourth Edition
Check price on Amazon

32 Reddit comments about Game Coding Complete, Fourth Edition:

u/Aeiorg · 43 pointsr/gamedev

First of all, I wouldn't recommend learning game coding by looking at a codebase, the biggest reason being that all games are different and are using different techniques (obvious one being 2D vs 3D, but you have tons of differences between a FPS, a RTS, an open-world, etc).

I would recommend to find books or articles that explain why a certain technique is usefull, the coding language doesn't really matter, the technique itself is what is important (As you are saying it's for learning purposes and I don't think it's quite interesting to understand data-driven programming, cache optimization or 3D APIs optimization for C++ when you are first trying to understand a game structure).

I can recommend two really good books :

u/mysticreddit · 21 pointsr/gamedev

These days there is only 1 book I would recommend, and a honorary mention:

Buy

u/johhov · 19 pointsr/learnprogramming

Game Coding Complete was the book we used in my game programming course during my bachelor.

u/moarthenfeeling · 18 pointsr/gamedev

Thanks for linking to my tutorials. Seeing the title made my heart drop for a moment, because I thought that you were talking about me suddenly stopping without achieving anything, ha-ha. (Well, I haven't written in a long time, but new articles are on their way)

There are not much tutorials which talk about more advanced topics, because it's a lot harder to write about them: you have to research a lot, you have to get some experience with the stuff you want to share with other people. Another problem is that it's much harder to come up with examples and sample code for harder and more complex stuff. Some things are just not a very good fit for the format because you have to write hundreds of lines of code.

That's why I mostly prefer books to tutorials, while I still can randomly find a cool tutorial on the topic I'm searching for in Google.
Here are some books which helped me the most (you already mentioned Game Programming Patterns, it helped me a lot too)

  • Game Engine Architecture - lots of examples of how to structure your code and think about the main systems of your engine (to be honest, this is one of the best books on the topic I've ever read)

  • Game Coding Complete - talks about lots of topic in detail. Lots of code examples, some are about complex topics.

    Another thing I can recommend is to read /r/devblogs, there are some in-depth blog posts which talk about complex topics and show how some problems can be solved.
    As a bit of self-promotion, I want recommend my game's dev log thread which talks about complex topics and features code and solutions to the problems I solve. :)
u/davemakesnachos · 8 pointsr/gamedev

Game Coding Complete has been a great read so far. It covers a lot of "big picture" things and architectural discussion which I haven't seen in a lot of other books.

u/Daganar · 7 pointsr/GraphicsProgramming

.FBX is one of the most used formats in the industry, what usually happens is the artists output their work into .FBX files and either the engine loads it directly, or will convert it to a proprietary format that's most efficient for their engine. Unfortunately information on .FBX is not publicly available so you have to use their SDK.
http://usa.autodesk.com/adsk/servlet/pc/item?siteID=123112&id=10775847
http://docs.autodesk.com/FBX/2014/ENU/FBX-SDK-Documentation/

.OBJ is not a suitable format for animation it's only good for defining meshes and materials. A very good library that removes all the hassle of format loading is Assimp: http://www.assimp.org/

Lastly, animation formats don't store individual vertex positions, it will store matrix transformations. It's worth looking into how animation is done, I don't have any links but I would recommend looking at the following books:

https://www.amazon.co.uk/d/Books/Game-Engine-Architecture-Jason-Gregory/1568814135

https://www.amazon.co.uk/Game-Coding-Complete-Mike-McShaffry/dp/1133776574

u/Bibdy · 6 pointsr/gamedev

Alright, in that case it sounds like you can benefit from 'the general advice':

  1. Make a 'vertical slice' of the game as early as possible. Networking, animation, scene loading, GUI, etc. This will ensure that every major library and tool you need gets in there early, and you workaround the conflicts between them before it becomes a burden to insert a new one. One of the big mistakes on one an early projects was to leave the entire GUI to the last minute, but because that 'conflicts' with general user input it was a huge chore to workaround certain issues after a lot of the user input code was in place.

  2. Trello is a handy tool for managing tasks, but I'm sure there are other perfectly good alternatives. Despite what you use, update your task list often and make sure you break things down into bite-size chunks that can be accomplished within between an hour or an entire day. That way you're always making progress and keeping your motivation up as that list gets shorter (although it will inevitably keep getting bigger as you break things down more, or remember things you forgot originally)

  3. If its taking forever and motivation is going down the tubes, cut features. Don't debate, don't haggle, just start cutting features to trim down the workload and get yourself back on track.

  4. Source control. Use it. Git with Bitbucket, or TortoiseSVN and VisualSVN Server Manager are my go-to solutions. It's both a log of your activity and your only saviour when things go wrong.

  5. Don't be afraid to tell people about your project, and never tell yourself someone is going to steal your idea, because you need as much feedback as you can get. And the earlier the better. My wife asked me why I'm so cavalier about telling people about my current project even though I'm only a couple of weeks into it, and its because everyone has their own project that they believe in, and when I mention my project to someone they're more likely to give advice on how to make mine better, or more like their own project (unconsciously giving away their own 'secret sauce' recipe), than they are to steal it and build out a competing product. People will only bother stealing an idea that's already been proven to work.

  6. Read books on game development and clean coding practices (if you haven't already). You'll be amazed what great lessons people are willing to impart for next to nothing, or even free (like I'm doing for you right now, incidentally). Two of my favourites are Game Coding Complete and Clean Code - A Handbook of Agile Software Craftsmanship.
u/NickJVaccaro · 6 pointsr/gamedev

Is this what you mean by "Game Programming Complete"?

http://www.amazon.com/Game-Coding-Complete-Fourth-Edition/dp/1133776574

I'm asking because I like to backlog books like this and want to make sure it's the right one. I've also seen this one suggested elsewhere.

u/Serapth · 5 pointsr/gamedev

There isn't a completely language agnostic book out there like you'd find with say Code Complete, but there are two books that fit your description but neither is really a beginner text.

 

Game Coding Complete

and

Game Programming Patterns, much of which is available on his website.



Once you get a bit more (ok, a lot more experienced), Game Engine Architecture is another great read.

 

Other than those 3 books, almost everything else is technology or language specific... like Learning Unity 5 or Learning Inverse Kinematics for __, etc.

 

While you are just starting out however, you should consider the beginners guide on Gamefromscratch, followed by various tutorial series or game engine overviews, as you aren't at the point where you really need to buy a book yet.

u/Chukobyte · 4 pointsr/gamedev

Disclaimer, I haven't personally built a full functioning game engine from scratch but I've been interested in game engine architecture. I recommend two books I'm currently reading, Game Engine Architecture and Game Coding Complete.

u/ganjlord · 3 pointsr/gamedev

I'm writing an event manager for my game, and the game dev book i'm reading suggests using hashed strings as a unique identifier for game events. Why is it necessary to hash the strings? Shouldn't the pointer be a sufficient identifier? Aren't hashing functions usually expensive?

u/LokiNinja · 3 pointsr/gamedev

It seems like you're on the right path. I started working with major engines like unity and UDK. In addition I started writing small game clones (Pong, Pac Man, Asteroids) in C++ using DirectX. Once I was comfortable with all that I started working on my own flexible/reusable engine and writing my own tools. Using Unity and UDK gave me a good idea of what sort of features I needed to support and helped me develop comprehensive use cases. The whole point is that it is really an individual process. I don't have a degree, just been developing in C++ for the past 15 years. Tons of good literature out there too! http://gameprogrammingpatterns.com/ http://www.amazon.com/Game-Coding-Complete-Fourth-Edition/dp/1133776574 http://www.amazon.com/Game-Engine-Architecture-Jason-Gregory/dp/1568814135. Those are some of the resources I found particularly helpful.

u/juggerthunk · 3 pointsr/learnprogramming

I got my start by taking AP CS in high school. However, I had already gone to college and that was a while ago, so I read some books on the commute to/from work.

Initially, I read Sams Teach Yourself PHP, Mysql and Apache all in one to learn PHP.

Immediately afterward, I read Murach's Java Se 6 and Beginning Java Objects to learn Java.

Most recently, I read a portion of C++ Primer Plus, but got very sick of it. I've read most of Accelerated C++

I have a few other books on C# to read when the time comes to actually write code.

By the time I had read all of the above, I felt pretty confident on how to structure a program, regardless of language. As such, I was able to pick up Python and JavaScript quite easily just by reading online documentation at Python.org and W3Schools. When I'm writing a web app, I'll rely pretty heavily on PHP's and MySQL's online documentation to help me with whatever syntax quibbles I may have.

I still want to read Game Coding Complete and I'll probably want to find a few resources on programming within XCode.

They all tend to follow the same programming paradigms, to be honest. Java did a good job in getting me into an OOP mindset and C/C++ did a good job at helping me think about how to program things without layer of abstraction. Once I learned these concepts, it was pretty easy to get started with a new language. Programming in PHP can be super sloppy, but taking what I learned from other languages, I'm usually able to write fairly clean code in PHP (especially when I learned how to use classes).

I wouldn't recommend all of the books above, to be honest. I didn't have much ability to do online training at the time and compiled lists of books weren't nearly as useful at the time, so I relied mostly on Amazon book reviews. I'm sure you can find a few choice books on each language you want to learn and go that way. If you were to read books, I think Accelerated C++ is a good book, but works best if you already have some experience programming. I remember like Beginning Java Objects more than Murach's, though both are great as references (which is why they're both still in my bookshelf). C++ Primer Plus spends too much time teaching C and not enough time teaching C++ (you spend pages upon pages learning about C-style strings, aka char arrays, rather than just using the String Class, but I digress).

Ultimately, I could read a bunch about a language, but I never truly learned the language until I started writing in it. I've written a handful of programs just as proofs of concepts and I recommend you do the same while learning any language.

u/kcbanner · 3 pointsr/gamedev

Chapter 22 of Game Coding Complete covers this.

u/snikurtv · 3 pointsr/gamedev

Heres the sources I used to create a 3D OpenGL engine.

https://www.youtube.com/watch?v=VS8wlS9hF8E&list=PLRIWtICgwaX0u7Rf9zkZhLoLuZVfUksDP

https://www.youtube.com/watch?v=GFYT7Lqt1h8&list=PLlrATfBNZ98eOOCk2fOFg7Qg5yoQfFAdf

https://www.youtube.com/watch?v=ftiKrP3gW3k&list=PLEETnX-uPtBXT9T-hD0Bj31DSnwio-ywh

https://www.amazon.com/Game-Coding-Complete-Fourth-McShaffry/dp/1133776574

http://www.randygaul.net/2012/08/23/game-object-factory-distributed-factory/

http://www.randygaul.net/2013/05/20/component-based-engine-design/

Use libraries for things you don't understand. Use Box2D or Bullet for example as physics engine.
You can learn as you go, no need to know everything at the start. Start with basic shapes without light or textures. Then add components as needed (component based engine design). Components can be things such as model, material (texture + data), AI, physics, controllers.

u/DanBrink91 · 2 pointsr/gamedev

I don't know enough to answer you without knowing I'm not completely wrong but I can point you in the right direction.

I recently purchased Game Coding Complete http://www.amazon.com/Game-Coding-Complete-Fourth-Edition/dp/1133776574/ref=sr_1_1?ie=UTF8&qid=1334788077&sr=8-1
and it describes a model very similar to what you're talking about (separation of game and rendering). I can't recommend this book enough, I'm only 5 chapters in and I'm already loving it. The fourth edition is freshly updated as well.

Here's the source code from book http://code.google.com/p/gamecode4/ Maybe you can answer your own question by reading it (its C++ / directx)

Sorry if you have no interest in buying a book but what you described fit the book fairly well, Good luck!

u/hakura11 · 2 pointsr/gamedev

Game Coding Complete

I have a pdf of this book which covers a lot of the basics and some advances stuff of making games. It is focussed on programming and includes code snippets and lots of examples.

u/my_password_is______ · 2 pointsr/gamedev

LOL, just looked up Game Coding Complete 4th edition on amazon

https://www.amazon.com/Game-Coding-Complete-Fourth-McShaffry/dp/1133776574

who are these people selling for such ridiculous prices ?

u/8a7e17035d · 2 pointsr/learnprogramming

What kind of games? Mobile games? Browser games? Desktop/console games?

If you're into building games entirely from the scratch and have it run on desktops and mobile devices, I'd suggest trying out the SFML framework (C++). They have some nice tutorials on their GitHub Wiki

Keep in mind that those are just the basics. If you prefer some more comprehensive literature, I'd recommend the following books:
Game Coding Complete
Game Programming Patterns
Game Engine Architecture

u/CodyDuncan1260 · 2 pointsr/gamedev

Game Engine:

Game Engine Architecture by Jason Gregory, best you can get.

Game Coding Complete by Mike McShaffry. The book goes over the whole of making a game from start to finish, so it's a great way to learn the interaction the engine has with the gameplay code. Though, I admit I also am not a particular fan of his coding style, but have found ways around it. The boost library adds some complexity that makes the code more terse. The 4th edition made a point of not using it after many met with some difficulty with it in the 3rd edition. The book also uses DXUT to abstract the DirectX functionality necessary to render things on screen. Although that is one approach, I found that getting DXUT set up properly can be somewhat of a pain, and the abstraction hides really interesting details about the whole task of 3D rendering. You have a strong background in graphics, so you will probably be better served by more direct access to the DirectX API calls. This leads into my suggestion for Introduction to 3D Game Programming with DirectX10 (or DirectX11).



C++:

C++ Pocket Reference by Kyle Loudon
I remember reading that it takes years if not decades to become a master at C++. You have a lot of C++ experience, so you might be better served by a small reference book than a large textbook. I like having this around to reference the features that I use less often. Example:

namespace
{
//code here
}

is an unnamed namespace, which is a preferred method for declaring functions or variables with file scope. You don't see this too often in sample textbook code, but it will crop up from time to time in samples from other programmers on the web. It's $10 or so, and I find it faster and handier than standard online documentation.



Math:

You have a solid graphics background, but just in case you need good references for math:
3D Math Primer
Mathematics for 3D Game Programming

Also, really advanced lighting techniques stretch into the field of Multivariate Calculus. Calculus: Early Transcendentals Chapters >= 11 fall in that field.



Rendering:

Introduction to 3D Game Programming with DirectX10 by Frank. D. Luna.
You should probably get the DirectX11 version when it is available, not because it's newer, not because DirectX10 is obsolete (it's not yet), but because the new DirectX11 book has a chapter on animation. The directX 10 book sorely lacks it. But your solid graphics background may make this obsolete for you.

3D Game Engine Architecture (with Wild Magic) by David H. Eberly is a good book with a lot of parallels to Game Engine Architecture, but focuses much more on the 3D rendering portion of the engine, so you get a better depth of knowledge for rendering in the context of a game engine. I haven't had a chance to read much of this one, so I can't be sure of how useful it is just yet. I also haven't had the pleasure of obtaining its sister book 3D Game Engine Design.

Given your strong graphics background, you will probably want to go past the basics and get to the really nifty stuff. Real-Time Rendering, Third Edition by Tomas Akenine-Moller, Eric Haines, Naty Hoffman is a good book of the more advanced techniques, so you might look there for material to push your graphics knowledge boundaries.



Software Engineering:

I don't have a good book to suggest for this topic, so hopefully another redditor will follow up on this.

If you haven't already, be sure to read about software engineering. It teaches you how to design a process for development, the stages involved, effective methodologies for making and tracking progress, and all sorts of information on things that make programming and software development easier. Not all of it will be useful if you are a one man team, because software engineering is a discipline created around teams, but much of it still applies and will help you stay on track, know when you've been derailed, and help you make decisions that get you back on. Also, patterns. Patterns are great.

Note: I would not suggest Software Engineering for Game Developers. It's an ok book, but I've seen better, the structure doesn't seem to flow well (for me at least), and it seems to be missing some important topics, like user stories, Rational Unified Process, or Feature-Driven Development (I think Mojang does this, but I don't know for sure). Maybe those topics aren't very important for game development directly, but I've always found user stories to be useful.

Software Engineering in general will prove to be a useful field when you are developing your engine, and even more so if you have a team. Take a look at This article to get small taste of what Software Engineering is about.


Why so many books?
Game Engines are a collection of different systems and subsystems used in making games. Each system has its own background, perspective, concepts, and can be referred to from multiple angles. I like Game Engine Architecture's structure for showing an engine as a whole. Luna's DirectX10 book has a better Timer class. The DirectX book also has better explanations of the low-level rendering processes than Coding Complete or Engine Architecture. Engine Architecture and Game Coding Complete touch on Software Engineering, but not in great depth, which is important for team development. So I find that Game Coding Complete and Game Engine Architecture are your go to books, but in some cases only provide a surface layer understanding of some system, which isn't enough to implement your own engine on. The other books are listed here because I feel they provide a valuable supplement and more in depth explanations that will be useful when developing your engine.

tldr: What Valken and SpooderW said.

On the topic of XNA, anyone know a good XNA book? I have XNA Unleashed 3.0, but it's somewhat out of date to the new XNA 4.0. The best looking up-to-date one seems to be Learning XNA 4.0: Game Development for the PC, Xbox 360, and Windows Phone 7 . I have the 3.0 version of this book, and it's well done.

*****
Source: Doing an Independent Study in Game Engine Development. I asked this same question months ago, did my research, got most of the books listed here, and omitted ones that didn't have much usefulness. Thought I would share my research, hope you find it useful.

u/kzisor · 2 pointsr/gamedev

I've been doing a lot of research lately on the best books in programming in general to start a blog about each one and their importance to an inspiring developer. These are two of the books which will help you greatly getting started on designing your first game.

The first book is completely about design patterns, you will need to learn about these as creating software in general requires knowledge of how specific design patterns work and when you should use those patterns. The second book in the list is a complete guide to creating a small sample game, albeit not in libgdx, it should provide you with enough material to get you started.

  • Design Patterns
  • Game Code Complete

    I also recommend the Game Programming Patterns and Game Engine Architecture books which were stated in a previous comment. I have both these books as well as the Game Code Complete book and will be buying the Design Patterns book I mentioned as it is the most highly recommended book for any developer.
u/dudeman21 · 2 pointsr/gamedev

Game Engine Architecture is a pretty good overview of how to put a game engine together in general, from tools to graphics to game-play systems. You can pretty easily take what's in it and use it to make a 2D game. (3D math is also useful in 2D!)

Edit: Game Coding Complete (https://www.amazon.com/Game-Coding-Complete-Fourth-McShaffry/dp/1133776574/ref=sr_1_1?ie=UTF8&qid=1484886864&sr=8-1&keywords=game+coding+complete) was also a decent read, though not nearly as in-depth as Game Engine Architecture.

u/[deleted] · 1 pointr/gamedev

Game Engine Architecture by Jason Gregory is a great book, but probably a bit too high-level if you don't have that much experience.

Game Coding Complete might be more appropriate for your skill level. NOTE: It uses DirectX, so you'd either need to do the same or convert the code to OpenGL... which might actually be a great learning experience that forces you to learn how it works rather than just copying code ;)

u/vinnyvicious · 1 pointr/opengl
u/Jazzertron · 1 pointr/learnprogramming

Right now I'm reading a mammoth book to help me build a good foundation. Game Coding Complete

I hope to make a 2d sidescroller, and after that I want to make a big retro RPG like Crono Trigger

u/narshe_ · 1 pointr/gamedev

I would suggest reading "Game Coding Complete: 4th Edition". I just started reading it, and it covers all the things I've wondered about making games. Check out the reviews. http://www.amazon.com/Game-Coding-Complete-Fourth-Edition/dp/1133776574/ref=sr_1_1?ie=UTF8&qid=1347389908&sr=8-1&keywords=game+coding+complete

u/ULTRA_LASER · 1 pointr/oculus

thanks. try this 960 page book

it might have something in there :)

u/rgehan · 1 pointr/gamedev

I'll take a look at them. Thank you :)

EDIT: Are you referring to this one and you probably mean Game Coding Complete ?

u/ingframin · 1 pointr/gamedev

I would recommend game coding complete. It covers many aspects of game development, from code in c++ to crunch working hours.
https://www.amazon.com/Game-Coding-Complete-Fourth-McShaffry/dp/1133776574

u/HitsABlunt · 1 pointr/factorio

I too am an engineer, been working in the Field for about 6 years, im a professional C++ developer, ive designed and implemented several simple game engines, the basics are: There is an Engine, which handles the graphicss, File IO and the other OS like portions of the game, then there is the Gamelogic, which maintains all the rules and functionality of the game, then on top of that there is game layer which would incorporate all the mods and scripting.

for ease of development, its very likely that the Game logic and game layers are implemented in LUA with the intention of rolling over into actual C++ when they stabilize to 1.0 and since the game is still alpha im willing to bet the "base game" "mod" that is in the mod list is actually a giant piece of LUA code

https://www.amazon.com/Game-Coding-Complete-Fourth-McShaffry/dp/1133776574 i recommend you read that book

Edit: seeing the devs did reply, looks like just the top layer is in LUA.

u/reddituser5k · 1 pointr/learnprogramming

I use to recommend skipping straight into game dev since that is what I did but recently I realized it is best to learn programming first. Which is why I stopped gamedev completely to relearn everything about programming.

I have not actually done most of the things I linked because I want to learn a lot more before startin game dev again. I have done (1) mooc.fi's intro to java part 2 and (2) the first two courses in the coursera python course so I know if you actually do intro to java part 1/2 and the full coursera course you will be ready enough to start game dev tutorials specific to whatever you want to create games on. I created 25+ game prototypes last year with less than those 2 courses teach..

1 is java programming, 2 is python programming but you make some games like asteroids, 3 is just a page describing how a JRPG works, 4 is multiple tutorials about gamedev, 5 is just a reddit post about do not repeat your self which I have learned from ignoring it that it is EXTREMELY important, 6 have not read yet but I am pretty sure it has to do with the reason I stopped gamedev to relearn from the basics, 7 I have not read but I most programmers recommend the book code complete and it has a similar name so it will probably be decent, 8 actual game dev

  1. http://mooc.fi/english.html - do intro to java part 1 and 2
  2. https://www.coursera.org/specializations/computer-fundamentals - do everything
  3. http://gamedevelopment.tutsplus.com/articles/how-to-build-a-jrpg-a-primer-for-game-developers--gamedev-6676 - just a quick tutorial to learn some basics of how jrpgs work
  4. http://gamedevelopment.tutsplus.com/articles/40-fantastic-game-development-tutorials-from-across-the-web--gamedev-3384 - I have only read a few of these tutorials but they are pretty nice

  5. https://www.reddit.com/r/gamedev/comments/3f16u8/an_important_game_programming_principle_dont/
  6. http://gameprogrammingpatterns.com/
  7. http://www.amazon.com/Game-Coding-Complete-Fourth-McShaffry/dp/1133776574
  8. https://www.coursera.org/specializations/game-development

    and.. maybe get a 6 month free pluralsight account from microsoft visual studio dev essential program thing and https://www.pluralsight.com/courses/encapsulation-solid

    I am not sure how useful the pluralsight encapsulation/solid videos will be yet but it has made me think of OOP differently..


    A quicker version would be just to do 1, 2, then whatever game framework/engine's tutorials you want.