What level of knowledge can I expect?

    • What level of knowledge can I expect?

      Hi, this is more a question for the fourth edition but previous editions should be applicable.

      I'm hoping to enter a Computer Games Programming degree at Teesside Uni in a year and a half, I'm wanting to get ahead of the game to give myself the best chance and was wondering what level of ability I could expect after going through this book? Is it beginner to intermediate level? Does it go right up to advanced games programming? Also what would be a logical next step? Reading something like Games Engine Architecture?

      As far as my C++ knowledge I'm very basic, I can do the typical if/case statements, for/while loops, use vectors and such but nothing very technical and as far as games programming is concerned I've only played with some XNA source code :P

      Any answers would be great!
      My Systems:
      [SIZE=1]Ragnarok: i5 750 @ 3200MHz | Titan Fenrir | MSI P55-GD65 | 8GiB Vengence 1600MHz CAS 9 | 1GiB 6950 DirectCU II | 60GB Crucial M4 | Samsung F3 500GB | Samsung F3 1TB | Seasonic X-750 | X-Fi XtremeGamer | HAF932 | Win 7 Pro | openSUSE[/SIZE]

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

    • Hey storm20200,

      I think you'd be quite happy with Game Code Complete. It cover some fairly advanced topics (conceptually) but does so in a very friendly manner. As far as technical books go, it is a very friendly and entertaining read, so I think you'd definitely enjoy it, even if it takes a little while to understand everything. With regards to programming skill level, you should research how pointers and C/C++ memory management work, but otherwise I think you'll be fine.

      Cheers,
      James
    • RE: What level of knowledge can I expect?

      Originally posted by bad habit
      You might want to download bruce eckel's book, its a good starting point for learnning c++.

      Ah! I forgot to say I'm currently going through Programming: Principles and Practice Using C++ so if I'm serious I should be able to have decent C++ knowledge before I start Game Coding Complete, at least I hope so ;)
      My Systems:
      [SIZE=1]Ragnarok: i5 750 @ 3200MHz | Titan Fenrir | MSI P55-GD65 | 8GiB Vengence 1600MHz CAS 9 | 1GiB 6950 DirectCU II | 60GB Crucial M4 | Samsung F3 500GB | Samsung F3 1TB | Seasonic X-750 | X-Fi XtremeGamer | HAF932 | Win 7 Pro | openSUSE[/SIZE]
    • RE: What level of knowledge can I expect?

      We assume a working knowledge of C++. You should know how to write classes, what inheritance is, and how polymorphism (virtual functions) works. You should also understand the basics of pointers, trees, lists, the STL, and other common data structures. You don't have to be an expert by any means, and we try to explain the more esoteric C++ structures we use.

      I've never read the book you linked to, but reading any reasonable book on C++ should be more than enough. Based on the amazon description, it should be totally fine.

      Also keep in mind that both Mike and I (as well as many other helpful people) check these forums nearly every day. The goal of this forum is to provide a friendly and open atmosphere where you can ask anything you want, no matter how "dumb" you think the question is. Trust me, we've all been there. If you don't know how a binary tree works, just ask as someone will chime in.

      -Rez
    • Thanks for the replies, I will be the first to admit I know nothing about proper class construction though it is an area that fascinates me. I think if I go crazy on my book and give myself until the end of May I should be confident enough to dive in I just need to put the effort in! Anyway thanks for the replies everyone, you've all been helpful
      My Systems:
      [SIZE=1]Ragnarok: i5 750 @ 3200MHz | Titan Fenrir | MSI P55-GD65 | 8GiB Vengence 1600MHz CAS 9 | 1GiB 6950 DirectCU II | 60GB Crucial M4 | Samsung F3 500GB | Samsung F3 1TB | Seasonic X-750 | X-Fi XtremeGamer | HAF932 | Win 7 Pro | openSUSE[/SIZE]
    • Most C++ language books don't talk about "proper" class creation and design. That's a more advanced topic that comes from books like "Design Patterns" and "Effective C++". Game Coding Complete also talks quite a bit about that. Right now, you should probably just concentrate on getting stuff to compile and how write basic programming constructs.

      For example, try to write a blackjack game. You can do the whole thing with console IO and not have to use graphics at all. It'll teach you some of the basics of things like input/output, how to write classes & functions, and how programming constructs like logical branches and looping works. :)

      -Rez
    • Originally posted by rezination
      Snip
      -Rez
      Bjarne pegs it as more of a programming book that almost "coincidently" uses his language but it is aimed as an introduction book (all 1200+ pages of it o_O). Anyway I skimmed through the chapters (mainly cause I was looking for the facinating programming history section) and it seems to have quite a lot on classes though I can't comment on the level of detail, regardless I'm hoping to gain something from it. As for blackjack I shall have to read up on the rules and recreate it.

      Speaking of games I have messed around with VB.NET. I made a homage to the old final fantasy battle systems, entirely windows form based but it had music, animated sprites, different FF bosses, magic, 4 jobs for 4 different characters, a row system, different status effects like poison and user changeable backgrounds all in a turn based package, I used buttons for the battle UI and used RNGs to determine boss attacks based on its health and sometimes its current attack cycle. It was really fun and my aim from GCC is to get a headstart on university but also recreate it entirely graphically without ugly windows form controls. I feel that experience has taught me a lot about programming and various concepts especially when I done it shortly after starting college but if you were to see the inefficient and ugly code it is nothing more than an event driven program that uses classes, I didn't make my own classes and all objects were from .NET and DirectX (audio only). I have a lot of blanks to fill in, one day I will create something beautiful that I can be proud of though!

      tl;dr: I shouldn't post on forums at 6:30am before I sleep :D
      My Systems:
      [SIZE=1]Ragnarok: i5 750 @ 3200MHz | Titan Fenrir | MSI P55-GD65 | 8GiB Vengence 1600MHz CAS 9 | 1GiB 6950 DirectCU II | 60GB Crucial M4 | Samsung F3 500GB | Samsung F3 1TB | Seasonic X-750 | X-Fi XtremeGamer | HAF932 | Win 7 Pro | openSUSE[/SIZE]

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

    • Originally posted by storm20200
      Originally posted by rezination
      Snip
      -Rez
      Bjarne pegs it as more of a programming book that almost "coincidently" uses his language but it is aimed as an introduction book (all 1200+ pages of it o_O).

      That reminds me of a lecture script I've read a few years ago. It's called Notes on Programming from Alexander Stepanov. In this lectures he's talking about very general issues about programming, but fundamentally it's very C++-specific.

      Actually, it's that I don't know any other language, where you could apply his thoughts. It's not that they're bad, but it's not as general as he's implying them to be. Anyway the book is still a great read. It teaches some general considerations on interface design (API) and some history about the C++ standard library.

      Btw. he's the guy who invented the concept of iterators and wrote more or less the STL.

      Turing.
    • That sounds quite interesting so I think I will read it at some point. It's amazing to think though is that something we take for granted like iterators had to have been thought up and that there was a time when it didn't exist. Stuff like that makes me enjoy reading about the history of programming.
      My Systems:
      [SIZE=1]Ragnarok: i5 750 @ 3200MHz | Titan Fenrir | MSI P55-GD65 | 8GiB Vengence 1600MHz CAS 9 | 1GiB 6950 DirectCU II | 60GB Crucial M4 | Samsung F3 500GB | Samsung F3 1TB | Seasonic X-750 | X-Fi XtremeGamer | HAF932 | Win 7 Pro | openSUSE[/SIZE]
    • Man, you people love making me feel old! This "history" wasn't all that long ago. ;) When I was working on my first game projects, there was no stl. I remember when it first started gaining traction and how terrible templates were back in Visual Studio 4. The STL was completely unusable back then.

      Damn kids and their rock music.......

      -Rez
    • It's ok Rez, everyone must feel old at one time or another!
      My Systems:
      [SIZE=1]Ragnarok: i5 750 @ 3200MHz | Titan Fenrir | MSI P55-GD65 | 8GiB Vengence 1600MHz CAS 9 | 1GiB 6950 DirectCU II | 60GB Crucial M4 | Samsung F3 500GB | Samsung F3 1TB | Seasonic X-750 | X-Fi XtremeGamer | HAF932 | Win 7 Pro | openSUSE[/SIZE]
    • OMG. Rez? Feel old?

      HAHAHAHAHAHAAHAHAHAHAHAHAHAAHAHAAH.

      Look me up on Facebook.
      Mr.Mike
      Author, Programmer, Brewer, Patriot
    • I choose to respond with a Douglas Adams quote, which it almost relevant. ;)

      """
      1) everything that's already in the world when you're born is just normal;

      2) anything that gets invented between then and before you turn thirty is incredibly exciting and creative and with any luck you can make a career out of it;

      3) anything that gets invented after you're thirty is against the natural order of things and the beginning of the end of civilization as we know it until it's been around for about ten years when it gradually turns out to be alright really.
      """

      -Rez
    • Douglas Adams, Wise man.
      My Systems:
      [SIZE=1]Ragnarok: i5 750 @ 3200MHz | Titan Fenrir | MSI P55-GD65 | 8GiB Vengence 1600MHz CAS 9 | 1GiB 6950 DirectCU II | 60GB Crucial M4 | Samsung F3 500GB | Samsung F3 1TB | Seasonic X-750 | X-Fi XtremeGamer | HAF932 | Win 7 Pro | openSUSE[/SIZE]