Tiger 2D-3D Game and Graphics Engine
Welcome to the site of our Game and Graphics Engine
Tiger 2D-3D Game and Graphics Engine is currently in the early stages of development. It is planned to incorporate many features of leading commercial game engines when finished.

Improvements on the C++ version: v0.25

Posted on 22th Feb, 2011

  • The most time consulting task is the material system generalization. We optimize shader changes and usability. It is not an easy task when you can work with several lights, some objects can cast shadow some cannot, Bump and parallax mapping combined with shader lights. We try to build a programmer friendly and effective method. It is very time consulting, a lot of test should be done to simulate all the possibly rendering cases.
  • Tiger Engine currenty supports MD3 (static model only), 3DS, OBJ, MD2, ASE and its own formats. Each type has an own structure but in memory we should use a generalized model descriptor structure. After modell loading the engine now converts all the model formats to its own generalized structure. After this every task (Shadow generation, rendering with different effects, etc) is much simpler.
  • So almost the whole rendering system was updated based on this logic, now we are testing and fixing bugs derived from rebuild.
  • Engine do not exit when a TMD2/TOBJ/3DS/ASE model cannot be loaded.
  • CString/CUtils findSting method implemented.
  • Sound playing channel selection added.
  • Custom sound to Menuitem MouseOn event.
  • New Gui elements: Menu,Menuitem added.
  • File delete, rename function added to filesystem utility.
  • Collision with tilemap.
  • CTileSetTexture added.
  • Basic Tilemap editing.
  • Added GetNumofTexturesLoaded() to CTextureManager.
  • Added ResetMouseLeftButton(); and ResetMouseRightButton() function to Eventmanager class to cancel, or reset buttons.
  • GUI Button improved. On state Sprite animation implemented.
  • Bump + parallax mapping implemented for SimpleMD3 model and 3ds models. Customizable config files for loading models (tmd3,t3ds). Full shader based pipeline.
  • Minimal Tilemap editor iprovements.
  • Tilemap camera scroll implemented.
  • Texture copy CPU and GPU version added.
  • A lot of little improvements and bugfix.

New version and features in the D version: V0.1

Posted on 15th Jul, 2010

From this time we differ the D and C++ changlogs. Changes in Engine D version:

  • BB transformations rewritten at simple md3 model type.
  • Bounding box structure replaced with CBoundingBox class and functions like in C++ version.
  • Simple MD3 loader 1.0 done. No and No visual effects yet.
  • MD2 animation play frame only once option added.
  • Game ObjectManager handles (skips) failed loaded objects now.
  • Tiger xml format loader code clean.
  • File existance check at model loaders.
  • Generalized videocard buffers clearmask applied. User can set now which buffer should clear.
  • Modell loaders checks filex existance before opens it. Returns false when open or loading was not successful.
  • 3DS model stack overflow on windows fixed, loader rewritten: bool return.
  • Multisampling support added.
  • GetMaxAllowedTextureSize added.
  • checkNecessaryExtensions return bool now.
  • InitShadowMap returns bool now.
  • TMD2,TOBJ support more textures now.
  • TMD2 (tiger md2 format xml extension) format loadable now in D version.
  • TOBJ (tiger obj format xml extension) format loadable now in D version.
  • Some new features introduces in C3DGameObject class (Like object ID, name, loaded filename,set gets, etc.
  • Introduce a Global Texture Manager like in C++ version. All the texture loading is rewritten using the global Texture Manager.
  • Font class updated to texturemanager loader. Some function refactored.
  • Fájlok rendezése. Files refactored.
  • 3DS loader updated to do not exit when file cannot load.
  • TGA loader updated. Only uncompressed tga files supported yet.
  • Mouse on window function implemented.
  • Some global variables renamed.

Again with a new C++ version: V0.2

Posted on 15th Jul, 2010

From this time we differ the D and C++ changlogs. Changes in Engine C++ version:

  • CheckFileExistance function to Utillity
  • Modify model loaders to do not exit, when model fie cannot be loaded or cannot be found. User get proper error message now.
  • MD2 animation play frame only once bug fixed
  • Customizable videocard buffers clearmask applied. User can set now which buffer should clear.
  • Jpeg loader anisotropic filter, custom user texture parameters added
  • Added default constructor to CSound and CMusic classes. GCC4 version fix.
  • User can get the maximum allowed texture size information now.
  • Customizable Multisampling support added.
  • Set texture parameters at bmp, dds, pcx, tga, jpg, png.
  • Font class updated.
  • Templated 2D vector class added.
  • Templated 3D vector class added.
  • Button class tooltip size configuration added.
  • Eventmanager some function renamed.
  • Some bug fix.
  • CString updated.
  • Simple Binary 2D tilemap format.
  • xml tileset format.
  • Mouse on window event added.
  • Textura deletion fixed.
  • Source logically restructured.
  • 2D TileMap editor started. Tiger TileSet and TileMap format introduced.
  • TileMapManager. Load tilemaps, tilesets, draws.

New version of the Tiger Game and graphics Engine: V0.1

Posted on 12th Feb, 2010

We are here again. Many improvements have been done. The key results are:

  • Our editor (TED) improvements. Like loading and saving md3, simple md3, md2, obj, heighmap and Tiger XML files.
  • Create, load, save light in editor
  • Some code refactoring at the core of the engine
  • ASE xml loading format introduced. Parallax mapped ase model can be used. (If the whole model is parallax mapped)
  • Simple MD3 model loader bug fixed.
  • Camera ase model collision introducced.
  • TED scene file extended with: shadowcaster, visible attributes.
  • TED object delete added at nodeview.
  • Engine TED scene file loader added.
  • TED terrain load/positioning support added.
  • TED nodelist delete added.
  • TED object easy rotate and positioning support added.
  • Engine GUI slider component added.
  • BB transformation upgraded.
  • TED object visible/not visible added.
  • TED Camera world collision checkbox added.
  • TED object cast shadow checkbox added.
  • TED ASE model delete bug fixed.
  • And of course, other minor bugfix :-)

Happy Christmas development: TED and Engine.

Posted on 23th Dec, 2009

Many time and source code has been written since last post. We mainly concentrated for TED World Editor, so Engine was improved in a small extent in this time. We are developing the main elements in TED like object loadings, delete, move, rotation, etc:

  • OBJ file XML loader introduced, then reworked both in TED and Tiger Engine. It is called TOBJ. Multiple texture usage added from the xml descriptor file. TED TOBJ save/load support.
  • Bounding Box struct has been changed to Bounding Box Class with some more feature. For example AABB collision detection. AABB rotation, center calclation, find min-max points.
  • Optimization at model level frustum culling algorithm. AABBs are transformed and calculated only if object moves, is rotated, or its size changes. We save these new AABB, so if the object stays at the same position, that rendering will be much faster. In case of Big Levels, it is necesserray.
  • Minimal physics change. Model level AABB collision detection.
  • Texture parameter settings bug fixed at Simple MD3 texturing.
  • Basic terrain support to TED and Engine added. Read from raw file or image. Possible to scale, smooth it. XML descriptor and loader. Objects can cast shadow now on terrain.
  • Skybox, Skydome rendering. Load SkyBox from xml file.
  • Terrain Bounding Box calculation.
  • Rigid body Physics Core development started. Linear velocity/movement added. Forces, etc.
  • Texture parameter setting possibility at texture loading at PCX
  • TIMER class added
  • Obj loading reworked, simplified.

Development news: TED v0.02

Posted on 18th Oct, 2009

  • A lot of TED improvements, object selection, nodes menu, etc
  • Introducing Tiger World Editor Scene file. Example: sample.ted


  • .TED file format:


    <?xml version="1.0" encoding="ISO-8859-1"?>
    <scene version="0.1" name="Default Scene">
    <world nummodels="1">
    <model name="object">
    <file name="D:\DATA\barrel\barrel01.3DS"/>
    <position x="-232.00" y="0.00" z="0.00"/>
    </model>
    </world>
    </scene>

    • Simple MD3 model type support. Simple means static model, without animation. Only meshes are available. Both in TED and engine. Bounding box calculation, transformation, frustum culling.
      A lot of games use static MD3 models. For example: Sauerbraten, Nexuiz, Doom3, etc.
    • Engine object mouse selection support.
    • New texture management introduced. Textures are managed (load, reload, delete) now globally. Engine does not load a texture twice. If a model or gui element have the same texture, the engine load only once. This result better memory usage, and load time improvements.
    • Change every char* to C++ string.
    • Screenshot making possibility engine support. F12 in TED. The saved image is in an uncompressed TGA format.
    • TED scene save bug fix when simple MD3 exist
    • Some GUI flexibility improvements
    • New GUI element: Inputbox

    Introducing development log

    Posted on 26th Aug, 2009

    Welcome to our new proposal, at the development log. All of the changes of Tiger Graphics Engine will be written here, you can follow the main changes. So, what are these in the new version:

    • Our new subproject: Tiger World Editor.
      We call it just TED. It will be a wysiwyg world editor, where you can load different type of models (ASE, MD3, Static MD3, OBJ, 3DS, Tiger own format), locate them, and create a complex scene.
    • Some GUI and basic core of TED are now done. Loading models, and move them with mouse.
    • New Rendering engine at Tiger Main Core! Material and effect based object separation is applied.
    • We introduced an xml based MD2 summary file, called "tmd2". The format is simple. The objective is to support the possibility of texture (skin) changing.


    • TMD2 file format:
      <?xml version="1.0" encoding="ISO-8859-1"?>
      <tmd2 version="0.1">
      <model numoftextures="2">
      <file name="tris.md2"/>
      <texture colormap="hobgoblin.pcx" />
      <texture colormap="hobgoblin_blood.pcx" />
      </model>
      </tmd2>

    • Texture unit usage bug fixed.
    • Some String and Directory utilities added. Like string tokenize, directory change and listing.
    • Introduced selectable 3D objects. Screen selection (picking) is now supported.
    • New GUI elements (Tabbedpane, Tabs, List)
    • Some Gui element improvements.