Friday, June 6, 2014

Game Development Resources

Game Development 

Beginning game development, or any large project can often be a daunting task, especially if you don't know quite where to look for help. For those of you who are thinking of developing a game or game engine, I have collected a list of helpful resources including some that I have used when developing my own game engine.

The first list of resources are for learning C++. Chances are if you are making a game, you've decided to use C++ as your language of choice. The following two sites have very good tutorials explaining the features of the language, and cplusplus also has very extensive documentation and example code snippets for the standard C++ library.

Next, making a game requires quite a number of different parts to work, including windowing, textures, sound, models, scripts, text, etc. Fortunately, there are a lot libraries out there to help out with those tasks.

Helpful Libraries:
  • SDL - SDL is a fantastic library. It has cross platform support for setting up windows with opengl rendering contexts, handles key events, and even has libraries for displaying fonts and playing sound. I use SDL in my engine to handle creating the game window and key events.
  • OpenGL - OpenGL is a cross platform graphics library for use when rendering 3D models on screen. It has similar functionality to Microsoft's Direct3D except it works on Linux and Mac computers, not just Windows. The graphics in my engine are powered by an OpenGL renderer.
  • OpenAL soft - This library is to playing sound what OpenGL is to rendering graphics, OpenAL even has an API style that is very similar to OpenGL's API. Additionally, OpenAL is also cross platform. My engine's sound components are powered by OpenAL.
  • FreeImage -FreeImage is a great, cross platform library for loading in images that can be used as textures by OpenGL. It supports a large number of file formats too. My engine uses FreeImage to load entity textures.
  • FreeType - FreeType is a cross platform library for font rendering. I use FreeType in my engine to render all my font textures.
  • Boost - Boost is a very extensive set of libraries supporting Serializing, File IO, Math/Linear Algebra, Networking and more.
  • FreeGLUT - GLUT is an alternative to SDL with support for setting up Windows with OpenGL contexts and has functions for event handling.
 Next, here are a few sites with information about game development.
  • My blog of course :)
  • Wolfire - The folks over at Wolfire games have a great blog that they update frequently chock-full of great posts on game development and design. Definitely check them out!
  • http://www.gamedev.net/page/index.html - gamedev is a great resource for game developers of all skill levels. They have lots of informative articles covering any range of game development topics and there are a ton of great QA posts.
  • http://www.cs.uu.nl/docs/vakken/mgep/  - This site has some good lecture slides on basic game engine design.
 Lastly is a list of open-source game engines. These are great for making your own games or if you decide to create your own engine instead of using a preexisting one, these can be great references.

If there was anything you think I missed, or something you would like me to elaborate upon, feel free to add it in the comments below.

No comments:

Post a Comment