Looking for some direction

Started by
18 comments, last by shanemf 22 years, 7 months ago
Hi, I'm currently in my first year of a computer science degree, and am hoping to eventually get into games development. Im just wondering what subjects are important to learn from a games developers point of view. Im guessing maths and physics are both helpful, but is there any particular areas of them that are more beneficial than others (I found the linear algebra tutorial on this site which I will definately read). What about assembly? Is it necessary to know how to program in assembly? Just one other stupid question. What is directX and openGL. I realise (I think) that they are for doing graphics in a windows environment, but are they utilities, do you need to learn another programming language to use them, or is C++ a suitable pre-requisite to learning them. Anyway, any sort of advice would be much appreciated. Thanks. Edited by - shanemf on September 5, 2001 11:49:59 AM
Advertisement
I cannot answer your first questions but DirectX and OpenGL are what we call APIs or Application Programming Interfaces. They are a set of Library functions that allow the programmer to turn the Windows enviroment into a games platform. Usually it will be difficult if not impossible to make a decent full screen game which is running in Windows, but DirectX allows you to do this by setting your graphics mode up and allowing you to write pixels to the screen and havinf control over ANY device plugged into your system with absolute ease.

Direct3D has functions for 3d graphics and can let you manipulate your 3d hardware. The good thing about DirectX is that it is compatible with any hardware such as

* Keyboard
* Mouse
* Joystick
* Monitor - Graphics card
* Or any other device you can plug in

What DirectX says is, that once the device is plugged in and has drivers for it (obviously), then it can be programmed easily. Unlike the days of DOS (Rest in peace) where you had to code for different types of Sound cards or graphics cards. It''s sort of like Windows finds your devices through DirectX and talks to it for you once the code has been written. I am not too sure about OpenGL though.

With DirectX all you need to know is C++ and u need to use Visual C++ by Microsoft. Well you dont have to use MS Visual C++ u could use Borland (Imprise) C++ or any other Windows C++ compilier but MS VC seems to be the popular one and around Gamedev.net forums, that''s all I seem to hear about (LOL).

DirectX is free, you can download it from Microsoft website, but it''s a heavy download, or you can order a free CD from them but the delivery is about $13 (American dollars) last time I checked (correct me anyone if I am wrong). You can get Direct SDK from some books like Andre LeMoths'' Tips and Tricks of Windows Game Programming Gurus. You also need DirectX drivers installed onto your computer to help run your codes and you can easily download the latest ones from the net or if you are a magazine subscriber and play the games from them, they sometimes or usually come with the latest Drivers, the latest DirectX is 8.0 (I think) and that''s what u should be aiming for.


I hope I helped.

Dark Star
UK

---------------------------------------------You Only Live Once - Don't be afriad to take chances.
Thanks heaps for the reply, its helped a lot.
I use Visual C++, so thats not a problem. I think I''ll have to get myself a copy of DirectX.
Linear Algebra is pretty useful, I''m only halfway know it myself, so I should know .

Assembly isn''t required to program a game. Sometimes it is nice to know, but unless you know it well, you''ll get better performance out of a higher level language like C or C++, since the compiler would be better at optimizing than you are.

quote:Original post by shanemf
Just one other stupid question. What is directX and openGL. I realise (I think) that they are for doing graphics in a windows environment, but are they utilities, do you need to learn another programming language to use them, or is C++ a suitable pre-requisite to learning them.

C++ (as well as C, which is normally considered the same language for the most part) is one of many languages you can use to access DirectX or OpenGL.

OpenGL is for doing hardware accelerated 2D and 3D graphics. DirectX does that as well input, networking, sound, and some other things. There are many other crossplatform libraries that are meant to be used alongside OpenGL that can handle the other stuff though (OpenAL, HawkNL, SDL, et cetera).

OpenGL isn''t just for Windows though, it works on a number of platforms (hardware, operating system, et cetera).

[Resist Windows XP''s Invasive Production Activation Technology!]
One more thing that I forgot: The OpenGL libraries and headers come with most any compiler, no download is required. You can see some introductory OpenGL tutorials (for later, I guess ) at nehe.gamedev.net.

[Resist Windows XP''s Invasive Production Activation Technology!]
Welcome to the Inner Core of the Game Industry, Shanemf.

This is the beginning of the rest of your life



The Game Industry
OpenGL/OpenAL/OpenNL
"Self awareness is the interaction between 3 different parts of your brain. The Cog, the Left and the Right side of you brain..."
Hi, I(newbie) would like to seek advice from the Pros regarding a comment.
Is it true that for beginners, we have to be familiar with C++, Windows WIN32 architecture, DirectX and openGL. And if it''s true, is there any books to recommend for those topics? please...


P.S. Any beginner books to recommend besides dummies?

savager-X
The road may be long, wind may be rough. But with a will at heart, all shall begone. ~savage chant
savagerx: Check out the "For Beginners" section of this site for some good advice and suggestions for books. Personally, I think Bruce Eckel's "Thinking in C++" is a great intro for people who know programming but not C++ and "Secrets of the Windows Game Programming Gurus" (or something like that) are both great books to start with. I also hear the C++ for Dummies book is a good intro to C++.

For what it's worth...

-MightyM

Edited by - MightyM on September 7, 2001 11:04:26 AM
Tkx u very much MightyM...
The road may be long, wind may be rough. But with a will at heart, all shall begone. ~savage chant
another area of knowledge that seems to be overlooked here is software rendering. knowing how a scanline z-buffer is written or how a basic ray tracer is written goes a long way. many of the algorithms that these things use are applicable to just about every aspect of game programming.

knowing computer architecture in general is a good thing as well.

the more you know the better.




This topic is closed to new replies.

Advertisement