I'm a newbie. I like to play games, but I'd also like to program them too. I know it's difficult to create a game, but please share the basic info I need to get started creating my first game. What do I need to study to become a game developer? What is game AI? What is a Game Engine? What are the different types of game engine?
The field of game design is a broad topic, but it's certainly possible for to get started with little prior experience. The first thing you need is an idea; you can find many good starting ones at this question.
From there, you should choose your platform and language/IDE. A good solid choice for PC development is XNA, and if you want to go web you can choose Flash (though that may cost money).
Then, you need to figure out the design of the game engine you'll write (i'd personally recommend an Asteroids clone). This includes figuring out how the main game loop is structured, what attendant classes to make, how you'll draw everything on the screen, etc. Your platform+language+ide choice may affect this, so make sure you know how to fit a design into the language you chose.
After that, you get to work. You map out the classes and start implementing features, using programmer art along the way. After a long time of this (if your design was good and you didn't give up), you should basically have a game.
Then you look for assets you can use, and tweak your game to use them. Finally, it's a good idea to get a few parties to playtest the game and get feedback (actually it's good to do this once you have something playable, not when it's done)
That's an overview of how you could do a 1-man simple 2d game, the process is much more complicated for larger teams and 3d games. The above is a good start for you though. For instance, if you hired an artist for your game, chances are you'd have him working at the same time you worked on programming the game, so you'd use his/her output as you get it.
As far as what Game AI and game engines are:
- Game AI is where you program the computer to play some part in the game, whether it's a computerized opponent in a strategy game, or the behavior of a space invader from Galaga.
- Game engine is a loose term used to refer to the collection of code which makes up the game and is compiled directly into a computer executable file (and possibly attendant DLLs).
and finally, Don't create an MMO till you're really good! :)
If you're completely new to game development and you just want to play around, I'd recommend starting with Game Maker.
Basically a game is composed of 3 things:
- Game Design - your mecahnics, rules, goals and rewards
- Game Assets - your graphics (2d or 3d) and sounds
- Game program - program that consolidates everthing
Game AI- Artificial Intelligence, a program use to simulate control over actions of certain entities usually NPC's be it enemies or allies. This can be set by programmers or designers
Game engine - are a collection of tools (from frame works, middle ware etc.) to make games.
For better knowledge it would be good to check out articles at gamasutra.com as well
If you're new to game development but have programming experience I can really recommend Unity (http://www.unity3d.com).
It'll allow you to get something going pretty easily and as you settle in you can do more and more yourself, many things can be done very easily in Unity, but you can also get closer to the metal if you so desire. They have tutorials varying from Racing games to platformers and an awesome community.
It'll allow you to get going without grasping all the concepts and as you go you'll grasp more and more, and will have a tool to help you toy with them. As far as learning curves go, it's hard to get a smoother one than with Unity while still having the ability to create pretty much any kind of game.