Where to start...

Started by
10 comments, last by asmon 17 years, 2 months ago
It has probably been answered a lot, so sorry for that and sorry for my english. I was just wondering about 3D game programming. What tools do i need? i am talking about the languages and softwares. I was only programming webpages till today, using CSS,JS,PHP.... and learnt a little bit C/C++ but i know 3d game programming is a different story and i don't know where to start because there are many options about what language to pick, graphic program and the like... Therefore i need your help. what are the adventages of the different languages available and what other programs and tools do i need? not only 3d programming but 2d as well.
Advertisement
Go to Resoruces, For Beginners, read everything there, that will give you a good understanding where to start. link to For Beginners

Enjoy...
theTroll
It only helps when you already know what you are doing, it doesn't explain what DirectX and OpenGL is and the difference bwteen it.
or anything about 3d graphic programs.

but nevermind, i guess i'll be googling a little.
My only questions are, what is visual c++ and when going from 2d game programming to 3d, do i need to learn anything new except how to make modules in a 3d graphic software?
If you're talking about 3D "programming" you need to know more than just creating models in 3D graphics software, because that's not programming - that's using software to create 3D models.

Visual C++ is Microsoft's compiler for C++ which is a Windows based IDE (integrated development environment). I would personally recommend it as it helps with the whole development process greatly.

You could get a million posters all telling you which of DirectX and OpenGL is best. Why not learn both and make up your own mind? :) Both are pretty easy to get up and running with, although you should really learn the basics of Windows programming first. (assuming Windows as you mention DirectX). Of course OpenGL will open you up to Apple and Linux.

It's also worth knowing a lot of mathematics, particularly rotations, matrices and all that. You should also know about 3D concepts in general as you will quickly get confused when you get into the terminology of 3D graphics.

You should also know about general optimisation techniques for programming if you're going to be looking at high-end, commercial graphics software.

There's a few things to search for anyway.. :)
"Absorb what is useful, reject what is useless, and add what is specifically your own." - Lee Jun Fan
Oh, i didn't mean Microsoft visual studio.
I thought there is a language called visual c++.
Obviously i need to know more than 3d modeling, it wasn't my question.
I meant, if i already know 2D game programming, and i want to move to 3d, will i need to learn some extra language?
Do you already know how to program games in 2D?

You need to pick your platform, (Windows, Mac, Linux, etc.), pick your language (C++, C#, Python), pick an IDE for that language (MSVC, Dev-C++, etc.), choose a pre-built rendering engine (OGRE, Irrlicht) or build your own rendering engine with a graphics API (Direct3D, OpenGL).

If you are new to programming in general, I would pick C# and the XNA Game Studio Express (based on DirectX).

So, you need to investigate: platform, language, IDE, and API (or pre-built engine). There's no extra component to 3D than from 2D, but you need to use more of the graphics API than a 2D game requires. There's also a lot more math involved, but you probably knew that already.
XBox 360 gamertag: templewulf feel free to add me!
I am not really new to programming.
i am very experienced with Web programming such as PHP.
and i learnt C,C++,VB and assemnly in the past..
but i am thinking about start learning game programming because it sounds challenging. I don't know anything yet about graphic programming.

What is 'XNA Game Studio Express' exactly? sort of a language?
Is it difficult building your own engine for example with DirextX?
As i have mantioned, i don't know anything about DirectX and those stuff, therefore i can't imagine how exactly it looks and how i use it.

[Edited by - asmon on January 29, 2007 3:10:11 PM]
XNA Game Studio Express is a game development ADD-ON to Visual C# Express Edition (which is the free C# version of Visual Studio).

XNA Game Studio Express is used for writing .NET programs (.NET is a platform, similar to the JVM 'Java Virtual Machine') using C# (a language similar to Java) (just like Visual C# Express). What XNA adds to the mix is some extra libary classes, project templates, and tutorials to allow you to develop simple games for both Windows and the XBOX 360.

DirectX is a collection of APIs (Applicatoin Programming Interfaces), oriented towards fast hardware accelerated game functionality on Windows. It consistes of many sub-parts ... DirectDraw, Direct3D, DirectSound, DirectMusic, DirectInput, DirectPlay, DirectShow ... (some of those have been moved by Microsoft into other areas ... like DirectShow is now just a standard part of Windows Platform SDK, and DirectDraw is not being modified anymore because Direct3D does all the 2D graphics just as well).

OpenGL is a Cross-Platform 3D Graphics API (but people use it for 2D as well) that competes directly with Direct3D. ALL major graphical games made in the last 5 years use either Direct3D or OpenGL for graphics (some simple games can use less powerfull libraries like GDI+, etc), many older 2D games used DirectDraw for graphcis.

OpenAL is a Cross-Platform 3D Sound API that competes with DirectSound (and maybe DirectShow and DirectMusic to some extent).

DirectInput is mainly for getting input from devices like Joysticks.

DirectPlay is for networking and is almost never used ... most people code networking directly to the WinSock API (Windows Sockets).
Thanks a lot for the explanation.
I guess i'll start learning Direct3d with c++, then i'll understand a little bit more about how it works.
I'm not Sure if you know how to program, if you do then ignore this comment.
But you should try makeing some simpler 2d games , then advance to more difficult 2d programs before you jump to 3d. that is a very decent sized jump.

If you have done 2d programming and think you are ready to go for a 3d game. then make that jump. but start with something small. I have personall experience that you should never jump from a 2d side scroller to 3d fps. it is a very difficult jump to make.

Depending on ones programming skill few succeed with that jump...
I hope that helps.
~Strass

This topic is closed to new replies.

Advertisement