Quantcast
Channel: Clickalot Games » General
Viewing all articles
Browse latest Browse all 3

Engines

$
0
0

Apparently no matter what kind of schedule I might choose for posting updates on the project I always end up not respecting it. The good news is that I’m still working on stuff in the little free time that I have. Unfortunately I still need to feed myself and my cats so this will be a spare time project for a while. In any case I will write a bit about the engine.
I found it hard to work in existing 2D engines. It seems that most of them are oriented towards small projects. The only one that looked professional enough seems to be Torque2D. Even so it was lacking in more than one feature that I was interested in. For example when I last checked it you had no way of writing your own shaders and were limited to a few blend modes.
Not wanting to use a 3D engine in order to hack a 2D game into it, I decided to write my own engine from scratch.

The current feature list is:

  • The main engine is written in C++ and for rendering it uses DirectX. The decision to use DirectX was taken purely because I’m not really experienced with OpenGL. Once the engine will reach a certain maturity I hope that OpenGL will be added as well as multi-platform support.
  • Component-based entity design.
  • Using shaders will allow a whole bunch of interesting effects to be implemented quite easy.
  • As a physics engine I use Box2D.
  • Serialization is done into XML files that are loaded and saved using a slightly modified version of TinyXml.
  • Editor written in C++/CLI that uses the same renderer as the game in order to have a 1:1 correspondence between the editor and the game on the visual side of things. Somehow I’ve felt more comfortable working with .net interfaces rather than having an in-game editor.
  • Sprite editor where you can setup various parameters of the sprite components ( animation speed, etc.).
  • A simple system to tie animations to certain character actions that seems to work pretty nice at the moment. An action could be started by a pressing a key or entering a certain state. This avoids setting the current animation in the gameplay code and makes everything cleaner. If you want to change the animation for an action you can just do this from the sprite component editor.
  • And the last but not least a Physics Editor where you can tweak parameters for the Box2D bodies, change their collision mesh, etc.

Nothing too impressive at the moment, but I am working on adding more cool features and bling into it.

Particles are the next thing that I need to add, so when I will start doing these I could possibly show some nicer screenshots :P that have lights and particles and a whole bunch of other visual sugar.

Until then I need to add some more features on the editor side first. For example things we take for granted in UDK/etc. A nice object browser, smoother entity adding/removing.

Basically what I’m saying right now is that I have a ton of work to do :) .

Super early in-development screenshot follows:

Screenshot with this early version of the editor.

p.s. The graphics are taken from a quick google search. Not trying to steal anyone’s work or anything, I just needed some assets to test my engine with.


Viewing all articles
Browse latest Browse all 3

Latest Images

Trending Articles





Latest Images