Recommend me a programming book.
Moderator: Thanas
Re: Recommend me a programming book.
If you really want something from the very basics you can look at SICP. A good primer on C++ is Accelerated C++
- Sarevok
- The Fearless One
- Posts: 10681
- Joined: 2002-12-24 07:29am
- Location: The Covenants last and final line of defense
Re: Recommend me a programming book.
I would offer very different advice from most. First of all are you trying to make games or learn programming ? If it is the latter skip my post.
If you want to make games and want them to look professional and don't want to go insane as you spend months producing a horrible unplayable mess then avoid C/C++ or even XNA. Pick up something like Unity 3D or CoronaSDK. These days there are many authoring packages that let you develop very good games in very short time with minimal learning involved. Many, if not most, successful indie games that make good money are actually made this way. Most successful small developers avoid C/C++ or like for good reason.
In general pick the right tools for the right job. Consider successful one man or small company developers. They stick to tools that are suited for types of game they are making, so they will use flash for a sidescroller and Corona if making a accelerometer based iPhone game like Doodle Jump. If they want a graphically competitive shooter they will go for UDK or Source engine. Decide your game first and pick your tool accordingly. If you can do this correctly you are all set no matter what game you are making.
Hardcore C/C++ has wonderful potential but it is unnecessary these days for most aspiring game programmers. Unless you are making a technical breakthrough like advanced rendering techniques or physics simulation you don't need it. In the time you need to learn basic C/C++ you could be making couple of polished in games in various authoring packages.
I highly suggest you google "Ludum Dare". It's a world renowned competition where you have to make a game within 48 hours ! ne developers there make some stunning projects in that time that you would think required weeks from a company or years from an individual. They can make such amazing finished polished games in that time because they choose the right tools for the right job. Study them and learn.
If you want to make games and want them to look professional and don't want to go insane as you spend months producing a horrible unplayable mess then avoid C/C++ or even XNA. Pick up something like Unity 3D or CoronaSDK. These days there are many authoring packages that let you develop very good games in very short time with minimal learning involved. Many, if not most, successful indie games that make good money are actually made this way. Most successful small developers avoid C/C++ or like for good reason.
In general pick the right tools for the right job. Consider successful one man or small company developers. They stick to tools that are suited for types of game they are making, so they will use flash for a sidescroller and Corona if making a accelerometer based iPhone game like Doodle Jump. If they want a graphically competitive shooter they will go for UDK or Source engine. Decide your game first and pick your tool accordingly. If you can do this correctly you are all set no matter what game you are making.
Hardcore C/C++ has wonderful potential but it is unnecessary these days for most aspiring game programmers. Unless you are making a technical breakthrough like advanced rendering techniques or physics simulation you don't need it. In the time you need to learn basic C/C++ you could be making couple of polished in games in various authoring packages.
I highly suggest you google "Ludum Dare". It's a world renowned competition where you have to make a game within 48 hours ! ne developers there make some stunning projects in that time that you would think required weeks from a company or years from an individual. They can make such amazing finished polished games in that time because they choose the right tools for the right job. Study them and learn.
I have to tell you something everything I wrote above is a lie.
- Sarevok
- The Fearless One
- Posts: 10681
- Joined: 2002-12-24 07:29am
- Location: The Covenants last and final line of defense
Re: Recommend me a programming book.
This deserves special consideration.Right now, my sights aren't set any higher than, say, a rogue-like or Dwarf Fortress. I guess that would be math heavy.
Rogue-likes are exceedingly complex. Dwarf Fortress is farmore so. Even when you have a decade of programming experience under the belt working in the industry don't expect to produce dwarf fortress. It required many years of effort from one supremely mathematically gifted individual to create Dwarf Fortress. By comparison creating a FPS or real time strategy game is a cakewalk in comparison.
If you want a starting game project I would suggest Tic Tac Toe. Then as you learn graphics go up to Asteroids or even make a Tetris game.
I have to tell you something everything I wrote above is a lie.
Re: Recommend me a programming book.
XNA is so easy already, I wouldn't have thought that you can get even simpler. Due to your post, I am looking into the Sparrow Framework for iOS development right now. My current project is going to ship soon, so this comes at exactly the right time.
http://www.politicalcompass.org/test
Economic Left/Right: -7.12
Social Libertarian/Authoritarian: -7.74
This is pre-WWII. You can sort of tell from the sketch style, from thee way it refers to Japan (Japan in the 1950s was still rebuilding from WWII), the spelling of Tokyo, lots of details. Nothing obvious... except that the upper right hand corner of the page reads "November 1931." --- Simon_Jester
Economic Left/Right: -7.12
Social Libertarian/Authoritarian: -7.74
This is pre-WWII. You can sort of tell from the sketch style, from thee way it refers to Japan (Japan in the 1950s was still rebuilding from WWII), the spelling of Tokyo, lots of details. Nothing obvious... except that the upper right hand corner of the page reads "November 1931." --- Simon_Jester
- Number Theoretic
- Padawan Learner
- Posts: 187
- Joined: 2011-09-04 08:53am
- Location: Joeyray's Bar
Re: Recommend me a programming book.
Brother-Captain Gaius does have a point when saying that one of the best ways to learn to understand pointers (and therefore any data structure that can be traversed by a recursive function, like linked lists or trees) is to learn C or C++.
But on the other hand, Python is much easier to read, doesn't have much declarative overhead and has an interactive shell, which is a great way to learn how features of a programming language work. And there are a lot of libraries and modules available for Python, you could do anything from web development up to scientific computing. By the way, i recommend to use the IPython shell instead of the standard Python shell.
Then, we have the Cython interpreter, which turns Python code into C code which can then be fed into any compiler you like, e.g. gcc or clang.
My recommendation is therefore: learn both, C and Python. And if you want to gain an insight into how a microprocessor works, consider doing some simple projects with an Arduino. If your code needs to do a lot of calculation or memory, it sure can be hard, but you'll learn a lot.
But on the other hand, Python is much easier to read, doesn't have much declarative overhead and has an interactive shell, which is a great way to learn how features of a programming language work. And there are a lot of libraries and modules available for Python, you could do anything from web development up to scientific computing. By the way, i recommend to use the IPython shell instead of the standard Python shell.
Then, we have the Cython interpreter, which turns Python code into C code which can then be fed into any compiler you like, e.g. gcc or clang.
My recommendation is therefore: learn both, C and Python. And if you want to gain an insight into how a microprocessor works, consider doing some simple projects with an Arduino. If your code needs to do a lot of calculation or memory, it sure can be hard, but you'll learn a lot.
- Sarevok
- The Fearless One
- Posts: 10681
- Joined: 2002-12-24 07:29am
- Location: The Covenants last and final line of defense
Re: Recommend me a programming book.
The problem with python for game development is there has not been many succesful games developed using it. Panda3d and pygame are very neat but nobody has made a hit game using them. When choosing tools or engines it is better to look at past track record as much as features. For example earlier this year I was chose Irrlicht over seemingly bloated and complex Ogre. That was a mistake because Ogre has shipped numerous games making $$ while Irrlicht has almost nothing, not even free games. Irrlicht is easier and better designed but Ogre actually lets you finish a game you can proudly display on Steam. That's the thing sometimes you have to abandon elegant solutions for mediocre ones because they get the job done in real world by putting food on the table for people using them.
I have to tell you something everything I wrote above is a lie.