Game Engine Analysis 9
Original author: Jake Simpson Translator: to the sea Email: GameWorldChina@myway.com
Part 9 is ready-made products and custom game engine design tools, game-specific topics
Ready-capped products and custom design tools
We have come to this chapter in many of the topics from the script engine from 8th part, and those who believe that those hardcore gamers and those who become a game developer will find them quite interesting. We will begin to discuss ready-made products and custom design tools.
The choice of your tool is a very important part of your engine design, because this is something you will use to create content to your game, is the most time consuming part. Anything that helps save time and resources during this process is good. Those who can't be worse. There, that is easy.
Of course it is not so easy. There are more things that are more than this may be noticed. The choice of your tool set, and the asset path from the tool to the game is much more technically much more technically, and it is much more affected by many factors. , Tool support, etc. When considering the choice of spot finished tools, or even when you develop your own tools, remember that developers are doing work, it is best to do it needs to do it. Some spot finished tools can reach there, and when you fall into multiple copies, the costs rise.
Then there is a seductive possibility to make your own tools from beginning to design your own tools, designed for your games and engines. This of course takes time, and a large number of programmers to produce things needed in the developer friendly way. Quickly build a window-based file converter is a matter, build a complete level design tool from the head is another thing. On the other hand, if you really choose this road, you will last there is a tool that doesn't have the game developer, so your things will look unique. Nowadays, it is a very worthy thing that is very worthwhile, and it is a very desirable thing from the masses to produce all competition.
Of course, due to internal tool development, you need someone to do all those who inevitably changed and fixes. But what is the true meaning here is possible. Using ready-made tools, tool developers will rarely change their output file format because of some of the features you need. So your things last look more common, otherwise you must use additional steps to use additional tools to get the desired results, of course, will cost more time.
It is worth remembering that many famous 3D tools have been historical and are producing products that are not wrong, more importantly, have some degree of experience they have done.
If you choose to build your own tool, how many you are, a) Re-create a car to some extent B) In the same problem that people have encountered in the construction of ready-made tools, they have solved these problems. When people build a single-specific tool cost considerable time and effort, and produce a tool far exceeding your own personal needs. Also, they have representatively edited some of you or think that it is useless, or there is no feature that you do. Plus them typically have absorption feature you or if you don't want to use it, or don't have time to achieve yourself. This is a third-party software can't argue.
Plugin and purpose construction tool
Usually most of the game development processes are ultimately a mixed, their own file converter tools, ready-made content creation tools, and some additional plugins that usually have some special features to add some special features. The ready-made tool is a long period of time in providing you inevitably needed, but if you are inevitable, there are always some useful, helpful, or complete things you can't get. A small plug-in may be a good alternative, and often that is the way you walked. The preprocessing program constructed for a particular purpose is also available, such as converting the TGA file into a pair of PS2-friendly formats, or those related things. If you or your company intends to build a type of game tool, then these tools are generally evolved from a project to a project, rather than re-construction every time. If you transform the game type, very well, those tools that produce high-resolution models with each multilateral hit ability are not necessary to play a RTS (instant strategy) style.
Gil Gribb, Rave Software's technical leadership, the question of 'ready-made tool' and 'own handshakes' is said:
"The tools you have developed have the advantages of customization according to your products, you have code, you can fix any errors or add any improvements.
The disadvantage of the homemade tool is that it is very expensive to build and maintain them, usually more costs more than ready-made tools. In many cases, due to the scope of the application, it is completely impossible, such as 3D modeling and animation software package or bitmap editing software. "
Of course, if you want the game player to modify your game, and you have established all the tools yourself, then you must release these tools to the world. This may cause a little doubts, remember that the reason for the establishment of your own tool is that you can lead your competitors. Sometimes the source code of these tools may even make you benefit, which does provide a method of creating content. Again, Gil Gribb elaborate this topic:
"I support the release of almost all source code. I think we don't have any fear of our competitors. Legal business will not think to steal intellectual property. Maker, amateur game maker, and the popularity of games Benefit from the released source code. "
Ok, our game engine profiling series is here, of course, we have specially discussed many and engine-related topics, let us continue to discuss some parts related to game specific.
Game control mechanism
The control mechanism can bring huge differences in the development of the game, sometimes even indicating the type or style of the game you are building.
Try playing an instant strategy game with Gamepad at some time - it is not only fun. Sometimes you are restricted to a specific input device, such as a mouse and a keyboard, a new control method for your game invented new control method is a exhausted process. When Raven began to develop Heretic II, one of the first things they decided was to use the third person to try the camera and identify an intuitive method. Before this, most games used a Tomb Raider style camera (the third person's pre-posted chase) They found that this often does not work correctly, in many cases, will bring setbacks to players. Cameras often get any perspective, if possible, move the camera, and sometimes change the direction of the player.
Assuming that their target object is an FPS game population, Raven needs to find an intuitive way to control the Corvus for FPS gamers. They did this, but I really spent some time, and some different ways - should they let the camera fixed in one direction, or let it float? Most game development efforts - unless a decision-type implementation is not a fashionable implementation - tends to spend some of the most direct mergers of the internal control mechanism required for physical control devices and games. Here is a hint - once you find a way, you will stick it. In this way, control the inner things in the game, the focus of the game, intuition, and even the game is completely changed to what you never want. Discover the role, prove that it works, then don't take it. Over-design control can lead to characteristic deviations and awareness of awareness. A good example of deviation like this feature can be seen in Independence War. This game has so many modes, buttons, and so on, it is impossible to familiarize and manipulate games.
It is clear that the key here is simple. A good experience is that in a normal game, if your game needs more than the buttons in the ordinary Gamepad button or your fingers, then some things need to be redo. Note that I don't say that a game should not have flexibility - Soldier of Fortune must have many possible button settings. But usually, when you think that most of them are actually unnecessary, the quake engine has a good way. Yes, you can choose what weapon you want to use, but you don't have to do this. The game will automatically do it. This is the difference between flexibility and excessive design. If the game needs you to press a key to select a weapon, there will be a problem. Do you understand this?
The control mechanism cannot be exceeded for excellence - a game will often be successful or failing according to the player. If the control is changed, reordforward, or only simply remove from them, it can lead to the lack of participation, don't say, it is a very bad thing. It takes time to take time and keep it simple, will have a huge help.
Entity and camera
Now we have come to the engine's less pleasant part and is also defined for the least part of the part. When the game is running, the game can become extremely erroneous, time consuming, or only thorough limit.
Here we talk about the "Games" part of the game engine. This section uses all other technologies to make some things on the screen, move everywhere, let it react to you and let you react to some things. This system has many methods, but now I will hide the quake method because it is my most familiar.
Let us start from the entity. These can be defined as the 'Game Object'. It is now not only a model that you see on the screen, although the entity determines that these - entities may also be other things. Basically it is anything that the game needs to know at any given time, such as a timer, a model, a collision detection box, a model, a model, a game player, and so on.
Even the camera may be an entity (this is like this in almost all RAVEN products). The camera is assigned an angle origin in the world, and each frame is refreshed and informs the rendere where to get its field of view, and off WE Go. Typical entities are those who are stored and loaded in order to return to the game earlier. The method usually used during the loading process is to load the game map, as if you are restarting a level, then load all stored entities so they return to the game storage. Voila returns a stored game immediately. When I understand the method of Heretic II, this is not so easy - loading / storage is almost much better than anything else, especially in collaboration model.
There are many forms in the camera: free form: camera can go anywhere
Script: The camera can move along a set path
Game Time: Camera has a definition of definitions that must be followed
Just say "Well, I will just follow the main role" is not enough. This means that you may also need to let the camera pass through the wall, or let it move according to some ways, or even cause some stomach nausea. Let it go forward along some defined upper and lower motion paths, like anyone who plays a descent game for more than an hour can tell you. Body and head is accustomed to the top and bottom is a static variable, and when it is not, they don't like it. Making QUKE 1 Mike Abrash, I once told me that even when it was defined, he still handled the Maika ABRASH earthquake 1. Once told me that even when it was defined, he still spoiled from the game they were making. He mentioned that for him, leaving the QUAKE for 1 year to make his stomach set. Ah, the sacrifice we make.
Weapon system
Another part of the game module is a weapon system. Most games have weapon systems or something similar. This is an object that affects other objects in the world, and makes them react to a given situation, for example, being shot. Usually weapon systems consist of many different types; attack scans, bullets, and scope forms.
Attack scan is a direct attack weapon. The effect they produced on the screen is like that, an effect. When using it, there is no relationship with the actual operation of the weapon. When you open fire with a pistol, the bullet is considered to go through the world and directly hit anyone / thing on its sports trajectory.
Flat-based weapons have a limited time to cross the world's true shooting, bringing some time that can avoid.
Scope-based weapons like grenades and bombs, you don't have to hit you; you just have to be in the explosion. Players in the explosion range are splashled. Lava is another form of range-based weapons.
So how do you decide what is hit and what is not hit? Very good, this question brings us to track, we will track more in the next physics and artificial intelligence chapter. This is a set of function routines that when a given world is from the line from the A point to the B point, it tells the game from the end of the gun to a predefined distance. Tracing is great, but it is expensive because they must perform 'collision detection' to see if there is any place to be hit, not to say the model and other objects. This is also some physics work. It can be found from a given role to see where the floor is located. Cruising abuse - If you use them many times in one frame of the game - a decline in the speed of many games today. In JEDI KNIGHT II: Outcast, their optical knife fight has encountered this problem, because they not only need to know if the scales hit something and its current position, and all the points between them have, they Multiple tracking has been made to the cord knife.
Ok, another chapter is over, just two chapters left. Below we introduce more details of artificial intelligence and search.