Starting from scratch? (PHP Background)

Moderator
Posts: 3,554
Joined: 2003.06
Post: #30
Java doesn't have much API support in the game industry and is not widely recommended for games. The best scenario would be to learn all three of C, C++, and Objective-C. C++ is a "superset" of C, but it's harder to pick up than just plain C. Objective-C requires you to know C first, but it's really easy to learn after that. So my recommendation is to learn C first and then Obj-C and C++ later - although you can easily make powerful games without Obj-C or C++, all the id games up to Quake3 are pure C if you have any doubts. I should note that C++ is a little more popular for game development these days and you'll see lots of example code using it, so the argument *could* (and probably *will*) be made that you might want to jump in at the deep end and go for C++ right away, but I personally think it's overkill, especially for beginners. Also, most support APIs used with games (OpenGL, OpenAL, etc.) have a C public API so you can utilize those with just plain C skills. For graphics the standard API on the Mac is OpenGL. The quickest way to get into OpenGL is GLUT. If you can learn C and do some stuff with GLUT you will be well on your way.

Another short descriptive comparison of the C family of languages:

C - the basis of it all. It's the fastest and most flexible, but does not have any built-in object orientation facilities which can be seen as a major bummer. However, that does not mean that it cannot be used in an object-oriented fashion as many seem to believe.

Objective-C - is C with object orientation added. It's primarily used on Mac OS X for use with the Cocoa API. Cocoa is Apple's wiz-bang user interface API for making powerful menus and windows, etc. Objective-C is pretty efficient and is fast enough to be used for entire games but many of us just use it for the user interface and leave the faster graphics code in C or C++.

C++ - the focus of bitter debate between lovers and haters. C++ is probably the king of all programming languages today. It's object-oriented and very powerful and basically as fast as C for all intents and purposes. The new id games such as Doom3 and Quake4 use C++ as well as virtually every other major game in the industry. C++ also has the characteristic ability of encouraging programmers to write virtually unreadable code. Make no mistake about it C++ can be *very* complex and can take quite some effort to learn versus other languages, but many would argue the benefits outweigh the drawbacks.
Quote this message in a reply
Post Reply 


Messages In This Thread
Starting from scratch? (PHP Background) - Cronikeys - Aug 4, 2005, 02:43 PM
Starting from scratch? (PHP Background) - atek3000 - Oct 22, 2005, 06:32 PM
Starting from scratch? (PHP Background) - emilmont - Oct 23, 2005, 03:53 AM
Starting from scratch? (PHP Background) - atek3000 - Oct 25, 2005, 08:10 AM
Starting from scratch? (PHP Background) - AnotherJake - Oct 25, 2005 09:18 AM
Starting from scratch? (PHP Background) - atek3000 - Oct 25, 2005, 09:46 AM
Possibly Related Threads...
Thread: Author Replies: Views: Last Post
  Starting from scratch? (C Background) SLDCGG 6 3,663 Aug 9, 2005 01:13 AM
Last Post: sealfin