Make Your Game, Play Your Game


In the last week I have worked night and day to a new frustrum culling system. I’ve radically changed my previous approach and the results are unbelievable!  The major problem of the previous method was the fact that when too many objects were in camera field of view (panoramic views) the frame rate drops in  an unacceptable way. The problem was in part reduced by using a relatively small terrain which let us to reduce the number of objects to pass to visibility system. But our purpose, in this new build, was enlarge playable area (terrain are now up to 4 kilometers X 4 Kilometers), so the new culling algorithm needed  to have less, but very less, complexity.

We are proud to declare that this purpose has been reached: we have reduced the algorithm complexity of an order of magnitude!!

As you can see from image while the previous algorithm takes about 15 ms to compute the panoramic frustrum culling, this new one takes about 1 ms!! In addiction we have speed-up objects setup and we have found a method to move the frustrum culling test to another thread, using the calculation results in the next frame without visible artifacts. This make the main game thread to have much time to make other things like AI, logic, etc…

The following image show the use of the main thread (blue bar) and the auxiliary thread (yellow bar). Auxiliary thread is also used  for animation blending and particle systems (see the “after” side of the image).

All the improvements made until now are related to the CPU. The next challenge, in the next week,  is to reduce computation time of the GPU which is striclty related to the number of poligons but especially to the fill-rate, i.e. screen resolution. This means reducing the grey gap above the blue bar in the “after” side of the previous image. This means high framerate at higher resolutions.


Another shot showing the results:


All tests showed have been made on the following system:

– Dual core Athlon x64 2.8 Ghz

– Geforce GTS 250 1 Gb

– 2 Gb memory.


Research continues…Next week we will show new results on the GPU side.

Stay tuned!

Comments: 2

  1. Alessandro says:

    I’m following your progress since some time, and your results are impressive!
    But I think (my modest opinion) you need to release a demo version of this engine.
    You made a commercial engine, and is not acceptable (for my opinion) spending money without trying it.
    I wish to test the engine (not a game made with it, but the engine self). I wish to see the IDE, the scripting language, the tools supplied. Even a 30 trial is good (60 should be better, since evaluating an engine is not a simple task 🙂

    I already made a game using Unity3D (http://www.massivecreek.com/home), but I’m looking for another engine to make my second game, and I wish to evaluate S2.

    PS: Your forum is fullfilled of spammers and nasty messages. I think you should have a check and clean it up.

    THank you,

    • bugbuster says:

      I’m working on the trial. I’ve also prepared a new article about the work in progress of the next build. The release of the build and the trial has been posticipated a bit but new results are very impressive. Stay tuned!

Add your comment