Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

Eric5h5

macrumors 68020
Dec 9, 2004
2,494
604
hehehehe case and point, good grammar and english matters.

The phrase is "case in point"...speaking of good grammar and English. ;)

Game programming is moving more and more toward using middleware, since it's gotten so complex. So unless you're going to be working on an actual engine for some reason, it's getting more likely you'd do some kind of scripting in a higher-level language instead of programming in C++. Check out Unity, where you can make 3D games with a physics engine and so on using managed code, so all the freakishly hard stuff is taken care of for you and you don't have to study for years before you can do anything cool.

--Eric
 

Mac Player

macrumors regular
Jan 19, 2006
225
0
liptonlover said:
Then why do people say C++ is so hard? I'm familiar with OOL's. I could certainly use MORE experience with them, but it doesn't sound that hard then.

Its hard because while coding or reading the code you have to pay attention to a bunch of little and stupid things which have nothing to do with the actual problem you are trying to solve. This is specially true when you receive large chunks of c++ code you need to integrate in your project.
 

yeroen

macrumors 6502a
Mar 8, 2007
944
2
Cambridge, MA
Its hard because while coding or reading the code you have to pay attention to a bunch of little and stupid things which have nothing to do with the actual problem you are trying to solve. This is specially true when you receive large chunks of c++ code you need to integrate in your project.

That's true of any programming language. Every language has its snags and thorns on which to get caught, even fashionable Java.
 

liptonlover

macrumors 6502a
Original poster
Mar 13, 2008
989
0
@ eric5h5 - Rofl my bad :D
I hate hate HATE where games are going. I shouldn't be forced to do things in 3D to make my way :mad: but anyways I'm downloading the unity trial, I'll see how that goes. I'm familiar with blender3D so it shouldn't be too hard to get used to.... question though: What's C#?
 

liptonlover

macrumors 6502a
Original poster
Mar 13, 2008
989
0
@ eric5h5 - Rofl my bad :D
I hate hate HATE where games are going. I shouldn't be forced to do things in 3D to make my way :mad: but anyways I'm downloading the unity trial, I'll see how that goes. I'm familiar with blender3D so it shouldn't be too hard to get used to.... question though: What's C#?

@ Mac player - Ok :) thanks!

@ Yeroen - I don't know.... I think blitzmax does a pretty good job avoiding that. Then again.... I never got too far with blitzmax in reality. I could do a lot but there was loads left to go.
 

wrldwzrd89

macrumors G5
Jun 6, 2003
12,110
77
Solon, OH
@ eric5h5 - Rofl my bad :D
I hate hate HATE where games are going. I shouldn't be forced to do things in 3D to make my way :mad: but anyways I'm downloading the unity trial, I'll see how that goes. I'm familiar with blender3D so it shouldn't be too hard to get used to.... question though: What's C#?
C# is one of the .NET languages Microsoft maintains. It is a "native" language of the .NET framework and Microsoft's Visual Studio development tools. Also supported by that framework/dev tools are Visual Basic .NET and C++.
 

liptonlover

macrumors 6502a
Original poster
Mar 13, 2008
989
0
So to use unity to make apps I'm going to have to learn that or one of the other languages they mentioned?
 

liptonlover

macrumors 6502a
Original poster
Mar 13, 2008
989
0
ok this is getting too complicated now. Right now I just want to focus on C and ObjC/Cocoa lol. I'll keep all this stuff in mind and fool around with unity, but I can't go learning 100 languages at once :p
 

Eric5h5

macrumors 68020
Dec 9, 2004
2,494
604
So to use unity to make apps I'm going to have to learn that or one of the other languages they mentioned?

Yes, but don't worry about the "learning 100 languages" thing. If you learn one language, you've got the basics for all the others covered. The rest of it is just syntax, and a lot of languages have quite a few similarities to C anyway.

--Eric
 

lee1210

macrumors 68040
Jan 10, 2005
3,182
3
Dallas, TX
Yes, but don't worry about the "learning 100 languages" thing. If you learn one language, you've got the basics for all the others covered. The rest of it is just syntax, and a lot of languages have quite a few similarities to C anyway.

--Eric

Everyone else is throwing their 2 cents in, so I'll toss out a slight footnote to this.

Practically every procedural language is easy to learn once you've learned one (i.e. C to Fortran to ASM).

Practically every OO-procedural language is easy to learn once you've learned one (i.e. C++ to Java to C#).

Practically every functional language is easy to learn once you've learned one (Lisp to Haskell to OCaml).

Outside of these categories (someone will, assuredly correct me on this) I don't know of a lot of others. I guess you could say that once you know one hardware description language it's easy to learn the others (VHDL to Verilog).

ASM might be an exception, as knowing a slightly higher-level language like C doesn't always open the door to any style of ASM. A RISC ISA is probably going to be easier than a CISC ISA, etc.

I would focus on one paradigm at a time, but you will never finish learning any one language, so don't be too concerned with branching out.

-Lee
 

liptonlover

macrumors 6502a
Original poster
Mar 13, 2008
989
0
now can someone please just define procedural language and functional language? I have an idea what they could be but I just want to be sure. :)
 

wrldwzrd89

macrumors G5
Jun 6, 2003
12,110
77
Solon, OH
I just learned what these are yesterday so I'd be glad to define them for you.

Procedural languages organize statements into procedures, which can call each other or themselves (this is called recursion). C is a good example of a procedural language.

Functional languages are a subset of procedural languages, which focus on mathematical expressions.
 

adrian.oconnor

macrumors 6502
Jan 16, 2008
326
3
Nottingham, England
now can someone please just define procedural language and functional language? I have an idea what they could be but I just want to be sure. :)

What are you doing still posting here?! You should have shut yourself away in a darkened room by now to work on your strategy-game masterpiece (in C, I think you decided)! It won't write itself! ;)

Procedural is 'normal' programming, with variables and operations that act, one after another, on those variables. It's what you think of as 'programming'. Functional programming tends to be focused on returning the same value every time, without side effects. It's an odd concept, but it's perfect for mathematics.

I've never really played with functional languages, but there are some Eriksson videos on Google Video that demonstrate Erlang (a functional language they wrote for their phone systems). They are worth watching, not least of all because they all have terrible 70's era haircuts, but also because it's nice to see how they approached their specific problem.

I know I haven't really explained functional programming that well here, but that's because I don't really understand it myself. Maybe someone else who has done a lot of tricky academic math can provide a nice car analogy :)
 

liptonlover

macrumors 6502a
Original poster
Mar 13, 2008
989
0
I'm still working on learning C... I finally ordered cocoa programming for mac os x *deep breath* so that'll come soon.... then I can get started from there. I thought hard about it and I don't think I need to get into 3D of any sort to make a decent living in programming... I live by my own saying... "it's not the graphics that make a great game great... it's what's going on BEHIND those graphics." *wonders if someone else already coined that*
So anyways... Looking at my collection of games I have plenty that aren't 3D... in fact more than half AREN'T 3D. They're either fake 3D or overhead view, all easily done without getting into 3D. Also some things just can't be done in 3D very well. Like take risk for example. It's fine as an overhead game. Adding 3D might look cool but it just adds to the complexity of controls and makes more work for me.
 

yeroen

macrumors 6502a
Mar 8, 2007
944
2
Cambridge, MA
Of course, at 17 (that's your age, right?), there's an excellent chance that you'll ditch the idea of becoming a professional programmer before graduating college and entering the workforce to do something else entirely.

Not that that's a bad thing. Ask any of us who do this for a living, and you'll get some irreverent opinions on the nature of the profession, such as it is.
 

liptonlover

macrumors 6502a
Original poster
Mar 13, 2008
989
0
:rolleyes: I wish... actually I'm 14 and wish I was older, because that would mean I wouldn't have missed out on my favorite period of computer history, when 3D vector graphics were revolutionary and programmers had to work a lot harder to get their stuff working due to limited memory and slow computers. *deep breath* so anyways...
I started programming in a loose sense of the word when I was 10-11 and even though I've had lots of other passions come and go since then, I've always loved programming to death. I enjoy working on making games more than playing them and I doubt it's going to leave me any time soon :)
 

adrian.oconnor

macrumors 6502
Jan 16, 2008
326
3
Nottingham, England
I'm still working on learning C... I finally ordered cocoa programming for mac os x

Good move; I think you'll get a lot from it.

I don't think I need to get into 3D of any sort to make a decent living in programming...

You definitely do not need 3D to make a living. In fact, it's probably time for a quick reality check... The grim truth is that you can make a better living creating far more mundane stuff than fancy-pants games. I suspect that all of the professional programmers in this thread (those of us who make a living writing software) write software for businesses.

That doesn't mean it's boring - in fact, I really enjoy my work - more than any of my friends enjoy their jobs - but my particular line of software (normally document management, but right now patient management) is a world away from what I thought I wanted to do when I was younger - which was of course write games.

As it happens, writing games these days is probably a far less creative process than writing regular software (for the programmers, that is), because the teams are so huge and that leaves very little space for each individual to make their mark. If you are very arty as well as good at programming, then maybe you could still do something special as an indie game programmer, but that's rare these days.

I have plenty that aren't 3D... in fact more than half AREN'T 3D. They're either fake 3D or overhead view, all easily done without getting into 3D. Also some things just can't be done in 3D very well. Like take risk for example. It's fine as an overhead game. Adding 3D might look cool but it just adds to the complexity of controls and makes more work for me.

Even 2D is very difficult - especially if you don't have an artist creating beautiful graphics for you. I'd strongly recommend starting with nice little projects (connect 4, tic-tac-toe, that sort of stuff) while you're learning because there's nothing more demoralising than biting off more than you can chew. If you do start a project that you don't have a hope of finishing, learn from it, bin it and start something more realistic. You must write software though - it's the only way you'll truly learn.

Let us know how you get on with Cocoa Programming for Mac OS X. It's a great book.
 

adrian.oconnor

macrumors 6502
Jan 16, 2008
326
3
Nottingham, England
Sorry to spam the thread with yet more ramblings:

I wish... actually I'm 14 and wish I was older, because that would mean I wouldn't have missed out on my favorite period of computer history, when 3D vector graphics were revolutionary and programmers had to work a lot harder to get their stuff working due to limited memory and slow computers

It's easy to feel that way but don't be despondent - People will think the same about this generation in 20 years time. The truth is, good programmers still try to squeeze every last ounce of a computer, and the extra room gives you far more creative space to do some great things.

There was a certain innocence in that age, I'll grant you (although maybe it's just nostalgia), but it wasn't necessarily that great - you wouldn't have had Blender, for example, and Basic meant really, really BASIC.

This is a good time to be programming, not least of all because of the Linux revolution and open source software in general, but also because OS X is a wonderful platform to write software for. Those NextStep engineers knew a thing or two...
 

liptonlover

macrumors 6502a
Original poster
Mar 13, 2008
989
0
I hate having to put semi colons after statements... kinda annoying since my background is BASIC.

I never liked the idea of a blue collar job... that's why earlier I said my choice companies are apple and pixar though I suppose pixar doesn't really count as its own company any more :mad: I happen to get frustrated easily when it comes to repetitive work... and programming while wearing a suit in a cubicle will probably take all the fun out of it for me and I won't be able to stand it. I hope to be able to make my way either by myself or in a company I started.

Artistic talent isn't too hard to find... I certainly can't make my own graphics but artists for hire are around on the internet. And I know what you mean about taking a bite too big to chew... when I get a new idea (for the palm because I never did serious programming on the computer) I start visualizing all the problems, I can literally see the code in my mind and how I'll get around problems. But once I start, it always becomes harder than I think it will be.

Yeah the second version looks great from what I've seen flipping through it... too bad I couldn't use it.

I still don't think it's the same... something about back then just appeals to me which is weird seeing as I was only a baby for the end of that era.

You have a point there :cool:

I still find it funny that we're still using at the core of our macs stuff that was written years and years ago...
 

liptonlover

macrumors 6502a
Original poster
Mar 13, 2008
989
0
Exciting moment! Last night I finished the tutorial from cocoalab.com which I highly recommend to beginners. As I said previously I don't have a C background, and this tutorial is for people who want to learn ObjC but haven't learned C yet, unlike every other book/tutorial I've found. So anyways I finished it, and they have this simple app where you have two buttons and a label, and all the buttons do is change the value of the label to 5 or to 0, depending on which one you press. But I learned so much more than that, like pointers I finally understand... I was lost before. So from their simple application, I built on it to make a counting app, and then I added another label and button so that it saves the highest point you've made it to, even if you reset the number. I can't come close to describing how good I felt last night.
 

adrian.oconnor

macrumors 6502
Jan 16, 2008
326
3
Nottingham, England
Exciting moment! Last night I finished the tutorial from cocoalab.com ... I can't come close to describing how good I felt

Great stuff! I still get that buzz all the time when I write something new, and that's why I love programming.

pointers I finally understand...

Good :) They aren't so tricky really. People do worry about them when they're starting out, but conceptually they are very simple and it just takes a little bit of practice and familiarity.

I think you'll really like building the sample application in the Cocoa Programming for Mac OS X book. It's quite a meaty little project, but it's very well written and that makes it nice and easy to follow.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.