🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

Is this method a right choice to start a game programming?

Started by
10 comments, last by mcnation 22 years, 9 months ago
Hey, I am a high school student who wants to be a game programmer. As the time goes, the technology changes quickly, right? I am just wondering what am I going to start with? I am thinking about this way - c++ -> API -> MFC -> DX Is that a right choice? I want to hear some voices from game programmers! Bye~
Hi~ I''m a beginner.
Advertisement
There is nothing called "API." There''s the Win32 API. Then there''s DirectX, which is a game programming API. Then there''s OpenGL which is a graphics API. C or C++ are the languages you should probably learn. MFC is evil, skip it.

[Resist Windows XP''s Invasive Production Activation Technology!]
C++ & OOP => WIN32(Basics) => DX / OpenGL / SDL
Thank you guys for reply.
But there''s one more thing I want to know.
I heard there are several areas (maybe thousands of areas ^^
in game programming such as graphic programming, tools(editors), and AI. (and for the network programming -> database, network communication)
So, what is the game programming is that DX/OpenGL...
then what is the tools, AI? I am confused... I mean, what should I study? Can I just do one part in a group or do I have to know all of each a little bit and then participate?
Thanks..

Hi~ I''m a beginner.
DirectX and OpenGL aren''t languages, they''re API''s. DirectX handles Input, Sound, Graphics, et cetera. OpenGL handles graphics. The Win32 API handles lots of weird things having to do with Windows. Game programming is doing anything to make a game, so you''ll end up picking up lots of weird stuff .

[Resist Windows XP''s Invasive Production Activation Technology!]
Tools programming is that you build little programms that are used to make the stuff for the game (i.e. a mapdesigner). They are in the most cases not for the ''customer'' and not part of the game itself.

Start out with C++/OOP. Doing anything with DX or OpenGL without having very good knowledge in C++ is waste of time.
Hi McNation...

It looks like you''re kinda new to all this, so I''ll give you basic definitions of what everyone is talking about here.

An API is like a library. A physical library of books. OpenGL is a library, but one consisting of functions which work purely with graphics. DirectX is the same thing, just from a different company. OpenGL is from Silicon Graphics (SGI). DirectX is from Microsoft.

In game programming you use a language (C++ is one of many) to work with the graphics API of your choice, to create the game of your choice.

C++ is the best language to create games with. Not too tough to learn, very flexible and it has performance to match. The best graphics API out of OpenGL and DirectX is a tough one to answer. I''ve heard that OpenGL is easier, but DirectX is what I use personally - only because it was more convenient for me when the time came for me to choose.

MFC is an anagram for "Microsoft Foundation Classes". Null and Void is right about MFC being evil. It''s basically a library which has pre-built code available for your use. Some people say it''s slow, and in game development, slow is very bad.

There are several areas which make up the art of game development. They are very roughly:
Logic - Programmers
Graphics - Programmers use artists'' work
Sound - Programmers use sound engineers'' work

AI (Artificial Intelligence) is part of the game logic. It falls squarely on the shoulders of the programmers. It''s also a very specialized field. So, if your game has amazing AI, then it''s very possible for the development team to have a programmer in there who ONLY works on AI. The game Black&White by Lionhead Studios is an example of this.

The database (if you use one in your game) is also on the programmers plate. So is network communication.

To answer your question of what you should study... I would say you need to ask yourself what you enjoy the most. Putting the pieces of the puzzle together? Drawing and animating characters? Working with music and sounds?

If it''s programming your after - C++ is your destination. With some assembler a year or two later.

Any more questions, contact me via email. I''d be glad to help. I remember being totally confused myself once and would have loved it if someone would have directed my efforts with a little experience.

I hope that helps
Never underestimate the power of stupid people in large groups.
I would suggest you start with learning html, and then Java. While C++ is a very powerful language, it IMHO is not a good choice for a beginner (too complicated, teaches bad habits).

And to plug my project(again) check http://sagaj.sourceforge.net

That page also points you towards http://www.netbeans.org/ to download a nice IDE (that is an Integrated Development Environment, something that makes programming much easier) for Java. And towards a nice Tutorial to get started at http://web2.java.sun.com/docs/books/tutorial/

/Sandra

Edited by - shak on October 1, 2001 6:21:14 PM
quote: Original post by shak
I would suggest you start with learning html, and then Java. While C++ is a very powerful language, it IMHO is not a good choice for a beginner (too complicated, teaches bad habits).

C was my first language (followed by C++), I didn''t find it too hard (I was 10, most people are younger than me when they start), but I certainly didn''t find it easy. What language doesn''t teach bad habits?

HTML: Tabbing? Syntax is too lax. Not really programming.
VB: Let''s the language handle everything. No low level memory management (which, whether you like to admit it or not, is still crutial to programming today). The common devout VB programmer won''t know what to do with a pointer in C/C++. A generic multiple use variable isn''t exactly a good idea on teaching a utilitatian approach either.
Java: Doesn''t allow much in the ways of learning procedural or modular design, which (fortunately or unfortunately) is still what most software is written in.
java-script: Like VB, only crappier for teaching purposes.

If you''re going to suggest a language for teach purposes, you should suggest Pascal: It''s main purpose was to teach students programming.

[Resist Windows XP''s Invasive Production Activation Technology!]
Off topic (and a bit nit-picky ):

quote: Original post by Rhanyn
MFC is an anagram for "Microsoft Foundation Classes".

You mean ''acronym''. An anagram is a rearrangement of the characters in a word or sentence to form another word/sentence (whitespace is ususally ignored).
e.g. "wintercoat" is an anagram of "tonic water".


On topic (somewhat):

Don''t bother learning HTML if all you want to do is write programs. HTML is a text-formatting language, not a programming language. (Of course it won''t hurt to know HTML, it''s just that it won''t do much for your programming-skills).

This topic is closed to new replies.

Advertisement