Posted by: EvilNando | October 16, 2008

Status Update

Hello fellow readers, today my new set of DDR2 has arrived putting an end to the memory disaster I had the last week. One thing I missed to comment is that not all the ram failed.

It seems that a single 1gb module survived, this was enough to reinstall the OS and the development tools.

Having that limited amount of RAM was very helpful production-wise because I was not able to launch games without any sort of hiccups so instead of spending my time playing games, I actually did some work.

During these days I’ve worked on the rendering logic of the engine, and also I’ve started creating a series of libraries  for the AnimEditor which containts the main lot of helper classes and a variety of custom controls that I intend to reuse in future winforms applications.

It’s a lot of fun seeing the engine evolve or “mutate” because I have no solid idea on how the engine should be  written I’m constantly switching approaches, here is a clear example:

Consider this a simple representation of the rendering process

Render()
{
 RenderMap();
 RenderActors();
 RenderFx();
}

This was my originial design: a block that controls the rendering of everything that needs to be rendered, one object after another.

This worked up until I started to give some complexity into the rendering engine.

Imagine that you want to have some parts of the map rendering on top of your actors, following my original design it should then be like this:

Render()
{
 RenderMap();
 RenderActors();
 RenderMap1();
 RenderFx(); 
}

Now what happens if you have some actors or entities that you need/want to be rendered on top of the map no matter what:

Render()
{
 RenderMap();
 RenderActors();
 RenderMap1();
 RenderActors1();
 RenderFx(); 
}

So while this worked (initially) its true face appeared as soon as I wanted to implement extra rendering features.

The way I solved this was to do this

Render()
{
 RenderMap();
}

for this to work as it should I’ve implemented a series of delegates that are placed in various parts of the MAP rendering block, now it is a matter to suscribe the rest of the components to the corresponding delegate and voila!. Callback functions are very useful and a lot of fun 🙂 !

probably in the future I would be adding a RenderHUD() function inside that Render() block since it is known that the HUD is always on top of the game area

Thats it for the engine work , right now Im devoting all of my (little) time to creating the AnimEditor , if I manage to get it according to the design spec it will be something that will be very useful for creating content for any 2D game

As a final note I would like to thank all my readers , according to the stats the editor has been downloaded over a thousand times now, and that for me is very impressive!!

Thanks a lot guys , this is what keeps me motivated

Advertisements

Responses

  1. Do you ever plan on releasing your game eninge?

  2. yes it is planned but there is a long road before I can get there

  3. Cool..cant wait. from your videos it looks like great stuff!

    btw, love the map editor. 🙂


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Categories

%d bloggers like this: