| | |
Game Development FAQ's, Books and Resources
![]() |
Hello to all Gamedevelopers out there. Many of your have already wanted to get into game development but came to a stand still due to the lack of resources.
Please don't post Spam or Thank you posts in this thread since this is meant to be used as a guide for all beginners. I hope you understand this.
My first post will deal with starting game development using external libraries and API's since it doesn't make sense to start coding a killer Game Engine or a Physics engine as your first attempt.
1. For a list of free game engines along with their reviews look here
2. As far as 3D modelling tools are considered, if you have big bucks you can go for the professional tool 3ds max or Maya. A free 3d modeller is Blender and has the features which match the professional ones (though its a bit tough to learn it).
3. Level editors are also aplenty out there but sadly they require you to pay for using it. A free one is Deled
4. Good sound libraries are:
Fmod: http://www.fmod.org
OpenAL: www.openal.org
5. Network API's
RakNet: http://www.rakkarsoft.com
Zoidcom: http://www.zoidcom.com
6. Physics Libraries:
Newton Game Dynamics: http://www.newtondynamics.com
Novodex: http://www.novodex.com
ODE: http://ode.org
Tokamak: http://www.tokamakphysics.com
As far as my experience and persoanl recommendation is concerned go with Irrlicht
Reaons:
1. Supports a lot of file formats
2. Has a level editor and support for .NET languages.
3. Has a very active community.
4. You can start being productive in a week or so.
IF you are really up for a challenge and want to do some serious development go with Ogre ( which is a free professional level engine ). And believe it or not , it has got a book written on it (by Apress ), so if you really serious about it, consider buying the book.
Performance wise Irrlicht falls flat compared to Ogre but the tradeoff is the level of complexity.
Some comparisions between those two here:
Here
And here
Feel free to experiment with the rest in the same way I did before choosing one since it really serves as a good experience on what you should expect from a Game or a 3d engine.
The only problem I think which game programmers face in game development project is artwork, coz programmign without good artwork sucks realtime.
I will keep on adding resouces as and when I get time.
Hope it helped, bye.
Please don't post Spam or Thank you posts in this thread since this is meant to be used as a guide for all beginners. I hope you understand this.
My first post will deal with starting game development using external libraries and API's since it doesn't make sense to start coding a killer Game Engine or a Physics engine as your first attempt.
1. For a list of free game engines along with their reviews look here
2. As far as 3D modelling tools are considered, if you have big bucks you can go for the professional tool 3ds max or Maya. A free 3d modeller is Blender and has the features which match the professional ones (though its a bit tough to learn it).
3. Level editors are also aplenty out there but sadly they require you to pay for using it. A free one is Deled
4. Good sound libraries are:
Fmod: http://www.fmod.org
OpenAL: www.openal.org
5. Network API's
RakNet: http://www.rakkarsoft.com
Zoidcom: http://www.zoidcom.com
6. Physics Libraries:
Newton Game Dynamics: http://www.newtondynamics.com
Novodex: http://www.novodex.com
ODE: http://ode.org
Tokamak: http://www.tokamakphysics.com
As far as my experience and persoanl recommendation is concerned go with Irrlicht
Reaons:
1. Supports a lot of file formats
2. Has a level editor and support for .NET languages.
3. Has a very active community.
4. You can start being productive in a week or so.
IF you are really up for a challenge and want to do some serious development go with Ogre ( which is a free professional level engine ). And believe it or not , it has got a book written on it (by Apress ), so if you really serious about it, consider buying the book.
Performance wise Irrlicht falls flat compared to Ogre but the tradeoff is the level of complexity.
Some comparisions between those two here:
Here
And here
Feel free to experiment with the rest in the same way I did before choosing one since it really serves as a good experience on what you should expect from a Game or a 3d engine.
The only problem I think which game programmers face in game development project is artwork, coz programmign without good artwork sucks realtime.
I will keep on adding resouces as and when I get time.
Hope it helped, bye.
I don't accept change; I don't deserve to live.
Looks like ~s.o.s~ beat me to creating this thread. I had it half-written, sitting on my computer, until I noticed that the thread was already started
. In that case, I'll simply add to this thread.
OpenGL
Now to actually compile the tutorials, you'll need the OpenGL SDK. On Windows, this is actually pretty easy, because modern versions of OpenGL come with the OpenGL runtime, and compilers come with the SDK. So on Windows, it's just a matter of figuring out how to configure your environment:
http://www.zeuscmd.com/tutorials/ope...nvironment.php
On Mac OS X, you'll need to either install the Developer's Tools that came on a CD with your Mac, or download it. Note that if you want to download it, you'll need to create a (free) Apple Developer's Account before you can download it:
Once you've got this, you still need to configure it. You can either check out my modified NeHe tutorial, or use http://www.OneSadCookie.com/tutorials.
On Linux, the OpenGL SDK is included with the major distributions (Debian, Ubuntu, RedHat, SuSE, Caldera). However, if you do not have it, you should download the open source implementation of OpenGL, Mesa. You may also want to download FreeGLUT. The last part of this web page will help you in compiling GL apps in Linux:
http://www.zeuscmd.com/tutorials/ope...nvironment.php
DirectX
http://cs.gmu.edu/~jchen/graphics/bookx/Notes/IntroDirectX.doc
It will be a lot harder using a compiler like Dev-C++ for DirectX development, although it's still possible (note that guide is a little outdated):
http://nexe.gamedev.net/directKnowle...Using%20DevCpp
Hope this helps
. In that case, I'll simply add to this thread.OpenGL
- http://www.opengl.org
- http://www.openglforums.com/
- http://nehe.gamedev.net
- http://www.gamedev.net
- http://www.gamedev.net/community/for...sp?forum_id=25
- http://www.lighthouse3d.com/opengl/
- http://www.zeuscmd.com/tutorials/opengl/
Now to actually compile the tutorials, you'll need the OpenGL SDK. On Windows, this is actually pretty easy, because modern versions of OpenGL come with the OpenGL runtime, and compilers come with the SDK. So on Windows, it's just a matter of figuring out how to configure your environment:
http://www.zeuscmd.com/tutorials/ope...nvironment.php
On Mac OS X, you'll need to either install the Developer's Tools that came on a CD with your Mac, or download it. Note that if you want to download it, you'll need to create a (free) Apple Developer's Account before you can download it:
Once you've got this, you still need to configure it. You can either check out my modified NeHe tutorial, or use http://www.OneSadCookie.com/tutorials.
On Linux, the OpenGL SDK is included with the major distributions (Debian, Ubuntu, RedHat, SuSE, Caldera). However, if you do not have it, you should download the open source implementation of OpenGL, Mesa. You may also want to download FreeGLUT. The last part of this web page will help you in compiling GL apps in Linux:
http://www.zeuscmd.com/tutorials/ope...nvironment.php
DirectX
- http://msdn.microsoft.com/directx/
- http://www.gotdotnet.com/team/directx/learn/
- http://nexe.gamedev.net/directKnowledge/
- http://www.pluralsight.com/wiki/defa...DTutorialIndex
- http://www.alanphipps.com/VisualBasicdotNET-XNA.html
- http://gpwiki.org/index.php/DirectX:Tutorials
http://cs.gmu.edu/~jchen/graphics/bookx/Notes/IntroDirectX.doc
It will be a lot harder using a compiler like Dev-C++ for DirectX development, although it's still possible (note that guide is a little outdated):
http://nexe.gamedev.net/directKnowle...Using%20DevCpp
Hope this helps
"Technological progress is like an axe in the hands of a pathological criminal."
You could also add this video webcast by Microsoft.
http://www.microsoft.com/events/seri...nvideodev.mspx
It has tutorials and all the source code to create a 2D and 3D game. Very good for beginners.
http://www.microsoft.com/events/seri...nvideodev.mspx
It has tutorials and all the source code to create a 2D and 3D game. Very good for beginners.
http://www.cgempire.com/forum/showthread.php?t=379
This tutorial isn't 100% complete but the author goes into great detail in explaining what you're doing. Makes a really good First Game. You will have a ASCII rpg game by the time you complete it. I expect the 5th part to be completed soon.
This is also a good tutorial if you don't completely understand classes. All of the code is in C++.
This tutorial isn't 100% complete but the author goes into great detail in explaining what you're doing. Makes a really good First Game. You will have a ASCII rpg game by the time you complete it. I expect the 5th part to be completed soon.
This is also a good tutorial if you don't completely understand classes. All of the code is in C++.
Most of the resources mentioned here are a bit advanced , used for 3D games, and requires quite a bit of reading to actually use in a game.
Here are a few libraries that should hopefully help in making simple games, with a much lower learning curve.
What do games need?
Graphics -> something draw on the screen, primitives (lines,circles,quads) and textures (pictures)
Sound -> bangs and bams, background music to make the game come alive.
Input -> To let the user actually interact with the game
So here are some simple libs which can help you with the above:
Frame Buffer: http://www.pixeltoaster.com/
Something to draw on. For beginners, it's recommended you use fairly low-level APIs and do things yourself. This should help you get a buffer to draw on and to learn some rendering techniques (and to develop a greater appreciation for the reasons why somethings are the way they are)
Rendering: http://freeglut.sourceforge.net/
Once you've learned to draw, you can let an API do it for you. Freeglut is pretty hand for that and can do wonders to simplify OpenGL initialization and rendering across various platforms.
Image Loader: http://corona.sourceforge.net/
Every game needs it's art. This lib makes loading images in a variety of formats easy. It can be used with any application. It just loads the image from file into a buffer in any mode(eg RGB).
Sound: http://audiere.sourceforge.net/
Open Source sound library. Like FMod, it can load and play a variety of sound formats like .wav, .mp3, .ogg, etc. It is completely free and very very easy to use.
Input: O.o
Sry, this is still platform specific. BUT ... PixelToaster, Freeglut etc have their own simple methods for getting user input.
Compiler: http://www.codeblocks.org/
A very nice and simple compiler IDE to use. It has many similarities with the Visual Studio C++ IDE and is extremely easy to use. A huge plus for beginners is that it has support for DevPaks, which are used to download and setup libraries easily. It means you just have to open up a little tool box, select the libs you want, hit download, wait for them to finish and then be automatically setup for use. You can also get project templates for these so that all paths and libs are already included for you to start coding.
Oh and all the above mentioned tools are cross-platform, so it does not matter if you are on windows or linux (or mac).
And to knock you out:
Scripting: http://www.somedude.net/gamemonkey/
Poweful C++ class based scripting API. Some people cant stand anything other than LUA but GameMonkey is quite easy to use, smaller and has an encapsulated interface. Not as powerful as LUA nor as much documentation, but still wonderful for games.
Others: LUA
Squirrel
Physics 2D: http://box2d.org/
An adorable 2D physics library. Simple and cross-platform (with bindings for other languages). It's really easy to learn and add physics to your games.
That should give you all the basic APIs to develop any game you can think of in 2D. I've not mentioned any other libraries for particles, models, shaders etc all of which can be used in 2D and 3D, but they are out there and you will run into them once you start making your own games.
Enjoy the journey (one from which you may never be able to depart, should you be able to start).
Here are a few libraries that should hopefully help in making simple games, with a much lower learning curve.
What do games need?
Graphics -> something draw on the screen, primitives (lines,circles,quads) and textures (pictures)
Sound -> bangs and bams, background music to make the game come alive.
Input -> To let the user actually interact with the game
So here are some simple libs which can help you with the above:
Frame Buffer: http://www.pixeltoaster.com/
Something to draw on. For beginners, it's recommended you use fairly low-level APIs and do things yourself. This should help you get a buffer to draw on and to learn some rendering techniques (and to develop a greater appreciation for the reasons why somethings are the way they are)
Rendering: http://freeglut.sourceforge.net/
Once you've learned to draw, you can let an API do it for you. Freeglut is pretty hand for that and can do wonders to simplify OpenGL initialization and rendering across various platforms.
Image Loader: http://corona.sourceforge.net/
Every game needs it's art. This lib makes loading images in a variety of formats easy. It can be used with any application. It just loads the image from file into a buffer in any mode(eg RGB).
Sound: http://audiere.sourceforge.net/
Open Source sound library. Like FMod, it can load and play a variety of sound formats like .wav, .mp3, .ogg, etc. It is completely free and very very easy to use.
Input: O.o
Sry, this is still platform specific. BUT ... PixelToaster, Freeglut etc have their own simple methods for getting user input.
Compiler: http://www.codeblocks.org/
A very nice and simple compiler IDE to use. It has many similarities with the Visual Studio C++ IDE and is extremely easy to use. A huge plus for beginners is that it has support for DevPaks, which are used to download and setup libraries easily. It means you just have to open up a little tool box, select the libs you want, hit download, wait for them to finish and then be automatically setup for use. You can also get project templates for these so that all paths and libs are already included for you to start coding.
Oh and all the above mentioned tools are cross-platform, so it does not matter if you are on windows or linux (or mac).
And to knock you out:
Scripting: http://www.somedude.net/gamemonkey/
Poweful C++ class based scripting API. Some people cant stand anything other than LUA but GameMonkey is quite easy to use, smaller and has an encapsulated interface. Not as powerful as LUA nor as much documentation, but still wonderful for games.
Others: LUA
Squirrel
Physics 2D: http://box2d.org/
An adorable 2D physics library. Simple and cross-platform (with bindings for other languages). It's really easy to learn and add physics to your games.
That should give you all the basic APIs to develop any game you can think of in 2D. I've not mentioned any other libraries for particles, models, shaders etc all of which can be used in 2D and 3D, but they are out there and you will run into them once you start making your own games.
Enjoy the journey (one from which you may never be able to depart, should you be able to start).
Last edited by FireNet; Dec 12th, 2007 at 11:41 am.
allegro is a marvelous 2d/3d api for c, it is c++ compatible. i believe it is cross platform, it has 2d graphics primitives, and sprites 3d manipulation and a primitive GUI capability, an active community and is well documented
My site, random PM's from people I haven't hear from before will be DELETED
"If people are good only because they fear punishment, and hope for reward, then we are a sorry lot indeed.",
"If we knew what it was we were doing, it would not be called research, would it? "-Albert Einstein
"If people are good only because they fear punishment, and hope for reward, then we are a sorry lot indeed.",
"If we knew what it was we were doing, it would not be called research, would it? "-Albert Einstein
I agree that Allegro is an awesome API for 2D gaming. I'm using Allegro and FMOD together to create a simple Mario clone. I've just started using FMOD, but I have been using Allegro for a while now and I love how easy it is to import graphics as a sprite. Everyone wants to create 3D games off the bat but I still want to bring back the side scrollers like Super Metroid, Castlevania SOTN and Mario Bros 3. Those games ruled.
I have a question about FMOD. Are there any tutorials other than the documentation included? I'm using FMOD 3 and not Ex since it is tried and true. When I'm ready to add 3D sound effects and other neat stuff I'll switch over to Ex. The samples give some insight into how to use the API, but the only good comments are at the top of the code.
Thanks
I have a question about FMOD. Are there any tutorials other than the documentation included? I'm using FMOD 3 and not Ex since it is tried and true. When I'm ready to add 3D sound effects and other neat stuff I'll switch over to Ex. The samples give some insight into how to use the API, but the only good comments are at the top of the code.
Thanks
If in doubt, reach into the trash can and remove the user guide.
For Artificial Intelligence
Book Title: Programming Game AI by Example (Paperback)For Everything Game Development
http://www.amazon.com/Programming-Ga.../dp/1556220782
Book Title: Game Programming Gems (Game Programming Gems Series) (Hardcover)
This is actually a series of books that can get pretty expensive, but for serious developers it is a nice thing to have.
http://www.amazon.com/Game-Programmi...4227702&sr=1-1
If in doubt, reach into the trash can and remove the user guide.
![]() |
Similar Threads
- Rookie in game development. Where should I start? (Game Development)
- looking for a good game development college (IT Professionals' Lounge)
- kylm.com game development community (Website Reviews)
Other Threads in the Game Development Forum
- Previous Thread: PongV1 (Game with Java)
- Next Thread: Simple games in a webcommunity
| Thread Tools | Search this Thread |
3d advertising ai algorithm ban c++ cambridge camera censorship china competition console development engine fov fpx game gamer games gaming gauntanamo government idaho in-gameadvertisement intellectualproperty laracroft live manhunt math mathematics matrix mercenaries microsoft mmorpg modded msn naked news nintendo obama palin physics pirate playstation politics projection ps3 rpg search software sony stephenhawking stocks studio technology terrorism tombraider uk videogame web wii world-of-warcraft xbox xbox-live xbox360







allegro.