Computer Repair Simulator (COPY) |
Top Previous Next |
Emre has created an impressive outdoor scene which (surprisingly) runs fine even on older computers with weak video cards. He kindly took the time to answer this month's interview questions.
Q: Your lake scene looks great! What shaders are you using for it? A: There are many shaders in my demo. Since I'm not a good shader programmer, I usually use other people's examples, and then improve them for my own purposes. I've been doing this for years, so I know how to re-arrange and improve them. Sometimes I get help from other users as well; I have to thank Superku and Txesmi for their help. They were very helpful with some of the code for the shaders that are used in the lake scene.
Q: How did you create those impressive day/night effects? A: I've got another shader that does that. Pretty much anything has a shader, even the skybox (I use an entity for it). So, I can change pretty much everything using a shader.
Q: How does the "seasons" system work? A: That is another shader; there is also a pp sepia shader to create the autumn effect in the demo.
Q: What is the most complex part when it comes to creating detailed outdoor levels? A: Maybe it will be surprising, but for me the most difficult thing is designing the terrain itself. It's easy to place objects with a good in-game editor (I have one.) On the other hand, creating good terrain is really hard, especially when you don't have access to an in-game/realtime terrain editor. Also, many models are needed to fill the scene, and sometimes it's hard to find the right models.
Q: What are some efficient methods that will help increase frame rates in huge outdoor areas? A: The most important things are of course LOD and low polygon counts. There are also many little tricks. For example, we can use a cubemap for water reflection, and this way we can reduce the rendering distance of the mirror view. The mirror view does not have to reflect all the moving objects in the far distance. And since we don't need a refraction view in deep waters, we can reduce refraction view's rendering distance too.
Another thing: I use two views for shadows. I turn off the wide angle view after the level is loaded. So, it becomes a static shadow, it does not render objects anymore. There is a second and close view for moving objects. I turn it off and on again between two frame. Although it has a very slight glitch, it improves performance greatly. Using material flags and material LOD is also important. All these methods are little things, but they are working fine.
Q: How many polygons per frame should we aim to display on a decent computer, on average? A: Actually, I'm not sure. I'm always using the path of "trial and error". I'm trying to use low polygons as far as possible. If the project works well on my computer, my guess is that it will work on today's computers as well. If my target is mid-level computers, I will include different graphics options for users.
Q: Please tell us the names of a few third-party game development tools you couldn't live without. A: I usually choose non-complex programs, because I can work faster this way. I use Photofiltre Studio for simple texture operations and AC3D for simple models. I'm also using Gimp and Blender when it's necessary. The last thing is the DirectX Texture Tool to convert textures to dds.
Q: Do you have some tips for beginners to game development? A: Yes, of course! I made a mistake a few years ago. I tried to make a big game project by myself. That was a very big mistake! The project was not completed as I wanted it, and my labor was wasted. My advice is to start with a small project. If a person wants to make a big project, he/she must work with a team. I'm not just talking about development. Marketing, targeting the proper audiences are very important too. We should always consult people who know that job. Also, making money out of game development is not as easy as it seems.
Thank you a lot, Emre! |