ZGameEditor is a game development system consisting of two main components:
- A Windows based integrated developer environment (IDE) for developing applications
- A runtime OpenGL based game engine
The focus of ZGameEditor is on making small and efficient game and multimedia applications.
What you can do with ZGameEditor:
- Small retro style games like Space invaders or Pacman
- Animations to use in other applications (see the About-box in ZGameEditor for an example)
Take a look at the sample projects for an idea of what is possible.
The applications you make with ZGameEditor can be as small as 64 kilobytes or less, and become stand-alone programs that can be distributed royalty-free. Of course 64 kb is not a limit of ZGameEditor, you can make games that are much larger! It depends on how much content you import from external files.
Component based development
Projects in ZGameEditor are component based. This means that you create applications by adding components to your project. There is a separate component for each functionality in ZGameEditor, for example the KeyPress -component tests for user input from the keyboard.
Components have properties that can be set to different values. There are two different kinds of properties in ZGameEditor:
- Value properties
- List properties
Value properties are simple values such as "Keys" for the KeyPress-component that controls which keys will be tested for keypresses.
List properties are lists that holds other components. For the KeyPress component there is a list property called OnPressed. This list accepts command-components that will be called when the KeyPress components detects a keypress.
An ZGameEditor-application is controlled by a component called ZApplication. When a new application is created in the editor, the ZApplication is already created as a root in the component tree.
Here is what this look like within the IDE:
A moving graphical object is called a "Model" in ZGameEditor and is represented by the Model-component. The model have got value properties such as Position, Scale and Rotation which modifies its appearance on screen.
Both ZApplication and Model have got list properties. The two most important are:
OnRender: Components in this list are called when the model or application is being rendered on screen. For the model this can be commands for rendering a 3d-mesh. The application can use this list for displaying text such as "player score" in a game.
OnUpdate: Components in this list are called between every rendered frame. This is used for application logic and updating model movement.
One of the design philosophies behind ZGameEditor is that users should be able to create applications without requiring lots of programming-knowledge.
Simple applications can be created without any programming. Just add components and set the properties to fit your needs. For more advanced applications and fine-tuning ZGameEditor uses a C-style scripting language. This is mainly used with the ZExpression - component. More info about the scripting can be found here: "Scripting syntax".
This is the end of the ZGameEditor overview. For more information move on to "Tutorial 1" which is a guide for how to use the editor.