I wanted to create this topic to show you my plans on how to make the game run a lot faster
We have had some complaints about that the game requires a lot out of the computer, I have come to the conclusion that the jobs and the creatures having to prioritise between these jobs have dragged down the FPS a lot. This issue is being taken care of here: http://forum.dwelvers.com/showthread.php?tid=514
The second issue is the rendering, in one frame there are about 1 million polygons being rendered, but to be honest, that isn't much for today's computers. The issue here is the render calls, that each block and building are rendered separately, and to many render-calls is something that can drag down the fps a lot. The solution that I am going to introduce soon is the possibility to render the static objects in the dungeon in chunks. so that the GPU and the CPU will divide the level into 16x16x16 block chunks and store them away. This means that the GPU will render these chunks in one render-call at a time, and this should drag down the render calls to at least 10% of its current number of render calls.
The third issue is the water physics. The current water update calculations take a lot out of the CPU, and as I have said before, this is a issue that I am going to address. Not only because the water takes a lot of the CPU, but also because its physics isn't that good at the moment to be honest. The main problem with the water physics is the way it is rendered. If I would have "blocky" water as in Minecraft the water physics wouldn't be that hard to deal with, that way it would be easy to put up some definitions on when the water is allowed to move to another tile and so on. But as we currently have water in the game that are displayed in a smoother way, I have been forced to add a lot of exceptions to the water physics, exceptions that have cause the water to behave in a strange way. Well, even so, when I added the water physics I was in a little bit of a hurry, and I see many ways in how to improve it if I just got a couple of days to work on it. It is all about optimizing it and find the issues that are causing the strange behaviour
So that is the plan, and when this is done, there are even more ways to make the game run more smoothly. But one thing at a time