\ Ketsji

Ketsji functional description

Version: $Id: index.html,v 1.8 2001/08/21 11:06:28 nzc Exp $

Module owner: Janco

Index

Ketsji Game Engine Framework

by Raymond de Vries (some info by Erwin)


This document describes the game engine Ketsji that is being developed at NaN. It uses a clear top-down approach. This way it can be used by many people, ranging from commercial people to developers. It starts of with the filosophy behind the engine and by following the various hyperlinks one can go into more detail.

This document is all about relationships between the various parts of the engine. It shows the separate modules on which one can work without disturbing or breaking the overall functionality.



If you're looking for the reference, please go here.

Ketsji scene

The ketsji scene is the top-most scene in the game engine. It can contain so-called game objects (which are thus specific for this scene). The properties of the game objects are controlled by controllers. These controllers each have, in turn, specific 'sub' scenes. This means that the subscenes aren't directly derived from the Ketsji scene! So the relationship is like this:
PICTURE with relationships between ketsji scene, game objects, controllers and the specific controller scenes with specific controller objects.

Below I will give an overview of the subscenes that the engine takes care of. The order in which these modules are given time is not relevant to mention at this point since that's a delicate issue. It has a lot to do with timing the engine as a whole, and is subject to change (like happened a few times in the past). However, this will definitely be discussed in a separate paragraph.
The Ketsji Scene takes care of so-called Game Objects, and each Ketsji Scene keeps a handle to module specific 'sub' scenes such as:
Also, each scene has a separate logic manager that handles the game logic (Sensors, Controllers and Actuators) for that particular scene. Ofcourse, these have all different characteristics with their own algortithms for instance.
Iets voor een volgend overleg. Erwin?? 2-3-2001

Game Object

As mentioned before the Game Objects play a central role in the game engine. These are the entities that are constantly processed during the life of the game or simulation. This means that these are passed on from one stage of the engine to the next one. Depending on the type of stage (network, sound, etc) the game objects will be altered or just taken as-is. Erwin?? not right I think, the game objects are not directly modified, only the information in the subscenes and subobjects, like the scenegraph and scenegraph-objects. for instance

The lower level scenes also have their own objects, derived from the Game Objects in the Ketsji scene. These relationships will be described in detail in each of the scene specific documents. For example, these documents will list which properties are actually derived, and how.

The documents for the lower level will document what exactly is done to their specific objects, including algorithms etc. They will decribe the runtime funcionality in much more detail. This will also give a good opportunity to document new feature in advance (just like Janco already did for the Sound module).

Ketsji Scene Management


Ketsji is the overall framework that:
  • connects all the different modules being developed by different people, and is responsible for scheduling tasks and managing Game Objects.
  • It does the bookkeeping for a number of building blocks. These blocks are described below.
  • During execution the game engine gives each block some time to do its thing. Theseblocks take the current time and calculate their current status.


    Game Player sample implementation

    A quick list of things that need to be done when you are creating a Blender Game Player:br>