Friday, 8 May 2009

Quick blitting, matrices and deformations

I've been busy working on some of the blitting techniques that I spoke about sometime earlier in this blog. I have concentrated on making things quick and flexible and arrived at a point where I can blit around 1800 tiles at 60fps using my fast drawing method or a couple of hundred tiles that can be ran through a matrix with rotations and scaling applied. There is still alot of room for optimizations in the later but I aim to have a rounded off blitting system within the next few weeks. I will be concentrating on getting some of the more advanced features impemented over this time. I will then need to make some decisions about the tile engine itself. This will include a few main areas such as the intended audience of the tile engine and its format, its requirement within my MMORPG, what technologies I wish to use along side my tile engine, such as external libraries, image creation programs and how my own workflow will benefit from these. Do I need to create custom editors and tile tools for such things as pallette mapping, how will my environments be created etc... there are many considerations.

As you see in the screenshot above, I am applying tiles to a single bitmap image allowing me to do some cool things such as deformations, exporting screenshots in PNG or JPG formats and various other things usually associated with C++ development on more highend systems. I have also started to develop the time-based animation part of the library which will use trigonometry to apply velocities to entities to determin their positions using the clients maximum possible framerates.

Gary Paluk

1 comments:

  1. Crazy Image, very cool though.

    Any chance to see a code snippet of your fast draw method with the matrix rotation?

    ReplyDelete