Articles

Here you will find articles for the topic Game Development.


JavaScript Date: 12.5.2010 Author: Christoph P. Difficulty: Easy
Introduction to Game Development Date: 12.5.2010 Author: Christoph P. Difficulty: Easy

Introduction to Game Development

Overview

Who would like to start with game development should ask itself, first of all, whether he has more graphical, spatial, logical or musical talent. Game development can be very roughly divided into 5 sections:

  • Game Design:
  • Design and Direction of a game
  • Graphics:
  • Creating textures and modeling game worlds, shapes and other objects
  • Level Design:
  • Designing and creating game worlds, including atmosphere
  • Programming:
  • Implementation of the game using a game engine to breathe life into the game world
  • Sound:
  • Composition and sound design to create moods

    On this website are especially graphics and programming in the center, so I will describe only these areas in detail, in the article.

    General

    What should be mentioned first, is, who would like to create his own games as a hobby, it's difficult without learning programming. Because the code is the base for each game. Only who has anyone that writes the code for him, or special software as e.g. Game Maker, can avoid this. But the results obtained with such a software are usually limited. For those who still read and are still interested, they should first acquire a basic knowledge on this subject. The source for all kinds of information to mention first, of course, is the Internet. Seek and you shall find, e.g. links like this:
    Game Development Wikigamedev - game development categoriesRiemers.net XNA Tutorialsdownload-book.net
    However, I would also advise necessarily to buy books or borrow books. Technical university libraries are well equipped. And also purchased books have often CD's with software and samples included, that are very useful. The next, essential, is the right software of course. Whether for free or 600,000 dollars (Unreal engine), there are incredibly much of it in the worldwide network. Good software is a different matter, there are quite a lot less. But now to the, especially for hobby developers, key areas of game development.

    Graphics

    As already mentioned above, this is mainly about creating textures and modeling game worlds. The main work is making wire frames of polygons, mapping textures on it (Texture Mapping) and to provide the right lighting. The most important models that must be created for it, are primarily, of course, the game worlds itself, characters and moving objects as e.g.. boxes, that must be animated later physically correctly and of course equipment such as weapons, Medi Packs, etc.. Then the textures for the surfaces of the models have to be created, as already mentioned. But here must be made a distinction between ordinary textures, textures for sprites and textures for surface effects. Sprites are images, e.g.. for special effects such as fire or explosions rendered as 2D animations. For surface effects, e.g. light reflections or 3D-looking surfaces are used, so-called, Bump Maps, Reflection Maps, Specular Maps, Luminosity Maps, etc., which I won't comment further. To get textures as a hobbyist developer, you can download them from sites like cgtextures.com or mayang.com, or if you can work well with Photoshop you can create it yourself. Here is an example how to create a wood texture.
    At the end of this chapter a few links on the topic:

    Books:

    3ds Max Modeling for Games good tips and tricks on modeling, and many resources

    free software:

    Truespace professional 3D software with similar features like 3dsMax
    Blender allround 3D software with many features
    GMax free version of 3dsMax with restrictions

    proprietary software:

    Milkshape3D probably one of the best programs for beginners (around 35 dollars)
    3dsMax most important software in this area
    Maya secondly most important software in this area

    Programming

    Many people believe programming is boring and is primarily mathematical. But programming is primarily creative work and anything but boring. I like to compare programming with an incredibly huge Lego Kit with billions of ways to put the components together. Programming is one of the few activities for which you can use both creative and logical talent, so equally employs both brain halves. For the basis of programming, that constitutes a large portion also of professional programming code (source code), it is enough, whether you believe it or not, to know the fundamental operations of arithmetic and to invest two weeks for a good book, to learn the preferred programming language. But what you should definitely bring along is the love to solve logical problems and patience. To really work at the highest level, 3D Physics Engines would be an example, of course, it needs somewhat more.

    Game programming is even more exciting as ordinary programming, because to see graphical results after you have written a program, motivates yourself to dive still deeper into the topic. The languages used are primarily the good old C and C++, Assembler, several scripting languages like Python and Lua and increasingly c# and Java are used to implement projects. Game programming is all about speed. It is important to use the available resources as well as possible, because modern games use the hardware to the limits and beyond. Processor and graphics card requirements are thus very high, as for the applied language. Because C++ meets that and also allows object-oriented programming (clear structuring of source code), it is perfect for game programming. In addition Shader languages are used, with which great surface effects, e.g. bumpmapping or geometry transformations can be implemented, that are processed purely from the video card and thus are quickly calculated.

    Now to the main areas of a game programmer. In professional projects, specialists are employed for the following areas: Animation, Physics, Collision Detection, Geometry, Graphics, Shader Programming, Lighting, Special Effects, Scripting and Sound. Particularly the areas of Animation, Physics, Graphics, Scripting, and Sound are differentiated. All these areas need to work well together, because they are dependent on each other and only the whole, lastly forms a good game.
    Finally a few resources on the subject:

    Books for beginners:

    Beginning C++ Game Programming recommended for beginners
    C++ For Game Programmers optimize your programming and source code performance
    XNA Game Studio Express who like programming with C# get here a good introduction

    Books advanced:

    Game Programming Gems 8 the standard work for game programmers
    ShaderX 7 probably the standard work for Shader programmers

    free software:

    Eclipse Open Source - development environment for many programming languages
    Netbeans Open Source - development environment for many programming languages
    Visual Studio Express free version of Visual Studio
    XNA Game Studio Toolset, to program games using C#
    Unreal UDK 3D engine with editors, free for non-commercial purposes

    Additional recommended resources you can see in my link collection on the topic 3D & Graphics, on the topic Game Programming, and on the topic Programming General.

    Conclusion

    Of course I would have still a lot to tell here, but I leave you on your own now, to find out if game development is suitable for you. What should not be concealed, for all those who want to develop games professionally, is, the job can often be very hard and you often sit in front of the computer up into the night. But I think those who love this work, will take these hurdles with ease. I hope I could give you a little insight into this subject with this article,

    Christoph


    Top

    Copyright 2010-2017 (c) by Christoph P.
    Contact    Terms