One time is better than never, here is the presentation of one of my projects, complete, and downloadable.
This project, AdvancedSPRITES, is a plugin for Dark Basic Professional that, like its name let's suppose it, allows the user to manage sprites farther than DBPro default sprites. The 88 commands of the plugin give a low-level access to sprites, what allows the user to create a specific code adapted to each program. This will result in most cases in a performances benefit : a program using AdvancedSPRITES sprites is often 3.5 times faster than one using DBPro's. In some cases, a program can have its framerate multiplied by 10.
AdvancedSPRITES contains the following features :
- More "object oriented" management of sprites. Pointers are used instead of index numbers.
- Fast sprite drawing. Fast enough to allow to create any kind of 2D game.
- Rotation, translation, scaling.
- Tilesets management.
- Animated sprites management.
- Pixel-sprite collision, or how to know when a point is above a sprite.
- Texture creation, edition, reading.
- Use of images loaded using Dark Basic Professionnal "Image" commands.
- Image import from BMP, JPG, TGA, PNG, DDS, PPM, DIB, HDR and PFM files.
- Image export to BMP, JPG, PNG, DDS, DIB and PFM files.
I'd like to say some words about the compatibility of 2DPluginKit with AdvancedSPRITES. Freddix has make his product able to use my plugin, with all performances improvements it implys.
AdvancedSPRITES downloadable archive contains :
- The plugin, AdvancedSPRITES.dll
- The english help - As english is not my native language I can't tell if it's understandable, so if you have problems or suggestions to improve it, I'm ready to help/upgrade ^^
- An easy example using tileset, texture writing and rotation.
- A performance comparison program between DBPro default sprites and AdvancedSPRITES.
I don't think that screenshots are useful in this case, so here are some benchmarks results obtained on different computers when launching the comparison program :
Athlon64 3500+, 1 Gb RAM, Radeon X800XT 256Mb
- DBPro Sprites : 58 FPS
- AdvancedSPRITES 1.009 : 550 FPS
- AdvancedSPRITES 1.010 : 690 FPS
Dual Core 1.86 Ghz, 2 Gb RAM, GeForce 7600GT 256Mb
- DBPro Sprites : 60 FPS
- AdvancedSPRITES 1.009 : 359 FPS
Pentium D 2.8 Ghz, 1 Gb RAM, Radeon X600 256Mb
- DBPro Sprites : 64 FPS
- AdvancedSPRITES 1.009 : 350 FPS
Of course, you are free to give any suggestion or comment about the plugin. The command list can be easily extended, and I don't think I have totally explored 2D possibilities yet.
For bugs reports or help, the best way is to send me an email (you can find it inside the help), post in this thread. For french users, you can contact me through GameCorp's forums, too : http://www.game-corp.net/
I have only one request for those who will develop softwares using AdvancedSPRITES, please write the plugin's name, and mine - Dorian Morelle - in your software credits. Adding this will help to make the plugin easier to find.
Eventually, I wish to thanks IanM and ApexNow who helped me few months ago, and, of course, Freddix, for his help and encouragements.
The plugin is available here :
English version
French version
I think that this plugin will make happy all those that, like me, want to develop performant 2D softwares using DBPro.
Happy coding
[Update 07/01/2011] Added new download links.