vine engine

a modular game engine

Vine is an open-source, generic, extensible game engine. It is based on a small core that provides the basic framework on top of which the rest of the system is built. The idea is to compose the engine on-the-fly during initialization loading modules that the game specification requests. Modules in vine are handling graphics, physics, sound and input aspects of the game among others.

A game can be authored in the game engine as a module itself though the recommended way is via scripting. The engine exposes an interface in the python language for this reason. Combination of C++ modules and python scripts can also be used. Three sample (incomplete) games have been developed for testing purposes of the engine. Namely, a remake of the original Nintendo's Donkey Kong, a 3D space invaders clone and a replica of the acranoid-clone Jardinains.

Two graphics modules have been under development, one for 2D graphics and one for 3D. Vine2D is the module for developing of 2D games. It is also extensible in a similar nature to that of the main core. Extensible parts of this component are the Render and the SceneManager. The current implementation of the renderer is on top of SDL, an open-source library for 2D bitmap graphics. A simple SceneManager has been developed that supports arcade style games.

OgreVine is the module for developing 3D games powered by Ogre3D, a feature rich open-source rendering 3D engine. The module is by no means complete and is more of a proof-of-concept that the egine can handle different rendering systems.

Vine is no longer under development, as I lack the required time. However, I released it as an open-source project in sourceforge. It is by no means a fully functional engine, but you should be able to write some simple games. On the other hand, I think there are some useful pieces of code and programming patters for game programmer enthousiasts, like I used to be, to get them off their feet and start thinking about game engines instead of games. Even if you don't find the approach useful, you can always learn from my mistakes ;)

Download

You can download the release package and the source code of the vine game engine from the project's page at sourceforge.

Features

  • generic genre & graphics model
  • dynamic assembly of engine components
  • plug-in system for components
    • rendering subsystem
    • physics subsystem
    • sound subsystem
    • input backend
  • extensible action library framework
  • scripting game logic by
    • trigger/events build-in system
    • scripting language: python