ALT: Step 1: I Am a Noob

suhbataar
Unregistered
 
Post: #16
Quote: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.v


I would personally recommend Metal, since I have some experience with it myself. I tried TNT, but could never really get it worked out. Of course, you should look at both and decide which seems easier. Either of them will let you learn your basic control flow, variables and all that.

When you do go on to learning Cocoa, I suggest you start by reading the tutorials by Mike Beam here. I've spent today going through quite a few of them, and they help you get into using the libraries and Interface Builder very quickly.

Good luck to you!
Quote this message in a reply
Member
Posts: 196
Joined: 2003.10
Post: #17
ok, so i'm a bit surprised nobody's mentioned *gasp* java.

It's object-oriented, and it builds logically. you don't have to worry about memory management or pointers, so you can concentrate on understanding objects. it teaches inheritance, interfaces, etc.

best idea: take a course. you'll learn enough that you can apply to basically any language. just careful with the syntax.

i took a few courses on java (i had programmed in c and basic before), and learning objC+Cocoa afterwards was much easier. the concepts involved in object-oriented programming are convoluted - learning a language that takes care of the background garbage (hooray for the garbage collector!) is sometimes much easier.

plus it's superduper-well documented. http://java.sun.com/
Quote this message in a reply
DoG
Moderator
Posts: 869
Joined: 2003.01
Post: #18
Programming in Java is like walking through a minefield, blindfolded. C/C++/ObjC are much more mature and less buggy. Not to mention it is slow. Yes, it can be optimized to be in the same ballpark as C/C++, but getting there is a pain. And the logic is sometimes completely gone missing, too. 'nuff said.
Quote this message in a reply
Member
Posts: 196
Joined: 2003.10
Post: #19
DoG Wrote:Programming in Java is like walking through a minefield, blindfolded. C/C++/ObjC are much more mature and less buggy. Not to mention it is slow. Yes, it can be optimized to be in the same ballpark as C/C++, but getting there is a pain. And the logic is sometimes completely gone missing, too. 'nuff said.

but you neglect to mention that it is easy to learn. it's pretty straight-forward... what you lack in speed you can gain in other languages using the concepts you learnt through java. i think it's a good learning language.
Quote this message in a reply
Oldtimer
Posts: 834
Joined: 2002.09
Post: #20
First and foremost - don't be afraid. Don't put off diving into new stuff because you think you can't do it. High self esteem is your best friend here (next to the caffeine addiction and angelic patience). Whenever you find something you want to learn, try it out in a small 20-line program, just to get the feel for it.

Then come weep to us on the forum. Wink
Quote this message in a reply
Founder
Posts: 1,138
Joined: 2002.04
Post: #21
Keep lurking here because sooner or latter I will post my 3/4 completed "METAL for Dummies" tutorial. ie, from zero to hero guide.

About the advice you get. It is like being at the North Pole and asking 20 people which way is the best way to go to the South Pole. Some ways will be harder, some ways you will get there sooner, but one thing is for sure, everyone will have their own directions, since they have already made the journey. And most likely they will tell you to take the route they did.

As for me, I think nothing hurts in the grand scheme of things. Syntax (the commands) may be different, but overall, the logic tends to be the same (in general terms.) So, if you learn to ride a bike, you should be able to jump to another bike and be OK when you want to go faster. True, some languages may ask you to re-think bad past habbits. But if you have the brain for it, then it shouldn't be hard to learn the new restrictions or benefits of a new tool/language.

To me, the most important factor is to get results early and understand what those results mean. I do feel that BASIC in many ways allows for that. Cocoa is a great thing, and if you go that route, take it with Aaron's book (see my book recommendations here). But I feel C/C++/Objective may not be ideal for someone who is starting at zero, and needs to get that feeling of "hey, I did something!" To me, that is vital because it encourages you to experiment and keep moving. METAL, because of a lack of a built-in GUI tool, is about as easy as you can get. TNT Basic though, which is supported, and can go a bit further IMHO (especially on Mac OS X), would be better. And if you have the budget, look to FutureBasic, which gives the ease of BASIC, but the power and speed of C. REALbasic is nice, and a good way to learn some concepts if you want to move to C++/Objective C, but because of its handy GUI-builder, it kind actually be tough for a complete newbie IMHO. Though the RB Def Guide could help alot in that respect.

PyGame might indeed be a way to go. Other scripting-based systems available. A few years ago, I was helping to translate a cool little scripting language for making arcade games. Kind of like METAL. Alas it was based on QuickDraw and hasn't made it over to Mac OS X.

Too often I think in our zest to recommend what "pros" use, or what the industry uses, etc., we forget that a person starting at zero may end up getting fustrated with what we recommeneded and give up on their dreams -- and then we all lose.

Of course on the otherhand, if you end up like <fill in his name>, take our advice, try every tool and give up after 4 minutes, then this might not be the field for you. Wink In which case, you can still be a part of what is going on with your graphic skills.

You should do some searched here because many people have asked the same question before.

Before I go. Many of you suggested various languages/tools. I want to challenge you all to work on a Hello Tutorial for your respected suggestions. Let's see you all put your compiler where your mouth is, and pen a tutorial.

Looking forward to your contributions.

Cheers,

Carlos A. Camacho,
Founder
iDevGames
Quote this message in a reply
Member
Posts: 196
Joined: 2003.10
Post: #22
heh, hello world?

boy i wish it was pong instead Wink

we'll see. if i have time i'll do a quick java swing "hello world" tutorial.
Quote this message in a reply
DoG
Moderator
Posts: 869
Joined: 2003.01
Post: #23
blobbo Wrote:but you neglect to mention that it is easy to learn. it's pretty straight-forward... what you lack in speed you can gain in other languages using the concepts you learnt through java. i think it's a good learning language.
Never thought of it that way, since I consider SMALLTALK and the likes a good learning language for object orientation. Java is just another industrial (as opposed to academic) language with too many compromises to be really good.

Java has just never really impressed me, maybe because I knew C++ before it came out.
Quote this message in a reply
keithrolf
Unregistered
 
Post: #24
Wow, thanks again to everyone. I do realize that many suggestions from different perspectives can get confusing, but often time one can see an "trend" in terms of what one may be looking for.

QBasic was what I leanred ten some years ago and I did get the point of making a "game". Though it never worked quite right. Smile

Anyway, Zero is definitely where I want to start from and it sounds like METAL might be what I go with first. Then, if TNT can take me a bit further I'll try to see how "transitioning" goes for me and get into that and try to adapt the basics that I learned with METAL.

From there, we'll see. I'll probably start a new thread "Step 2: I'm a Novice" Wink to see what your suggestions would be from there. For now, I'm just gonna focus on "Hello World" and such and then go from there.

Sounds like a Zero to Hero (Cammacho) apporach will be a very interesting read. Plus I think I'll keep notes as I go along and basically write a "Noobs Guide to Programming" from a noob's perspective.

That way as I progress, my "mindset" will match that of the people who might one day read it. Noobs will hear a fellow "noob" talking about the beginning stages. And then Novices will read from a "novice perspective" as I/they get to that point etc.

I dunno, sounds valuable or do you think it'd just be ultimately more confusing that anything?

Eitherway, I apprecaite all the input and help so far. As before, I'd love to get to the point when I can return the favor! Thanks!
Quote this message in a reply
keithrolf
Unregistered
 
Post: #25
Sorry, I'll shut my yap soon. I just wanted to thank everyone once again for their help, suggestions etc.

I started using METAL and it definitely is a good place for me to start I think. It is very close to Qbasic, and getting into it is sparking my memory for how programming works etc.

I'm still taking it slow but already can see how simple games can be made with it.

Wish me luck and patience! Thanks!
Quote this message in a reply
Moderator
Posts: 608
Joined: 2002.04
Post: #26
Good luck! Feel free to post any questions you may have in our METAL forum. Also, keep your eye out for the much anticipated METAL 2.0.
Quote this message in a reply
keithrolf
Unregistered
 
Post: #27
Okay, yeah, wow. I'm not gonna be able to keep my yap shut it seems.

I went over the basics: if, then, arrays, for next, input, and graphics on the nuclearnova website which, to be honest, isn't exactly noob-centric after the first two tutorials (I eagerly await your tutorial Cammacho). Smile

Anyway after much mesing around I made my own game! It's simple as all get out and can only barely be classified as a game, but it feels so cool to get to that one step.

I can control a rectangle around my screen and make it eat things and add points to my score! Woot! Smile

Anyway, super noobish but exciting and a big confidence builder. I know I have a long way to go before I know what true game programming is all about, but for now I am psyched for such a small step that seemed so far away only days ago, heck only hours ago.

Many thanks again folks, I'm on my way! Blink
Quote this message in a reply
keithrolf
Unregistered
 
Post: #28
jabber Wrote:Good luck! Feel free to post any questions you may have in our METAL forum. Also, keep your eye out for the much anticipated METAL 2.0.

yep yep, I have posted a bit in the METAl forums already. Expect to see me around there alot as I'm sure I'll get in over my head soon! Blush
Quote this message in a reply
Member
Posts: 201
Joined: 2002.06
Post: #29
Bachus Wrote: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).

If you are still in high school, this is a bad idea. High school programming courses stink. There are always too many stupid people or people that never intended to be in that class for anything good to be covered. It could still be good if you want to get your feet wet, but if you already know even a little about programming, it isn't worth it. You can learn faster on your own and with forums like these to communicate with other developers.

And that is the key... use the forums to their maximum potential. The best help you can get doesn't come from books and tutorials. It comes from a question and answer atmosphere like this.
Quote this message in a reply
Pheonix
Unregistered
 
Post: #30
I started learning with TNT, and it was the perfect bridge for me to get to learning C. (getting tutored by me old man).
Quote this message in a reply
Post Reply 

Possibly Related Threads...
Thread: Author Replies: Views: Last Post
  Noob Programmer help - Obj-C or C++ Rush2112 3 4,009 Dec 4, 2012 02:36 PM
Last Post: bmantzey
  Help a Noob - Dim3 Dallas 2 3,658 Feb 3, 2009 09:51 AM
Last Post: Dallas