Which 2D engine should I switch to?

Discussion in 'Game Development (Technical)' started by bantamcitygames, Jun 16, 2006.

  1. Screwball

    Original Member

    Joined:
    Aug 2, 2004
    Messages:
    84
    Likes Received:
    0

    http://www.garagegames.com/demos/browse/development/

    Demo version of TGB. Not sure when it was released.

    As far as using it myself, I quite like it. I don't use a lot of the level builder / autoscript style tools built on top of it, prefering ti mainly script by hand. The script language itself is like a 1st / 2nd year Uni version of C++, and the "commercial" liscense gives you the full C++ source for any modifications you want to do. If you use all scripts to make your game you also have basicly out of the box porting to a mac, and by that I mean take all your scripts, drop them into a clean mac version and "compile".
     
  2. Ciperl

    Original Member

    Joined:
    Jan 12, 2005
    Messages:
    38
    Likes Received:
    0
    Jack,

    We've heard your cry and the cries of many other developers. We've now got a Free 30 day trial version (no feature limits, except for the watermark). We just put up both trial versions for Windows and Mac.

    Plus, just today, we finally launched the full version of Torque Game Builder. Check it out. And now... you can download and try the engine for free... for 30 days. PLUS... even with the 30 day free trial, we're shipping it with over 700 pages of tutorials and docs.

    More info: http://www.garagegames.com/products/torque/tgb/

    Windows Trial Download: http://garagegames.fileburst.com/tgb/GetTorqueGameBuilder.exe
    Mac Trial Download: http://garagegames.fileburst.com/tgb/GetTorqueGameBuilder.app.tgz
     
  3. Hidden Sanctum

    Original Member

    Joined:
    Nov 12, 2005
    Messages:
    66
    Likes Received:
    0
    Just thought I'd throw in my 2 cents here as well. I've been using PTK and loving it. The support is really outstanding. I can't understand how Patrice does it all.

    As far as documentation is concerned, anyone who understands C can understand it. It's really simple to use. There is also a breakout-type game written using PTK that you can download and play with the source code:

    http://www.phelios.com/ptk/gameengine/examples/arkanoid.txt

    That was what I started with to understand the engine. I was quite surprised at how easy it all was and I had my own game prototype done the following day.

    PTK proved to be exactly what I wanted. I wanted to focus on coding my game and not having to deal with writing my own functions to display a graphic or play a sound file.

    I've spent a lot of money over the years on things, but this was the best $215 I ever spent...well, thats not quite true. There was this dancer once that...nevermind.:rolleyes:
     
  4. Emmanuel

    Moderator Original Member

    Joined:
    Nov 23, 2004
    Messages:
    859
    Likes Received:
    0
    ptk now officially supports batching (and still requires DX7 only, on Windows), so you can go crazy with particles :)

    Best regards,
    Emmanuel
     
  5. Indiepath

    Indiepath New Member

    Joined:
    Aug 22, 2004
    Messages:
    999
    Likes Received:
    0
    I still use Blitzmax, it's just so simple to get stuff working. With the addition of my software render module I don't see why I'd need anything else - Yet!
     
  6. lakibuk

    Indie Author

    Joined:
    Jul 27, 2004
    Messages:
    961
    Likes Received:
    0
    What's batching?
     
  7. Emmanuel

    Moderator Original Member

    Joined:
    Nov 23, 2004
    Messages:
    859
    Likes Received:
    0
    Indiepath, sure, Blitzmax is a fine platform too, that's not ptk's audience though :)

    lakibuk, it's the ability to send a bunch of blit commands and then have the card execute them all at once, while your code keeps going. This is typically useful for particle systems.

    Best regards,
    Emmanuel
     
  8. Jack Norton

    Indie Author

    Joined:
    Jul 28, 2004
    Messages:
    5,130
    Likes Received:
    0
    Yes Blitzmax is great to make small and easy games. If it had a good debugger, I probably would still use it too - right now is a nightmare.

    Also note that if you make your game in Blitzmax, is not C/C++ standard so you can't port it easily to other platform (xbox, ps3, etc) in case it is a success ;)
     
  9. Hidden Sanctum

    Original Member

    Joined:
    Nov 12, 2005
    Messages:
    66
    Likes Received:
    0
    I had a bit of a tough time understanding this myself until Patrice explained it as:

    when you do:

    sprite1->blitAlphaRect
    sprite1->blitAlphaRect
    sprite1->blitAlphaRect
    directx does ( in ultra simplified explanations ):

    startDrawing
    sprite1->blitAlphaRect
    stopDrawing
    startDrawing
    sprite1->blitAlphaRect
    stopDrawing
    startDrawing
    sprite1->blitAlphaRect
    stopDrawing

    those start and stop are very time consuming.

    with batching you end up with
    startDrawing
    sprite1->blitAlphaRect
    sprite1->blitAlphaRect
    sprite1->blitAlphaRect
    stopDrawing

    I experimented with it on a particle comet that streaks across the screen. I have a timer in my code that displays the time in milliseconds that my game loop takes. I cranked up the particles to 1,000. Without batching my timer shot all the way up to 20 when the comet streaked across the screen (60 frames/second is around 16-17) so my framerate slowed when it was on the screen.

    When I applied batching, this dropped to 1-2 which is the same reading I get when the screen is displaying the normal stuff WITHOUT the comet. Batching essentially wiped out the time it normally took the to display the comet.

    Not only that, but the particles have a lifespan as they are displayed. Without batching, the comet appeared shorter because it took too long to move it across the screen and the tail end 'died' closer to the head of it. I hope that makes sense. With batching, it became a much fuller, richer, and lengthier comet.

    For those questioning PTKs support, I think this is an excellent example of just how great it is. The batching thing came up less than a week ago (the 16th of June) and in less than 1 week, it is now an official part of PTK. Heck, I was testing it for Patrice 3 or 4 days ago. :)
     
  10. lakibuk

    Indie Author

    Joined:
    Jul 27, 2004
    Messages:
    961
    Likes Received:
    0
    Thanks for explaining.
     
  11. Emmanuel

    Moderator Original Member

    Joined:
    Nov 23, 2004
    Messages:
    859
    Likes Received:
    0
    Cool, Hidden Sanctum, glad Pat de-geekified my code and made it useful to someone else than me :)

    Best regards,
    Emmanuel
     
  12. Savant

    Original Member

    Joined:
    Feb 8, 2005
    Messages:
    1,674
    Likes Received:
    0
    The batching feature is a fairly straight forward optimization for any graphics engine. Namely, minimizing state changes. You can't get away with setting up and sending 2 triangles in each call. You have to group together triangles with common attributes (textures, blending, etc) and fire them all at the card at once. That's the only way to get any real speed out of a 3D API like OpenGL.

    I'm kind of surprised that PTK wasn't doing this already to be honest. :)
     
  13. Sakura Games

    Original Member

    Joined:
    Feb 28, 2006
    Messages:
    239
    Likes Received:
    0
    Hmm well, my inlay game has over 128 sprites (yes the usual particles you find in all casual games nowadays) and without batching was running fine on all low level machines (and they were quite LOW level like pentium3 450mhz!).
    Anyway, guess that is useful :D
     
  14. delsydsoftware

    Original Member

    Joined:
    Oct 11, 2005
    Messages:
    82
    Likes Received:
    0
    A bit OT, but it does relate to batching:

    I wrote some very odd code to handle texture changes and color changes in Brickout. It does one pass for each different texture over the entire level, and it only sets vertex colors if they have changed between bricks. I was aware of the importance of limited texture binding, but I was pretty amazed at the performance hit that happened when the game was setting glColor4f before each quad. Low end machines gained 10fps when I added in the optimized color-setting code. I love OpenGL, but optimization under OGL is definitely an art and a science.

    So, hurray for batching! :)
     
    #34 delsydsoftware, Jun 23, 2006
    Last edited: Jun 23, 2006
  15. Savant

    Original Member

    Joined:
    Feb 8, 2005
    Messages:
    1,674
    Likes Received:
    0
    Yeah, any state change that you do for every primitive is going to hurt a lot. Batching on whatever you can is the smart move.
     
  16. chanon

    Indie Author

    Joined:
    Jul 28, 2004
    Messages:
    468
    Likes Received:
    0
    Sorry for reviving this slightly old thread :eek:

    I've modified my codebase to use the PopCap Framework's rendering code but after reading this thread it seems PTK is the better way to go because of its Mac OSX compatibility.

    One question is, does PTK do non-accelerated 2D (2D without hardware acceleration)? Or is is non-accelerated 2D absolutely not required anymore these days?

    The PopCap Framework's Graphics system has pretty good and extensive non-accelerated 2D support (filtered rotations/scaling all with alpha) which is one of the reasons I initially chose it.
     
  17. Emmanuel

    Moderator Original Member

    Joined:
    Nov 23, 2004
    Messages:
    859
    Likes Received:
    0
    PTK doesn't support software rendering at all. That doesn't seem to be a problem (Mystic Inn, Atlantis and Fairies all require a 3D card on both pc and mac). It also enables you to do some cool effects that you know will work at a high framerate without worrying about taking them down a couple notches for software rendering. If you really want to bother, you can license ptk on mac only (there's a new, cheaper license for buying it only on pc or on mac) and get your code to use either the popcap framework on pc or ptk on mac.

    Best regards,
    Emmanuel
     
  18. chanon

    Indie Author

    Joined:
    Jul 28, 2004
    Messages:
    468
    Likes Received:
    0
    Thanks a lot for the advice Emmanuel!
     
  19. Matt Langley

    Matt Langley New Member

    Joined:
    Jul 17, 2006
    Messages:
    43
    Likes Received:
    0
    I think you would be pleased with Torque Game Builder (TGB). In fact there is a trial and more info here.
     
  20. killarkai

    Original Member

    Joined:
    Apr 24, 2006
    Messages:
    38
    Likes Received:
    0
    clanlib?

    anyone played around with clanlib? http://www.clanlib.org/
    it's cross platform and free, but doesn't seem that popular.
     

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