Sign in to follow this  
BadBoyHouse

Where to start with games programming??

Recommended Posts

BadBoyHouse    122
ok i've got visual C++ express but have absolutely no programming experience whatsoever. i've only just read up on what a compiler is. can anyone point in the right direction for tutorials etc on where to start with c++ (game) programming? cheers

Share this post


Link to post
Share on other sites
templewulf    526
Go to the resources bar on the top of the page and hover over it. Then, click on For Beginners.

It's as good a place as any.

EDIT:
Also, check the Forum FAQ for references to Online Tutorials. There's a link to the FAQ on the topic page just a few pixels above the first topic. It's easy to miss, so I linked it for you.

Share this post


Link to post
Share on other sites
bhavinvs    100
I think,u should learn abt Object Oriented concept in C++,thn only i thnk u can proceed further with game programming....it should not take more thn a week for u.
Thn after tht u can start with any Game programming book using c++,getting better with syntax and windows programming.And after tht go with Directx or OpenGL programming.

Share this post


Link to post
Share on other sites
ianp622    130
The first programming language I seriously learned was Blitz Basic. There's a book Game Programming for Teens. Although the quality isn't the best, it does what it says and therefore tells you how to program games in one of the easiest programming languages. Probably the most valuable thing about this is that you see the applications for all of the coding you're learning, which makes it alot more fun. The problem is, you have to buy it to make executable files that can run on other people's machines.


Once you are comfortable with programming in general, there are several paths you can take. Alot of things will transfer over pretty easily, you just have to understand there will be a shift in programming style, so don't get too relaxed while programming with Blitz Basic.

You can either learn 1. C or C++, 2. Java, or 3. Another programming language like Python or something.

1. Personally I think it's better to learn C before C++ because it's really not a complicated language. By going this route, you'll be more familiar with how the professionals program, but it will be more difficult. You'll need to either get DirectX or use some program that has graphics functions built in (there are two popular ones, but the names escape me, sorry).

2. Java has graphics functions built in, so it's easier to get started in game programming. Java is better for small online games, because it has web browser support, but I don't think it runs as fast as C++ (I'm sure someone will disagree, and they'll probably be right).

3. I don't know anything about other languages, sorry.

Share this post


Link to post
Share on other sites
14 year old    100
[quote]Original post by ianp622


2. Java has graphics functions built in, so it's easier to get started in game programming. Java is better for small online games, because it has web browser support, but I don't think it runs as fast as C++ (I'm sure someone will disagree, and they'll probably be right).

[quote]

Yes you are correct someone will correct you on that one, Java is as fast as C++ thanks to the JIT created in the JDK 1.2 I believe, personally I would reccommend Java, it has less cryptic code than C++, and it tends to be alot shorter, it has some resembling syntax to C++ so if ever you want to learn it it will be easier with a solid knowledge of java. It also has some great graphics libraries(swing, jogl, lwjgl etc...) I would also not reccomend learning C before C++ because C will give you bad habbits that will be hard to break when you switch over to an OOP language.

Francis...

Share this post


Link to post
Share on other sites
Chad Smith    1343
Well, since you already have Visual C++ EE then I suggest you go ahead and go with C++. C++ can be a hard language to learn, but it is very powerfull and once you get some of the basics down it isn't very hard. All it takes is time and dedication. My first language was C++ (I started to learn last year) and I learned it just fine.

A good place to start and where I started from was:

CProgramming

Also, I suggest you check Amazon out for some Beginning C++ books.

Now, if you find that C++ just isn't for you then I suggest C# or Java. Both are good languages, and they are both easy to get into. Although, I don't like them very much I still think they are good languages to start out with (I don't like them because everything is a class. I learned to program by not always using classes to solve everything, as sometimes they are not the best way [hence why I like C++]).


Good luck on your journey!

Chad

Share this post


Link to post
Share on other sites
memento_mori    100
Quote:
Original post by ianp622
You can either learn 1. C or C++, 2. Java, or 3. Another programming language like Python or something.

1. Personally I think it's better to learn C before C++ because it's really not a complicated language.


I strongly disagree...
I suggest you go with C++ right from the beginning... It's better to get into the Object Oriented concepts earlier... If you get used to non OO programming it will be much harder to move later... get used to OO early on

Quote:
2. Java has graphics functions built in, so it's easier to get started in game programming. Java is better for small online games, because it has web browser support, but I don't think it runs as fast as C++ (I'm sure someone will disagree, and they'll probably be right).

They will disagree but they won't be right...
Java is a much higher level language than C++, it will ONLY run on computers that have the Java Virtual Machine installed and running, meaning the programs are MUCH slower and will need to have the JVM.
So if you're looking for serious game programming (like the commercial FPS or RPG games) Java is a no no.


I suggest you learn C++... you can also find TONS of free books online... Thats how I started.. (before learning the same shit twice in university :P)...
granted it might seem hard at first but you if you have enough perseverance, you will get through it... if you don't have it, then you probably won't make a good programmer after all ;)

And don't be discouraged that all the apps u will be making the first few days are console apps (i did) becuz u can move into windows app in no time once u get the basics.

good luck
memento mori

Share this post


Link to post
Share on other sites
templewulf    526
Do not learn C if you are trying to learn C++. It will teach you C-family syntax and a whole lot of bad habits in C++. I took a "C++" class in highschool that turned out to be just "C with classes". There is a difference, and it's hard to unlearn bad habits, trust me.

As far as which language to use, C++ is not beginner friendly. I started using it 6 years ago, and I'm still not that good. The upside is that its popularity means you'll have an easy time finding tutorials and libraries for it (bad tutorials are especially easy to find).

If you want a language that's a bit more merciful, try C# or python. I prefer the style of Lua, but I like python's utilities better (especially pickle). Java is also very popular and easier than C++, but I don't like its style. That's just me, though, so you might like it better.

C# is especially good, now that Microsoft is using it with XNA to "open game development to everyone".

Share this post


Link to post
Share on other sites
John_23    200
I think you should get a book on C++, then another on OpenGL once you're finished. That's what I did anyway. It's very difficult to learn OpenGL if you don't know C++ already so as I have said, get a book on that first. Hope that helps :)

Share this post


Link to post
Share on other sites
ianp622    130
Ok, so it seems general consensus is to learn C++ first, although I've heard it the other way also. People said that programming in BASIC would give me bad programming habits too, but I never had a problem switching over. I'm just beginning to learn C++ and it seems like I can skip over some stuff.

And those two programs I was talking about were SDL and Allegro.

Share this post


Link to post
Share on other sites
It really doesn't matter what language he starts with. Programming isn't about a language. It's about well-defined logic and principles. Languages are just tools.

People who restrict themselves to one language restrict themselves as programmers.

That being said, I also don't agree with the whole: 'don't learn C because it will cause bad habits' ideology, because if you take the time to learn both C and C++ and treat them as separate languages (as they should be), you shouldn't have any problems.

Besides, there are times when C is useful. One example is programming for embedded devices that don't have fully-functioning C++ compilers. Plus, a lot of tutorial code out there still uses C and it might be hard to interpret without at least -some- knowledge.

I personally agree that C++ is a good place to start, but not because it's 'easy' or because it is the only language but because it's a commonly used, powerful and well-structured language that is well-suited to almost any type of application development.

Just a bit of advice though: never restrict yourself to a language.

Share this post


Link to post
Share on other sites
RavynousHunter    100
I agree on that one, it doesnt matter much what he starts with. However, if you have no programming experience, i would suggest something a bit simple, say, VB or plain BASIC, to get a good framework down. Then move on to something a bit more complicated, say C# or Python, to improve your knowledge and get a handle on some more complex concepts. Then, move on to the harder stuff, like C++, ASM, and the like. I personally started with TI-83+ Basic, went on to VB6, then C#, and am currently working on learning C++ thru VC++ Express, and DevC++ when i feel like it.

if you, like me, work best by example, i would suggest for learning C#, try taking a gander at the RunUO source, its an Ultima Online (a very popular MMORPG) emulator written almost entirely in C# and XML.

Share this post


Link to post
Share on other sites
John_23    200
I agree with RavynousHunter. If you have no programming experience with programming at all, I strongly reccommend starting on Visual Basic.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this