ALT: Step 1: I Am a Noob - Printable Version
+- iDevGames Forums (http://www.idevgames.com/forums)
+-- Forum: Development Zone (/forum-3.html)
+--- Forum: Programming Languages & Scripting (/forum-8.html)
+--- Thread: ALT: Step 1: I Am a Noob (/thread-6559.html)
ALT: Step 1: I Am a Noob - keithrolf - Jan 10, 2004 06:21 PM
I am a complete noob to programming. Game or otherwise.
I want to design and program games one day. I know nothing whatsoever about mac programming.
Where is the best place for me to start learning?
Remember, I am a noob, so throwing code libraries etc. isn't going to help. I'm thinking more along the lines of a very simple tutorial on where to find dev tools how they work and maybe writing a "hello world" app.
ALT: Step 1: I Am a Noob - keithrolf - Jan 10, 2004 06:31 PM
Also, any suggestions for the "best" beginning programmers book (for Cocoa I guess) would be helpful.
ALT: Step 1: I Am a Noob - Josh - Jan 10, 2004 06:33 PM
Your best bet probably is to first learn METAL Basic and/or TNT Basic. (anyone have some linkage?) They allow you to get into programming games without needing to know the stupid nitty-gritty. Feel free to post any questions you may have!
ALT: Step 1: I Am a Noob - Justin Brimm - Jan 10, 2004 07:40 PM
Unfortunately, both METAL and TNT Basic amount to jack in the long run, but if you really know absolutely nothing, they might be a good place to start. I suggest learning Obj-C and Cocoa.
ALT: Step 1: I Am a Noob - igame3d - Jan 10, 2004 07:58 PM
If you just bought a mac the dev tools should be on your hard drive ready to install. If you just bought Panther, it should be on those CD's.
Else the older Project Builder dev tools will be with your Mac OS cd's.
go htpp://developer.apple.com and sign up for the free online ADC.
At least to join up...their site alone is a maze of confusion for newb, but at least you will have the sign up part out of the way and you can occasionally browse their files and source samples for inspiring things to boggle the mind. Project builder makes a nice text editor when you don't know how to program at least
Somewhere in that mess at apple is a cocoa tutorial for building some crap apps(currency converter, and ..some other trash). Why they don't have pong or something fun like even hangman is beyond me.
As for books..related to game dev, I've not come across one that takes you from nothing to something that isn't for Windows.
Hopefully the Inkubator project will get rolling again soon and perhaps even I can learn this programming stuff with an actual game project starting at line one instead of "here's 10,000 lines of code, get it on!"
While you mess around with Metal and finding your way through the ADC why not give a try to some tastey iGame3D, before C/C++/Obj-C sour your senses.
the Mac download is here
and extra 13 megs of content are here
Whatever you take to, its going to take some time, so be patient.
ALT: Step 1: I Am a Noob - Mazilurik - Jan 10, 2004 08:00 PM
METAL and TNT are good if you want to jump in and start making games, but if you're willing to be patient and invest time in learning a more advanced language before starting to make actual games, you might be better served by learning C and getting some programming experience, then reading Cocoa Programming for Mac OS X by Aaron Hillegass when you're ready to move on to Cocoa. This is more work, but it would give you a better foundation for serious programming than METAL or TNT would.
ALT: Step 1: I Am a Noob - Mark Levin - Jan 11, 2004 12:22 AM
I'd say that the Basics are a good place to start. No, they aren't good for "serious" programming, but this person seemingly wants to start absolutely from scratch, with no prior programming knowledge. A very simple but limited language like TNT or Logo is perfect for learning concepts like variables and types, subroutines, common constructs (if/while/etc) without trying to simultaneously learn the system library and learn how to use a "real" IDE. It will give you a grounding in how programming in general works, and *then* you can take on C.
ALT: Step 1: I Am a Noob - Skorche - Jan 11, 2004 02:09 AM
Just a further refinement of what's already been said:
1: Basic languages are a really good place to start to learn programing. Both Metal and TNT have easy to use graphics and sound commands. Use these if you want an easy start.
2: Learning C-anything has a steep learning curve, you really have to learn it all at once. There are a lot of things that C simply won't stop you from doing that will confuse you when they go wrong. Basic is a little more forgiving.
3: Using any library like Cocoa, SDL, allegro, Carbon, OpenGL, ect. really requires you to know how to use the C language fairly well. Trying to jumpstart into them while learning C will probably leave you feeling very frustrated. Take it slow, learn one thing at a time. This really turned me off for a few years, I wanted to learn how to graphics libraries before I knew how to use C.
ALT: Step 1: I Am a Noob - Taxxodium - Jan 11, 2004 03:23 AM
I started programming by writing some simple AppleScripts. It's very easy to learn that language and there is a free pdf book about AppleScript at Apple's developer site.
After that I learnt C/C++ since that's what the probably what most programmers use most.
Once I learned that I learnt about the Mac Toolbox, but since that doesn't exist you have 2 options:
- Learn Carbon, it uses the C syntax and should be easy to understand
- Learn Cocoa, it looks familiar to the C syntax, but isn't quite the same. Learning Cocoa requires you to learn Objective-C. A good book for this is "Learning Cocoa" from O'Reilly.
For games I highly recommend Mac Game Programming by Szymczyk. I uses Carbon but the code should be easily portable to ther languages.
ALT: Step 1: I Am a Noob - XxtraLarGe - Jan 11, 2004 03:30 AM
keithrolf Wrote:I am a complete noob to programming. Game or otherwise.
I'd say start with the tutorials at MacDevCenter.com in the Cocoa section. They have tutorials on C + Cocoa. Start with the top 5 tutorials on the page ("C is for Cocoa" through "The Double Life of Variables"), then work your way up from the bottom ("Digging deeper into Mac OS X"). The C tutorials aren't the best, but they are o.k., and they are free so you can't beat the price. There are other sites which offer free tutorials. Here is a page of links: http://cocoa.mamasam.com/links.html
If you want to spend money, I'd say get "Learning Cocoa with Objective-C (2nd Ed.)," which is a much better beginner's book than "Cocoa Programming for Mac OS X" by Aaron Hillegass. Then get the Hillegass book, which is better overall. Read them in that order, and you'll get a lot more out of the second one.
While you're reading any of this stuff, think of a game you want to create, and how you might be able to use what you are learning to make your game. A lot of things you'll learn at first won't help you make a game, but they will lead to things that will. Don't get discouraged, keep on trying.
That's my advice. Best of luck to you!
ALT: Step 1: I Am a Noob - Fenris - Jan 11, 2004 03:50 AM
If you want to get into game programming rather quick, I suppose PyGame is a viable way to go.
ALT: Step 1: I Am a Noob - DoG - Jan 11, 2004 09:43 AM
Just a quick clarification: Carbon and Cocoa are APIs, while C, C++, and Objective C are programming languages. Carbon is a C/C++ API, Cocoa is an Objective C API to MacOS X and the MacOS X application framework AppKit.
TNT/METAL Basic are a language coupled to an API and application framework.
ALT: Step 1: I Am a Noob - Bachus - Jan 11, 2004 12:29 PM
If you truly have no programming knowledge whatsoever, then a very good place to start is by taking a class in school. The organized environment gives you direction and a good basis of general programming topics. Once you have that basis it's quite a bit easier to strike out on your own with occasional support (like say from this forum).
ALT: Step 1: I Am a Noob - keithrolf - Jan 11, 2004 05:19 PM
Thanks to everyone for the advice, support etc.!
Sounds like getting my feet wet with something simple is the way to go. I'm not looking to dive nose-first into game programming specifically. Just getting to be able to understand code and how to write a few very very simple apps that aren't necessarily useful, but practice, is where I'm looking to start.
Metal, TNT etc. sound like the way to begin. I know they aren't really something to get use to in the long run (from what many of you've said). But I think they'll give me a basic idea about what the heck programming entails. That way when I'm ready to move on to libraries like Cocoa, Carbon etc. then at least I'll have some reference point to begin from.
Taking a class in school sounds like a very positive beginning as well, it was definitely good back in HighSchool, but as with alot of knowledge from my HS days, it's gone now.
Also, many thanks for all your Book suggestions, I've filed them away for the future and will definitely heed your advice and approach with patience.
I may not get to games anytime soon, but one day when I know what I'm doing, I want to be able to contribute to the Mac Gaming community.
I look forward to conversing with you all on the forums, hopefully I can get to a point where I contribute something worthwhile. Thanks!
*** Also as a side note, I have been in Graphic design for over 7 years now, design, typography, web, print, illustration etc. I'm not the best in the business, but I think I hold my own. If anyone is looking for graphics work on their games let me know. I'm pretty pro-bono oriented, which never hurts! ***
ALT: Step 1: I Am a Noob - igame3d - Jan 11, 2004 06:19 PM
After browsing about 500 programming books for PC at the Barnes & Nobles I found that B&N now publish some of their own books.. the "in easy steps" series. They are only $9.99 compared to all the other books which are no less than $30.
I picked up the C++ in easy steps, its a 192 pages long and a very easy read. In the first 14 pages I found out how to fool with gcc in terminal, and he explains hello world on half a single 14pt type page.
This looks like it will at least be a handy reference that I can go back to every time I forget how this stuff works, as opposed to the 800 page volumes.