+ Reply to Thread
Results 1 to 17 of 17

Thread: 2D Graphics Library & an article about a 2D renderer

  1. #1
    Senior Member
    Join Date
    Aug 2005
    Location
    Royal Leamington Spa, UK
    Posts
    652

    Default 2D Graphics Library & an article about a 2D renderer

    I've recently released the source code to my graphics library, and thought I'd tell you guys about it, in case it's of use to someone. It's free to use, no weird licensing issues. Also does music playback in a few different formats.
    http://www.colossusentertainment.com...ameEngine.html

    I've also finished an article I started ages ago, about a software 2D renderer I made (actually the one used in my graphics library)
    http://www.colossusentertainment.com...eRenderer.html

    Hope this stuff is useful to someone :-)

    /Mattias
    "The Strangler" - My recent point-and-click adventure
    www.mattiasgustavsson.com - My blog on games and game development
    www.pixieuniversity.com - My Software 2D Game Engine

  2. #2
    Senior Member
    Join Date
    Sep 2004
    Location
    San Jose, CA.
    Posts
    1,726

    Default

    Cool, thanks!

    I'm already using my own stuff, but I'll probably peruse your source in my spare time anyway
    Peter Young | www.attitudegain.com | Linkedin | Twitter

    Projects:
    Meridian 59: Evolution
    ???
    ???

  3. #3
    Member
    Join Date
    Aug 2005
    Location
    London
    Posts
    75

    Default

    Likewise we also have our own system but will be interesting to look through your stuff. It is great that you have shared this with the public.

    Out of interest, how long do you think this took you to develop?

  4. #4
    Senior Member
    Join Date
    Aug 2005
    Location
    Royal Leamington Spa, UK
    Posts
    652

    Default

    A bit hard to say, but most of it was written in 2-3 weeks of evening and weekends, but then I already had some things from an earlier engine (a 3d engine I'm no longer working on) like the platform abstractions and the containers, those sort of things...
    "The Strangler" - My recent point-and-click adventure
    www.mattiasgustavsson.com - My blog on games and game development
    www.pixieuniversity.com - My Software 2D Game Engine

  5. #5
    Moderator
    Join Date
    Jul 2004
    Location
    Zürich, Switzerland
    Posts
    1,966

    Default

    Mattias, first of all, thanks for relasing this - I'm sure it will be quite useful for a lot of people.

    I haven't looked at your code, but reading the article makes me wonder - is all of that worth the effort? Originally my framework did software rendering only and I had a lot of code to deal with dirty rectangles and micro tile arrays and stuff, and used SDL blitters to do the optimized blits you mention.

    However, 2 or 3 years ago I implemented a hardware accelerated renderer, the code is much cleaner and I had no serious compatibility or performance issues.

    So while I'm sure it was fun to do (optimizing low level stuff is always fun!), I don't really see the business sense of investing so much time in it.

    Please don't read this as a criticism, I'm just curious.
    Gabriel Gambetta
    Google Zürich - Formerly Mystery Studio

  6. #6
    Senior Member
    Join Date
    Aug 2005
    Location
    Royal Leamington Spa, UK
    Posts
    652

    Default

    Good question, and no, I don't take it as critisism :-)

    I think it's worth the effort, yes :-) I have a renderer which exactly suits my needs, I know the code inside out, if there's any bugs in there, I'll find them very quickly. I don't have any dependencies on specific DirectX versions or things like that, and I'll be able to very easily port things to any platform I want in very short time.

    And it took me 3 days to do the rendering part of the library, the 2-3 weeks of evenings and weekends I stated above included things like the music playback, buttons, sprites, text etc, which would still have to be done if I had used hardware acceleration.

    Also, by keeping everything in software, it's easier to do per pixel manipulations without the performance hit of readback as I'd have if using a 3D api, and I rely a lot on those types of things for the procedural generation of things in the games I'm doing.

    So it's probably not the right choice for everyone, but for me it is exactly what I need, and a hardware accelerated renderer wouldn't have cut it for me. It just wouldn't have been flexible enough, and not simple enough either... :-)

    Oh, and as for the business sense part, I wasn't making games as a business when I first wrote the lib, I was doing it for some oldschool demo stuff www.mattiasgustavsson.com/pixie...

    /Mattias
    "The Strangler" - My recent point-and-click adventure
    www.mattiasgustavsson.com - My blog on games and game development
    www.pixieuniversity.com - My Software 2D Game Engine

  7. #7
    Senior Member
    Join Date
    Apr 2005
    Location
    Bucharest - Romania
    Posts
    126

    Default

    I had a short look over your source code, and I have to say it looks very nice and clean.
    You did a great job with the engine!

    As for the software-hardware debate, don't worry too much. It's more important to have it well structured, and easy to port on various platforms, or future os versions. And if it's about a simple 2D game, there's nothing that a software engine can't do.

    By the way, I also use the STSound library made by Arnaud Carré, in my DizzyAGE engine. In fact, I was well surprised to see he credited me in the version update file, for fixing some bugs

    Keep the good work!
    Alex

  8. #8

    Default

    Thanks for the article, it was very informative and interesting.

    Geoff

  9. #9
    Senior Member
    Join Date
    Aug 2005
    Location
    Royal Leamington Spa, UK
    Posts
    652

    Default

    Quote Originally Posted by xelanoimis View Post
    And if it's about a simple 2D game, there's nothing that a software engine can't do.
    True :-) And I'd argue that a lot of things gets easier to do as well, when not having to wrestle the HW api
    "The Strangler" - My recent point-and-click adventure
    www.mattiasgustavsson.com - My blog on games and game development
    www.pixieuniversity.com - My Software 2D Game Engine

  10. #10
    Senior Member
    Join Date
    Aug 2005
    Location
    Royal Leamington Spa, UK
    Posts
    652

    Default

    I was recently in a 48 hrs rpg-making contest, and used my game engine to make my contribution. I've released the source code to it as well, which I guess can serve as a (quite messy) example of how to use the engine. More info here:

    http://www.colossusentertainment.com...uresofKas.html

    Btw, both the engine and the game source code is public domain (except for the STSound component included in the engine, which is GPL).


    "The Strangler" - My recent point-and-click adventure
    www.mattiasgustavsson.com - My blog on games and game development
    www.pixieuniversity.com - My Software 2D Game Engine

  11. #11
    Senior Member
    Join Date
    Aug 2005
    Location
    Royal Leamington Spa, UK
    Posts
    652

    Default

    Just thought I'd let you know I've put the source code of another example game up for download. I made a simple little game for the Swedish Game Awards Warmup competition (the theme was "vikings and the future").

    Hope it will be useful to someone. It is released to the public domain as usual.

    Source code (including engine):
    http://www.colossusentertainment.com...source_1_5.zip

    Game:
    http://www.colossusentertainment.com...Viking_1_5.zip

    Screenshots:
    "The Strangler" - My recent point-and-click adventure
    www.mattiasgustavsson.com - My blog on games and game development
    www.pixieuniversity.com - My Software 2D Game Engine

  12. #12
    Senior Member
    Join Date
    Aug 2005
    Location
    Royal Leamington Spa, UK
    Posts
    652

    Default

    I've put sourcecode for another game using the engine on my website now, but more importantly fixed a few issuses with the rendering part of the engine, so framerate should be improved :-)
    "The Strangler" - My recent point-and-click adventure
    www.mattiasgustavsson.com - My blog on games and game development
    www.pixieuniversity.com - My Software 2D Game Engine

  13. #13
    Member
    Join Date
    Oct 2006
    Location
    Finland
    Posts
    68

    Smile

    Nice art!
    Best Regards,
    Arto Ruotsalainen
    My Website - My Game

  14. #14
    Senior Member
    Join Date
    Aug 2005
    Location
    Royal Leamington Spa, UK
    Posts
    652

    Default

    Thanks, glad you like it. It's all done in Poser though, so I can't take too much credit for it
    "The Strangler" - My recent point-and-click adventure
    www.mattiasgustavsson.com - My blog on games and game development
    www.pixieuniversity.com - My Software 2D Game Engine

  15. #15
    Senior Member
    Join Date
    Aug 2005
    Location
    Royal Leamington Spa, UK
    Posts
    652

    Default

    I've done a major update to the Pixie engine recently so I thought I'd post an update here rather than create a new thread for it. I've fixed a lot of little issues with the engine, and generally cleaned it up a bit, so I'd say it's rather usable now.

    More interestingly, I've written two tutorials for the engine, one "hello world" tutorial, and one which displays a bouncing ball

    It's public domain btw, so no weird license restrictions

    And there's some online documentation now as well.
    "The Strangler" - My recent point-and-click adventure
    www.mattiasgustavsson.com - My blog on games and game development
    www.pixieuniversity.com - My Software 2D Game Engine

  16. #16
    Senior Member
    Join Date
    Aug 2005
    Location
    Royal Leamington Spa, UK
    Posts
    652

    Default

    Just thought I'd update this with some recent info.

    There's two more games released using the Pixie game engine:

    Parachute!


    Lowriderz

    And just like all my stuff, the source code for both games are placed in the public domain, so if you think you can use it for anything, go right ahead. Can be downloaded from here:
    http://www.colossusentertainment.com...GameEngine.php
    "The Strangler" - My recent point-and-click adventure
    www.mattiasgustavsson.com - My blog on games and game development
    www.pixieuniversity.com - My Software 2D Game Engine

  17. #17
    Senior Member
    Join Date
    Aug 2005
    Location
    Royal Leamington Spa, UK
    Posts
    652

    Default

    Just wanted to do a quick update on this:

    All the stuff to do with the Pixie engine is now to be found in the new developers section here:
    http://www.tophatarcade.com/dev/pixie/
    "The Strangler" - My recent point-and-click adventure
    www.mattiasgustavsson.com - My blog on games and game development
    www.pixieuniversity.com - My Software 2D Game Engine

+ Reply to Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts