Page 1 of 1

Game Engine Concepts

Posted: Tue Mar 22, 2005 10:06 am
by kniffo
Hello all,

I thought about the build in engine a bit. I think, that the system as it is implemented now is not suitable for game development at all. I do not talk about the small games like those we saw anounced in the news section.

There are a lot of features missing and the engine is very unflexible in terms of optimization and feature adding.

The concentration of pure engine control via Python is not realistic is one of the reasons for a lack of flexibility.

The engine lacks of a lot of modern features and it seems to not to be easy to add new features to it do to it's deep connection to Blender.

I would suggest:

Create an interface for a engine communication with Blender so that you can attach the Blender-Engine using interprocess communication. The engine can then be displayed in Blenders viewport - but this time through the interface.
Create the engine as it's own project - more or less not using the features of blender as they are made for a modelling application but not for a game engine!
Make developers beeing able to add C/C++ code to the cvs repository to manage features as features only for the game engine and not for both.

..and add a default pan and rotate control into it :-)

The eneral problem is that you think, you can do an engine with a general universal aproach which is not entirely possible. You have to make too many compromises and cannot create high performance games.
Maybe it's a good idea to have different people doing an engine for different purposes but always using the same interface so that the basic behaviour of the engine is always the same - there could be an engine with huge terrains and the possibility to have a lot of units (like MMOG's) or there could be an engine like Unreal with smaller but more detailed levels and a higher usage of shaders.

Please think about it and tell me your opinion.

Posted: Tue Mar 22, 2005 10:43 am
by kniffo
A small addition:

Of course there should still be the possibility to have users creating python actions by using the Blender concept - using actors and inputs and such. They should still be able to create basic behaviour by using the mouse and the Blender interface.

It should be a good mixture of both - Python code (partly created by the user interface) and C++ code for optimized features.

The interface to the engine should basicly allow:
- display of engine content (presenting a render target via the interface)
- data handling (the complete object/data suite of blender)
- command handling (like matrix changes and so on for realtime handling)
- python code injection (by writing scripts in blender or UI-way of creation)

Posted: Tue Mar 22, 2005 7:33 pm
by pildanovak
I think this is a realistic way of thinking about some real engine for making games. There could be made some kind of conectivity with some of the existing opensource engines(OGRE), because there are (maybe) some coders working of them. Kester has done loads of great work in the current Blender engine, but i'm not sure if he is still working on it. But i don't think that there couldn't exist an engine which would be flexible enough for everything. But it's sure that such a great engine hasn't probably been developed yet. Also the performance of Blender engine is not that bad: the main problem in the performance are the armature deformations and python scripts, otherwise it's not uncomparable to other engines.