Game Dev Help



  • Hello guys,

    I know C++. I want to make a game with Qt. Should i leard QML? Where do i start to leard Game Dev with Qt ? I am looking tutorials and i show that there are more various tutorials.


  • Moderators

    All depends on what do you want to do, specifically. I would say it's definitely a good idea to learn QML, it's flexible, easy and powerful. In your case, you can try making one or 2 test apps just to get a hand of it and evaluate it's usefulness for your use case.



  • Hey kingsta,

    Hey there I am student in pretty much the same position, exploring the same possibilities as you.
    From my research on the topic, QML does enhance the speed of developing any UI considerably.
    There is a game engine called vplay which is a high level tool or library that you can integrate with the standard qt sdk which would help the development process in many ways.
    It has many features already there for you to use to develop a game.
    But you would then have to learn qml which would take a little time.
    Its similar to javascript and looks like css a bit and it is a little easier then c++ so no worries there. But it would take some time to learn. You mix the two QML and c++
    So you can still leverage your c++ skills
    QML and qt quick from what I have read, is used for the mobile platform mostly. So if you developing a game for nokia phones and any other supported mobile device then QML seems like the right way to go.
    Any way I am attempting to learn it so I am downloading the latest Qt sdk release as we speak. So I can start playing around with it.
    Then I am going to get vplay which is third party library for developing games.
    You can use it to develop for many different platforms not only symbian.

    I hope my info is a hundred percent. I sometimes get confused when when speaking about "platforms" and "SDK's" and sometimes use the wrong words or use the words out of context. So I hope I was of help.

    Hey maybe we can help each other long.
    Developing games or good games seems to be one of the harder programming tasks that one can try and accomplish.

    Good luck,



  • Hi kingsta,
    it is indeed like sierdzio noted: it depends what kind of game you want to make (very simple, physics-based, 2D or 3D, which features required), and which platforms you want to target, especially if it is mobile or desktop.

    In terms of learning QML - I would absolutely recommend it, as you are much faster to develop, it is easy to learn (well, if you already know C++ everything should be easy to learn ;), and it allows mixing of C++ and QML/JavaScript code very easily.

    Speaking of example games:
    There are 3 demo games (Snake, Minehunt, SameGame) that come with the Qt SDK in the demos folder, online available here: http://doc.qt.digia.com/qt/qdeclarativeexamples.html

    You can also have a look at the demo games that come with our engine (a tower-defense game, doodle-jump like game, racing game, and a physics-based action game) and are available open-source as part of the V-Play SDK and online available "here":http://doc.v-play.net/beta/vplay-examples.html.

    I would try to start with a very simple game like Pong and move on from there. We are actually just working on a step-by-step-tutorial how to make a simple game, in addition to the Physics-Game Getting Started guide we already have "online":http://doc.v-play.net/beta/vplay-entity-concept.html.

    If you, or Mohammed need any further help or assistance, let us know how we can help you.

    Cheers,
    Chris



  • Absolutely you have helped me guys. I am so glad. I havent looked the topic for a long time. I had some hard midterm exams. You know. I am sorry about that.

    My opinion is desktop and mobile platforms (Andoid or IOS). I should learn QML as you say. I looked some QML examples, yes its simple :) I like QML. I think Vplay Engine can help me to develop game.

    I wonder something. Is it good to develop application with QML on desktop and mobile platforms?



  • It really depends on the kind of application you are creating:
    If it has a custom GUI, like games for example do, then it works perfectly fine on desktop as well. So you would have your own buttons, sliders and not the "native-looking" ones from the operating system.

    However, if you want to create a native-looking desktop application with lots of OS-specific elements like buttons, sliders, checkboxes, menu bar, etc., then you are better off at the moment using QWidget. Digia puts a lot of effort into desktop components for QML, which would then allow you to use QML also on the desktop to create native-looking applications. However, for the best user experience you can't/shouldn't use the same UI on the desktop like on mobile devices. Instead, you would need to design 2 different UIs (which is also easy with QML, as you can load different qml files depending on the platform your application is running on).



  • [quote author="feldifux" date="1353577634"]It really depends on the kind of application you are creating:
    If it has a custom GUI, like games for example do, then it works perfectly fine on desktop as well. So you would have your own buttons, sliders and not the "native-looking" ones from the operating system.

    However, if you want to create a native-looking desktop application with lots of OS-specific elements like buttons, sliders, checkboxes, menu bar, etc., then you are better off at the moment using QWidget. Digia puts a lot of effort into desktop components for QML, which would then allow you to use QML also on the desktop to create native-looking applications. However, for the best user experience you can't/shouldn't use the same UI on the desktop like on mobile devices. Instead, you would need to design 2 different UIs (which is also easy with QML, as you can load different qml files depending on the platform your application is running on).[/quote]

    Thank you. So i need to know QML and Qwidget. I am starting that :)


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.