Where to start with games programming??

Started by
12 comments, last by John_23 17 years, 8 months ago
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
Advertisement
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.
XBox 360 gamertag: templewulf feel free to add me!
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.
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.
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).



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...
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
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
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".
XBox 360 gamertag: templewulf feel free to add me!
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 :)
If you end up deciding to learn C#, you might consider starting up by using a game engine such as the FlatRedBall engine. Things are a lot easier when you don't have to try to learn 3D programming while you learn to program :-)
Joel Martinez
http://codecube.net
[twitter]joelmartinez[/twitter]

This topic is closed to new replies.

Advertisement