<<< Go to tutorials page
Quality assurance for games
Before we start, make sure that you are interested in tracking computer bugs, not real life bugs! Bug tracking is one of the greatest competences you will ever have while programming games. At the same time, bug tracking might become very boring or impossible to do if you are working in an extremely large scale code. Before tracking any bugs, you will normaly play the game like all gamers, meanwhile with your bug tracking vision, you will find as many mistakes as possible. What about a graphics bug tracker, what methodologies are used and what it means to be one. Actually, you don't have to be a programmer at all to track graphic bugs since that is quite clear since the first moment you start seeing some weird stuff shown on your screen.This bug is quite clear, that's really weird stuff! But what defines a bug in a game? Something that wasn't supposed to be in that way and is clearly a mess or shows unexpected result is a bug. That doesn't mean that the bug was made on purpose, since we are talking about huge source codes. Bugs happen since you start your first day into programming C++. If you create a program to enter only numbers and someone really clever at bug tracking will simply insert a character, instead of the anticipated number. This leads to a beautiful bug, looping your program every time. That is the same idea of the graphical bug, just that we are talking about graphics.
The bug tracker is a clever person and every programmer admits it. It is like finding a way to hack into your program and making it malfuncion. Trying to get off the map for example, in whatever game, means that you are trying to find a bug in the game. When you try to switch weapons as fast as possible in the hope of an error is also a bug tracking skill. Your desire to make the game fail, or whatever software, is the desire to track bugs. You cannot track anything if you don't try the software itself and make it fail. Bug tracker are also known as testers, or beta testers. These people test the game if it works alright, but they don't have to track anything beyond their scope.
Graphic bugs won't always happen because of a bad code, but also because of a bad driver. Old games were amazingly difficult to fix, but very easy to track if the game was not optimized. Every gamer is actually a bug tracker in a way or another, but some have a great tendency to make the game fail or crash. This is a good sign that you have talent and skill in finding bugs. Since we were talking about graphics bugs, there comes to mind the vision skill to identify even the slightest weird frame shown to the screen.
Let's take an amazing example and let's try to identify bugs.
If you have been playing Far Cry 3, it is quite clear that this game seems absolutely amazing and perfect, but that means that no other game could be able to surpass it in a graphical way. Now if you take a screenshot in real life of a lake similar to this one, you will find out that this one has a tremendous amount of graphical problems compared to real life.
Some wouldn't agree and say that real life is worse than this, but well we are not thinking like that anyway. This though is not because it was unexpected, it was totally expected, graphics programmers already know they can't make real life into a game, since that would require a tremendous amount of work. Even so, there would be needed some new graphic formulas and it is clearly not viable for a video game to create a real life game, at least for the moment.
Now this means that programmers try to be as realistic as possible, but there will never be 100% real life graphics, unless real life is put into it. A photo is actually a real life picture, even though you can open it in a very fast way. How comes that you need a very powerful graphic card to emulate this picture above of Far Cry 3 and the real life photo is emulated almost immediately?
When you look at this picture, you will get the feeling of the huge difference between the Far Cry 3 photo and this one. The computer tries to fill in the screen the pixels and that happens really fast. That is all there is to it, when it comes to a photo from real life, but if you were to actually do some 3D movements in that photo, that would require some tremendous amount of work. I don't know anyone who could actually put real life into graphics, but you can put polygons on a photo or a video.
That is quite possible and we all have seen video effects, or photos (photoshop effects). The real problem comes when manipulating every single piece of this image, trying to forecast every pixel as to what would happen if something crashes, meaning adding physics into account. That is clearly not possible, but we can mimic real life as much as possible.
Hope you enjoied this tutorial! Register and comment if you have any further questions.Discuss more on the forums