Open source game engine

Kochol Game Engine

Get start with KGE
Get KGE now
See Developers guide
Ask your ?s in forums

Help us to improve the Kochol Game Engine

Join KGE facebook page
Join KGE facebook page
Follow KGE on twitter
Follow KGE on twitter
Donate KGE with bitcoin
Donate KGE

Send your donation to below bitcoin address

Legends of Persia

Legends  of Persia just passed the green litght.


KGE 0.1.0 Released

Kochol Game Engine 0.1.0 released.

The new features in this version

  • OpenGL render plugin added.
    • This version has OpenGL renderer plugin that uses CG shaders for shader language. So many parts of engine can now be rendered with OpenGL. The Renderer interface refactored a lot in this version to support OpenGL renderer. 
  • Task manager
    • Task manager implemented in this version to add multithreading  functionality to engine.
  • Entity system
    • A component base and multithreaded entity system implemented in this version that can handle game logics easily.
  • File system
    • The new file system design can virtually load files from internet, archives or any where


The complete changes are:

  •  Add EntitySystem tool
  • Add 08EntitySystem tutorial
  • Upgraded from SDL 1.2 to SDL 2.0
  • Add mouse wheel event listener
  • Add LoaderDDS for loading DDS textures with this loader
  • Add Stream class for streaming data from varius locations
  • Add FileSystem and FileSystemManager for serching a file in different locations.
  • Add Renderer_ogl plugin
  • Refactor the Renderer class
  • Remove some gui classes
  • Add CG shaders to opengl renderer plugin
  • Add KgeThread
  • Add KgeMutex
  • Add TaskManager
  • Add TaskManagerThread
  • Add Task interface
  • Add TaskGroup
  • Update CPU class
  • Update Timer class to work with SDL
  • Add TSQueue a Tread Safe Queue
  • Add KgeLock to make use of KgeMutex easier

Wiki is up

The KGE wiki is up now. You can find good information about KGE there.

KGE is on github

KGE source code is on github. I hope some one become interested in the project and help improving the engine.Look at the TODO.txt list to find some tasks todo.

Legends of persia

Legends of Persia the indie game that made with KGE is on Best Top 5 Upcoming Indie Game of 2013 Players Choice.

Thank you every one who voted for this game.


Kochol Game Engine 0.0.10 Released.

In this release I implemented plugins and plugin manager to engine and make renderers and loaders as plugins. I also add librocket renderer and add some basic network with raknet.

You can download it from here.


Changes in 0.0.10
– Add Plugin interface
– Add Plugin Manager class
– Update logger class
– Add Loader interface
– Add Renderer_d3d9 plugin
– Fix a bug in SceneManager::RemoveSceneNode
– Add Renderer::SetScissorRegion
– Add Texture::GetWidth and Texture::GetHeight
– Add libRocket renderer
– Add Netwok class that uses RakNet for networking.
– Add NetworkEvents for listening to network events.
– Add 06libRocketGUI tutorial
– Add 07Network tutorial

KGE 0.0.9 Released

Kochol Game Engine 0.0.9 Released.terrain

I am going to refactor KGE design in next releases so you may not see many new features in next releases but you see tutorials and more documents updates and many bug fixes in next releases.

In this version I wrote a memory manager that uses nedmalloc to manage memory and have a memory tracker that can tell memory leaks for you.

3 new tutorials has been written for Camera movement, Animated meshes and terrain

You can download it from here

Changes in this version:

– A bug in Calculating animation on CPU Fixed.
– Add some information to memory leak log
– Fix 3 bugs in tile terrain
– Add 05terrain tutorial showing how to use tile terrain.
– Add KgeArray
– Fix bugs in KgeMemory
– Add KgeMemory::ReallocateBytes
– Use KgeMemory for memory managment
– Add 02Input tutorial for show how to use keyboard and moving the camera

KGE 0.0.8 Released

Kochol Game Engine 0.0.8 Released.

In this version you have to use the InitParameters structure to initialize the KGE and set your parameters in this structure.
A tutorial has been written for initializing the engine. We recommend using this tutorial to start your own project.
Some documents are fixed and this version is more developer friendly

You can download it from here

Changes in this version:
– Add InitParameters structure
– Fix comments in kge namespace headers
– Add Tutorial 01
– Rename kge::core::Timer->GetSeconds() to GetTimeElapsed
– Fix a bug in adding lights after adding the meshes
– Fix a bug in shadow map with ATI cards

KGE 0.0.7 released

Kochol Game Engine 0.0.7 released.

It has more than 1.5 MB of source code now. I ported the source code of engine to git repository on because the git can let me to release stable versions more quickly by using the amazing branching system of git the master branch always has the stable version.

The new Material Manger and Material system of KGE now generate shader code on the fly for different effects that user request. The material system has two rendering path for both forward and deferred rendering. I’m really satisfied with rendering speed and quality.

The effect manager now works better for rendering shadow maps and post process effects like post bloom. An advanced particle system implemented in KGE.

PhysX also implemeted in engine but we don’t tested it yet. Maybe this part of engine have to be rewritten.

The tiled terrain scene node of engine is very amazing for blending many textures on it and render the terrain in only one pass. You can blend textures with per pixel blending  up to 64 textures.

Many bugs fixed and many minor features added to this version.

You can download it from

A game with this engine is released in Iran called Siavosh see its website at