Game Engine C++ – Overview

Lately I have started developing Game Engine for my Game Architecture Module at University.
It is C++/DirectX (at the moment it is directX 10 with HLSL but in the future it will be kinda smart and will detect what DirectX can be lunched on PC in future maybe OpenGL as well – we’ll see.)

Target for this project is to create basic but flexible and easy to extend RTS game  engine.

To present features of engine on every milestone I’ll publish release, and a code for it because I guess putting code in a post may be kinda messy. However some simple methods or smart ideas I ll post ;).

The engine is designed in a way that extending should be fairly easy.

Current features:

  • Starting Windows’ window
  • Creation DirectX device
  • Loading/Processing Vertex and Pixel shader file
  • very simple camera
  • very basic  input handler
  • model class
  • simple shader debuger
  • error handling

Milestone 1 (01/02/2011)

Working 3D environment – Terrain

  • height map – loaded from file
  • lighting
  • sky box
  • multi-textures
  • blending
  • water
  • loading object from graphics programs

    Milestone 2 (01/03/2011)

    Object system

    • Collision Detection
    • Picking elements and movement
    • Basic AI
    • Placing object on the map
    • Simple Game Logic – building units, balance

    Interface

    • Simple 2D interface

    Milestone 3 (01/04/2011)

    Working Scripting System

    • LUA scripting language implementation

    Milestone 4 (01/05/2011)

    • networking?
    • I bet I ll find something

    Release (02/05/2011)

    • Well documentation and tutorial
    • Party!

    This is just draft probably this days will change eventually however I will be aiming in release date which is be totally accident a day of my birthday 🙂

    Today I am putting a Debug release of Engine – it is really deep alpha and it works only on pc’s with DirectX 10 or later. (Vista or 7)

    Version 0.2 – this version is rendering green triangle on a screen to make that it uses shaders, basic input class manage to close program when escape button is being pressed.

    Published by

    Luke Iwanski

    Senior Graphics Programmer @ CD Projekt RED

    Leave a Reply

    Your email address will not be published. Required fields are marked *