Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Game Development
  4. Improved support for writing games using Qt

Improved support for writing games using Qt

Scheduled Pinned Locked Moved Game Development
23 Posts 13 Posters 16.2k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • A Offline
    A Offline
    aalpert
    wrote on last edited by
    #4

    The question that comes to my mind is, what do you want from 'improved game writing support' inside of Qt?

    Most of the missing stuff would probably be better solved using Qt-compatible frameworks alongside Qt. On the graphics side, Qt provides a 2D graphics framework, and for 3D graphics right now you can use OGRE (which I've heard works well with Qt).

    Other parts, like Physics and AI, probably also work better as their own separate engines that you plug in. I would love to see a plugin module (or similar) for Qt that adds efficient and basic physics to QGraphicsObjects, so that you can easily do collision detection in a 2D canvas based game. With some QML bindings on it, I could finally finish my breakout game.

    1 Reply Last reply
    0
    • C Offline
      C Offline
      chakie
      wrote on last edited by
      #5

      Well, as Qt will be the only real software platform for all Nokia devices it also means that games are written using Qt. On the Apple side it seems that games tend use a minimal amount of "their Qt" to set up the game and the run it all using OpenGL ES as everything else is too slow. It would be nice if Qt offered more instead of just becoming a framework that sets up an ES context only. The same holds for desktop gaming too, Qt could offer more than just a fullscreen QGLWidget.

      From my personaly point of view I think QGraphicsView (along with some QML thrown in) is the API I'd like to use for 2D games if it's fast enough. For 3D, I don't think it's worth the effort to reinvent the wheel and make another Ogre or OpenSceneGraph clone. Perhaps work with those developers and provide easy integration with Qt, docs and examples. For mobile use something slightly stripped down and slimmed from useless features and geared towards ES.

      1 Reply Last reply
      0
      • P Offline
        P Offline
        Palmik
        wrote on last edited by
        #6

        I agree with chakie on this one. I like QGraphicsView, Bullet, Ogre and Box2D and apart from some weird naming conventions and API decisions in Box2D and Ogre, I think they are really cute :)

        So I'm all for integration rather than reinventing the wheel.

        1 Reply Last reply
        0
        • K Offline
          K Offline
          kleimola
          wrote on last edited by
          #7

          Integration with existing libraries is very desirable, but I believe that QGraphicsView has the potential to serve as a sole platform for many canvas games as well. Basically it has the same (and more) functionality as JavaME in this respect with the added performance boost of being closer to native. Even though Qt3's sprite and tilescene support were removed, replacement classes can easily be built and better optimized for the specific purpose. Still I'd like to see some thoughts given to game developing needs when designing future Qt API and possible bindings to other libraries. Maybe finer control of the painting event and behindthescene painting. Also I'd like to have the ability to address specific pixels in QPixmap without the need to convert it to a QImage since QPixmap usually is drawn faster on most platforms.

          >> Johannes <<

          1 Reply Last reply
          0
          • I Offline
            I Offline
            IrQX
            wrote on last edited by
            #8

            Integration with some other library is a good idea, but not all. Yes, QGraphicsView has good potential. But, first of all, I think Qt/Nokia team must focus on widening QGraphicsView functionality. For example, there are still no functionality to change screen resolution. Some game developers should using 3rd-party libraries (SDL). There are no surround audio, I think, and that developers using OpenAL.

            Qt must get all advantages of that libraries and used it well for game development.

            1 Reply Last reply
            0
            • T Offline
              T Offline
              troubalex
              wrote on last edited by
              #9

              Has anyone thought about filing a wishlist bug if there is some common agreement on the topic?

              THE CAKE IS A LIE
              Web Community Manager - Qt Development Frameworks

              1 Reply Last reply
              0
              • perimP Offline
                perimP Offline
                perim
                wrote on last edited by
                #10

                The most basic thing that people seem to agree is missing is the ability to change screen resolution. It has been suggested at least twice before in the bug tracker and each time been closed: "http://bugreports.qt.nokia.com/browse/QTBUG-3049":http://bugreports.qt.nokia.com/browse/QTBUG-3049 and "http://bugreports.qt.nokia.com/browse/QTBUG-95":http://bugreports.qt.nokia.com/browse/QTBUG-95 Should I open another one?

                As for 3D audio, as was mentioned above, it would be nice with a platform independent way to initialize an OpenAL context through Qt. It is already supposed to be cross-platform, but each platform/driver combination appears to have its own unique series of OpenAL bugs and quirks.

                1 Reply Last reply
                0
                • K Offline
                  K Offline
                  kleimola
                  wrote on last edited by
                  #11

                  Maybe we should start a wiki page about wished features for game development purposes. And maybe divide it to integration/bindings to other libraries and native implementation requests.

                  >> Johannes <<

                  1 Reply Last reply
                  0
                  • D Offline
                    D Offline
                    dragor
                    wrote on last edited by
                    #12

                    I've been using Qt to create my game engine for years now. There are definitely features missing that I would love. Fullscreen support is a big one. One of those bugs linked above was due to a request I made. It seems like it won't be done. I've had to do fullscreen support myself on Linux/mac/windows. It's possible to go around Qt to do it, but it's very annoying. About 95% of the time I spent doing the mac port of my engine was working on the fullscreen mode.

                    Another feature would be Joystick/joypad support. I was able to get around that by using SDLs Joystick module. It was written in such a way that Joystick module can be used without touching any other part of SDL. For anyone needing joysticks, use SDL.

                    Another issue I've ran into was support for keymaps. In Qt, there's no way to answer "Is this x pressed or released?". The same goes for the mouse buttons. When I talked to the trolls about this, they said the need for keymaps was not strong enough to add support for it. Afterall, it's a hairy thing to do in a crossplatform way. I was able to add this feature myself that suits 99% of my uses cases. So it is possible to get working.

                    1 Reply Last reply
                    0
                    • perimP Offline
                      perimP Offline
                      perim
                      wrote on last edited by
                      #13

                      Would you be interested in sharing some of that lower level portability-related code? It might be an idea that those of us interested in writing (or porting) Qt-based games could cooperate on a low-level Qt game library to work around some of Qt's shortcomings in this area.

                      1 Reply Last reply
                      0
                      • D Offline
                        D Offline
                        dragor
                        wrote on last edited by
                        #14

                        Absolutely perim. I plan on GPLing the code once I get around to it. There's too much on my plate right now though.

                        1 Reply Last reply
                        0
                        • T Offline
                          T Offline
                          Taamalus
                          wrote on last edited by
                          #15

                          I'm not sure if I understand the concept of the thread here, but for the first week using QT Creator, I've got more than enough to make games. I imported three different game engines and rendering tools. My focus are AI routines and character development. For that, the IDE has to be able to simulate the game during debugging, and so far it works, better than I thought, since we are dealing with GDB.

                          Where ever QT want to go, I hope they keep up the good work and stay flexible in being cross platform and enhance the debugger further. A fly-out window would be nice to have, so I can compare logs quicker. We've got many game makers (engines). You can pick one up for $0 to $100k, or more, and none have a debugging device, they must think all programmers are perfect. A good debugger, that gives intelligent data about threads, stacks, pointers, variables, function call backs and what not, well, how many are available? - Just my opinion, if of topic ignore or delete. Thanks :D

                          ... time waits for no one. - Henry

                          1 Reply Last reply
                          0
                          • K Offline
                            K Offline
                            kleimola
                            wrote on last edited by
                            #16

                            Well said, thank you. Did you import open source libraries and tools or proprietary? Can you name some good ones you have been using?

                            >> Johannes <<

                            1 Reply Last reply
                            0
                            • T Offline
                              T Offline
                              Taamalus
                              wrote on last edited by
                              #17

                              Hello Johannes!
                              There are a lot of engines around. All I can do is state how I selected mine. Make a list of the essential features you need, and Google with those key words. The result for me was Irrlicht, Ogre and Misfit 3D. Those could be completely useless for other people, but is exactly what I need right now.

                              If you're serious about making a game and got a team, my pick is then the Havok sets of tools. Halo is good sample game, on what the SDK can do. This is very much proprietary, but compared to my neighbour's hobbies still a bargain, and I can play it year around. :D

                              ... time waits for no one. - Henry

                              1 Reply Last reply
                              0
                              • M Offline
                                M Offline
                                marsupial
                                wrote on last edited by
                                #18

                                Hi,

                                I have good experiences combining Qt with other libraries as well.
                                Right now I'm working on a project involving Qt and Irrlicht and, although it took some time to get everything right and good-looking, it works.

                                As far as i know there also have been projects combining Qt and Ogre, but I have no experience with that.

                                Nevertheless I think for mobile platforms it probably isn't that easy. So here might be potential for extending Qt.

                                1 Reply Last reply
                                0
                                • T Offline
                                  T Offline
                                  Taamalus
                                  wrote on last edited by
                                  #19

                                  Ah, another Irrlicht user! Great! :D Speaking of Ogre – it does have support for iPhone build in. And you can use Ogre with Irrlicht by incorporating their classes into it. Topped with a superior IDE like QT Creator, the sky is the limit. I can't get over it how good this IDE turns out to be. - I have not touched the QT mobile set, yet, judging by how they made the main IDE, it's probably flexible enough to make a simple port into it, but if they have room to make more simple, why not? :)

                                  ... time waits for no one. - Henry

                                  1 Reply Last reply
                                  0
                                  • E Offline
                                    E Offline
                                    evelynz8735
                                    wrote on last edited by
                                    #20

                                    (deleted, mariusg)

                                    1 Reply Last reply
                                    0
                                    • K Offline
                                      K Offline
                                      kamalakshantv
                                      wrote on last edited by
                                      #21

                                      [quote author="evelynz8735" date="1289466057"]
                                      [quote author="Johannes Kleimola" date="1277375306"]Andreas wrote a nice "blog(blog)":http://labs.trolltech.com/blogs/2009/09/16/improved-support-for-writing-games-using-qt/ with the above topic and triggered a lot of comments and ideas from people. I wonder if that discussion is still pounding in the back heads of trolls or if it was silently buried to deepest of dungeons?[/quote]

                                      Thanks you for the post.
                                      Hi guys, Im a newbie. Nice to join this forum.


                                      [/quote]

                                      Seems to be a spam - why would someone link to watch movies online here?

                                      1 Reply Last reply
                                      0
                                      • T Offline
                                        T Offline
                                        Taamalus
                                        wrote on last edited by
                                        #22

                                        Simply ignore spam, and better not quote the actual post, thus the moderators can make a clean sweap when they've got a moment.

                                        Anyway, back to the topic, I just made a remake of Tetris on my very own phone. All I can say, thank you Nokia! :D Now back to learning the controls, it's different than a Joystick :D but it is exciting!

                                        ... time waits for no one. - Henry

                                        1 Reply Last reply
                                        0
                                        • C Offline
                                          C Offline
                                          chakie
                                          wrote on last edited by
                                          #23

                                          Another thing that is nice for games is some way to play sound effects, such as short wav files. Low latency, easy to use is key here.

                                          Support for spritesheets (aka. texture atlases) would also be nice to speed up loading lots of sprites.

                                          1 Reply Last reply
                                          0

                                          • Login

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Users
                                          • Groups
                                          • Search
                                          • Get Qt Extensions
                                          • Unsolved