The Great 2D Engine Stress Test Shootout

Discussion in 'Game Development (Technical)' started by Martoon, Feb 9, 2005.

  1. Martoon

    Original Member

    Joined:
    Nov 5, 2004
    Messages:
    329
    Likes Received:
    0
    There seem to be a number of affordable (or free) 2D game engines now that do your basic sprite rendering, etc. It might be nice to see a features and performance comparison between them. Most of them have some demo apps that bounce a bunch of sprites around the screen, etc., but the demo apps are all slightly different.

    I'm thinking of drafting up some well-defined benchmark tests - for example, at a fullscreen resolution of 800 x 600, render 500 alpha-blended rotating sprites each at a size of 64 x 64, all from the same 32 x 32 texture (with more specific details than that, but you get the idea). I would then take this set of benchmark specs and hit up the developers and/or advocates of the different 2D engines to write demo apps to these specs. People could then benchmark the tests on a variety of systems.

    I wanted to find out from the devs here:

    1. How much interest is there in something like this?

    2. What kinds of things would you like to see tested (i.e., with/without sprite rotation, fixed screen rendering with dirty rect optimization, etc.)?
     
  2. bentlegen

    Original Member

    Joined:
    Dec 24, 2004
    Messages:
    116
    Likes Received:
    0
    Heck, we could also use a nifty table that compares all the engines and their features. Who's got what, etc.

    - ben
     
  3. Surrealix

    Indie Author

    Joined:
    Dec 6, 2004
    Messages:
    139
    Likes Received:
    0
    That would be brilliant.

    At least, personally, It would be great to be able to see how engines compared, how they performed, etc.
     
  4. baegsi

    Original Member

    Joined:
    Oct 8, 2004
    Messages:
    424
    Likes Received:
    0
    That would be very helpful and in interest of many developers, since each of us has to test the same tools + libs, so that could save a lot of time
     
  5. ManuelFLara

    Indie Author

    Joined:
    Jul 29, 2004
    Messages:
    470
    Likes Received:
    0
    That would be very useful. First thing to do is list all 2d engines we know. These come to mind:
    - PTK
    - HGE
    - ClanLib
    - Kyra
    - BlitzMax
    - Torque2D
     
  6. Rod Hyde

    Original Member

    Joined:
    Jul 27, 2004
    Messages:
    123
    Likes Received:
    0
  7. Martoon

    Original Member

    Joined:
    Nov 5, 2004
    Messages:
    329
    Likes Received:
    0
    Thanks for the lists, guys.

    Is there any existing website that lists and/or compares 2D engines? I'd like to avoid any duplicate effort, and if there is an established site, it might be a logical place to host the benchmarks.
     
  8. MrPhil

    Original Member

    Joined:
    Aug 4, 2004
    Messages:
    671
    Likes Received:
    0
  9. baegsi

    Original Member

    Joined:
    Oct 8, 2004
    Messages:
    424
    Likes Received:
    0
  10. Cartman

    Indie Author

    Joined:
    Jul 27, 2004
    Messages:
    618
    Likes Received:
    0
  11. Martoon

    Original Member

    Joined:
    Nov 5, 2004
    Messages:
    329
    Likes Received:
    0
  12. dima

    Original Member

    Joined:
    Feb 7, 2005
    Messages:
    345
    Likes Received:
    0
    Actually, I want to know how TPK is? is it worth using over HGE for instance? how is it;s stability? has anyone here used it?
     
  13. ManuelFLara

    Indie Author

    Joined:
    Jul 29, 2004
    Messages:
    470
    Likes Received:
    0
    I'm a PTK user myself and I think it's great. The only one thing that could be improved is adding a DirectX7 renderer to Windows platforms, and I say that only based upon other people's opinions in this forum that have used OpenGL and noticed a significant amount of people with crappy OGL drivers. Adding that would just be perfection, since I've added to my PTK-powered higher level engine everything it lacks (skinnable GUI, a sprite system, easy handling of fonts and sprite animations, collisions, physics, smarter resource management, events, triggers, etc.).
     
  14. dima

    Original Member

    Joined:
    Feb 7, 2005
    Messages:
    345
    Likes Received:
    0
    I am currently using HGE, and the thing is pretty good, but... Windows only, and uses DX8.1, so some people will not be able to play my game. Going cross platform is what I want, at least MAC and Windows, but windows users are having issues with the GL drivers and such.

    PTK seems good, but the OGL issue scares me, also HGE is good how it combines everything and lets you use it easily, PTK is more scattered and cannot switch fullscreen and windowed modes on the fly, thats a minus. No MOD music support either, but coross platform sounds fun. Waiting to see what Torque2D will look like, also BlitzMax sounds ok, but I like C++ :rolleyes:

    Im surprised that no one has made a 2D engine using SDL+AntiGrain, seems that would be an interesting combo, and would run on all platforms without compatibility issues. Its alot of work though I would imagine. Someone with alot of skills and resources should do this asap, and release the engine for cheap. I've always dreamed of a 2D engine which could rotate, scale, alphablend the sprites and even change colors. Basically render quads using software, no 3D transformations or anything like that. A tool like that could be very helpful to everyone, and Im sure is desired by alot of us. Seems writing thing like that would take some time, so someone should do it. Why not Reflexive? They have some experience with AntiGrain, they could write this thing and make it good! hint hint..
     
    #14 dima, Feb 10, 2005
    Last edited: Feb 10, 2005
  15. gmcbay

    Indie Author

    Joined:
    Jul 28, 2004
    Messages:
    280
    Likes Received:
    0
    It would be pretty easy to integrate Antigrain and SDL. Antigrain basically does all of its rendering to 32bit pixel buffers that you can then take and do whatever you want with. Feeding them into SDL sprites would be trivial. Getting good performance from a software rotation and scaling system like you describe would be a bit challenging. Antigrain is pretty speedy for most operations (a bit slow when it comes to stroking complex lines), but having to constantly upload new data to the display surfaces could swamp things, even on systems with fast processors.

    In any case... AGG is a very nice piece of software once you get past the fact that everything in templatized and it can be a bit non-obvious how to go about using something, even if you are pretty experienced with advanced C++ and templates. I'm using it in the latest iteration of my vector graphics engine, along with gameswf, to render SWF files into pixel bitmaps at runtime to allow for 2D games that can run in any resolution without pixelization or blurring due to resizing of pixel graphics. I'm not using SDL, though. I've got my own sprite routines that provide a common interface but different implementation depending upon platform (under the hood it uses DX8 on Win32, OpenGL on Mac OS X and the Tapwave APIs on the Tapwave Zodiac handheld).
     
  16. James C. Smith

    Moderator Original Member

    Joined:
    Aug 21, 2004
    Messages:
    1,768
    Likes Received:
    0
    I would love to do that. But one problem is I would love making a new game even more. The other problem is opportunity cost. We get a better return on investment when we invest our time in making games (this is just an assumption but I can’t image getting better then the return rate we get now). In other words, I personally would enjoy making a reusable 2D engine but I would enjoy making a game even more. And Reflexive may be able to make money (or good will or get some other return) from making a 2D engine, but we get even more return from making a new game.
     
  17. ManuelFLara

    Indie Author

    Joined:
    Jul 29, 2004
    Messages:
    470
    Likes Received:
    0
    Actually PTK can switch fullscreen and windowed modes on the fly.
     
  18. dima

    Original Member

    Joined:
    Feb 7, 2005
    Messages:
    345
    Likes Received:
    0
    Ah, very nice, indeed it can switch windowed modes now, didnt see that in the demo though. Either way, PTK seems to be interesting, but the OGL issues are annoying. HGE is really really good, but windows only. Software blitters are compatible, but sux with performance.

    So whats the winning combo?

    I guess OGL is the only way to go for cross platform ability, that or pure software. Im still leaning towards the software because of compatibility issues, but who's going to make that nice engine that's easy to use and has everything in one together? SDL+AntiGrain+MOD=interesting, someone please do it :eek:

    we'll see how Torque2d and BlitzMax handle things, but im sure they both are OGL based, so the driver issue still stands. sigh
     
  19. Dan MacDonald

    Moderator Original Member Indie Author

    Joined:
    Jul 26, 2004
    Messages:
    1,424
    Likes Received:
    0

    Actually PTK does "support" mod files (but not play them directly), you just have to expand them to .raw files before you can play them. KSound ( the sound package of PTK) provides a method that does this for you. So technically your game could ship with mod files and then have them expanded and played the first time the game is run.
     
  20. gmcbay

    Indie Author

    Joined:
    Jul 28, 2004
    Messages:
    280
    Likes Received:
    0
    Abstract the "sprite" and "display" classes and implement them for Direct3D (for Windows) and OpenGL (for Mac OS X and possibly others). This is surprisingly easy to do. A lot easier than making a multi-API 3D renderer.
     

Share This Page

  • About Indie Gamer

    When the original Dexterity Forums closed in 2004, Indie Gamer was born and a diverse community has grown out of a passion for creating great games. Here you will find over 10 years of in-depth discussion on game design, the business of game development, and marketing/sales. Indie Gamer also provides a friendly place to meet up with other Developers, Artists, Composers and Writers.
  • Buy us a beer!

    Indie Gamer is delicately held together by a single poor bastard who thankfully gets help from various community volunteers. If you frequent this site or have found value in something you've learned here, help keep the site running by donating a few dollars (for beer of course)!

    Sure, I'll Buy You a Beer