Skip to main content
GameDev.net gamedev.net
🔒 Locked

Where do I start?

Started by Naaga Dec 18, 2002 at 10:44 PM 8 replies 1.9k views
Original Post
Naaga
Naaga
Okay, so I want to be a game programmer. I''ve been trying to learn Direct3D for about a year now, with limited success. This limited success is directly related to limited interest. I''ve decided I don''t want to be a graphics programmer; I want to check out artificial intelligence. So, where do I start? I''d like to have some sort of visual representation of a world. So, do I find a free graphics engine, and use it as little as possible? Do I restrict myself to console apps and an output.txt file?
__________America seems to like crap because its what we make popular. - Goober King
aleph
aleph
My suggestion is that if you want to be a game programmer, first become a programmer. If it have taken you a year to learn Direct3D, and in addition your success was limited, you are probably lacking quite a lot of general programming knowledge and skill.

It is great to have high ambitions, but trying to learn something without starting from the beginning is almost impossible and a complete waste of time. Give me an API such as Direct3D and I will be an expert on it in a few weeks, not because I would have seen any of it before, but because I have attained skills in computer sience and programming in general.

The same is actually true for programming languages. Many people debate on which programming language one should and should not learn. I say: pick any one. The important thing is to learn how to program, not to learn the semantics of a particular language. When I try to solve a programming problem, I do not think about how to do it in any specific programming language, but rather in some non-existing pseudo-language, if even that. When it finally comes down to coding the algorithm I''ve invented, I could do it in (almost) any language.

So, keep you ambitions up, but make sure you take one step at the time. Hope all this made any sence.
Naaga
Naaga
I should clarify. I had limited success with actually writing an engine. Not becuase of lack of understanding, but lack interest . If I wanted to do graphics programming, I''d do it. It just took a while for me to realize I don''t want to.

fup: Thanks for the idea. I''ll look into it.
__________America seems to like crap because its what we make popular. - Goober King
Timkin
Timkin
Start small and work up to big AI projects.

If motivation is a problem, then you are going to struggle to get through what might be seen as the boring underpinnings of AI, but which you REALLY need to learn to be a good AI programmer.

Start with search. Search is not AI, but a tool used by many AI systems, particularly in Game AI. Learn the basic search algorithms (greedy, uniform cost, etc) and the appropriate implementations of these.

From Search move on to game trees (because these follow naturally)! Implement the minimax algorithm and then alpha-beta pruning.

From game trees you might want to go back to search and apply it to navigation. Navigation is a very important area for game agents that must move around their environment to interact with it.

Once you''ve got navigation under your belt, you might like to try advanced search methods like evolutionary programming, genetic algorithms, simulated annealing, etc.

Once you''ve accomplished all of this you can then start to consider learning! As much as you might want to dive straight into learning now, I highly recommend that you put in the effort to learn the above first. It will make you a far better and more rounded AI programmer and far more employable (if that is your ultimate aim).

Cheers and good luck,

Timkin
Frenchie
Frenchie
Actually AI fascinates me (something that makes you smile and go "oooooh") and all of the above is very informative, though would it be possible to suggest books as well? I see classics and rave reviews of x,y and z but for some reason there''s never a clear definition of where to start and how to progress (not just in AI but in most things computer related and god knows how many books are out there...). I''ve been programming for about 2 years in Java and C mostly so I have some learning background. Though I read AI has little to do with programming in an interview. Might be right or wrong.

Any help appreciated.

Regards,
Le peur de l''autre donne des ailes,On se sent moins seuls au pluriel
fup
fup
Artificial Intelligence: A Modern Approach by Russell and Norvig is the text and will give you a good overview of the subject. When you find a topic you are particularly interested in you can buy a more specialized book.

AI Wisdom has several good articles, but only really useful if you have some understanding of the underlying techniques already.

My book (shameless plug) teaches neural networks and genetic algorithms in a very practical, hands-on way.

The internet is also a great resource. See Steve Woodcock''s site for a pile of useful links. (www.gameai.com)

also www.ai-depot.com

www.generation5.org

and my site of course







ai-junkie.com
Kylotan
Kylotan
I only browsed through it briefly the other day, but Fup''s book does look good in that it deals with applied AI, rather than the overly-academic AI that a lot of other books focus on. In other words, it''s potentially more directly useful. I''d buy it if I had the cash

[ MSVC Fixes | STL | SDL | Game AI | Sockets | C++ Faq Lite | Boost | Asking Questions | Organising code files | My stuff ]
Frenchie
Frenchie
Thanks for the info.
Le peur de l''autre donne des ailes,On se sent moins seuls au pluriel

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.