Advertisement

A newbie's decision: Qt?

Started by July 31, 2017 03:59 AM
3 comments, last by JScars 7 years, 4 months ago

Hi everyone, as the most people here my ever wish is working with videogames.
I learnt C and C++ from books like C and C++ HTP  By Deitel&Deitel and C++ Primer By Stanley B. and i think that i'm ready to continue and use a graphic library.
I was investigating, and i found some like SDL, Allego, GTK, and SFML... But for some reason, the one that capts my attention is Qt (maybe is for the good documentation)...
What do you think about it?
Am I wrong?
Is Qt bad for making games?

 

P.D: Sorry my English. Any recommendation is welcome.

Qt has outstanding documentation, and as such you can't go much wrong there :)

You should check the license conditions for using that software (or any other software you use, really), if you go closed source, you have to pay some money iirc, but check the conditions.

Qt is basically a cross-platform library for making general purpose desktop/mobile applications, ie it aims for much more than just graphics. Read the overview to see what it all provides. Whether that is useful to you is another matter though, you are free to use only the parts you want to use.

 

If you want to support several platforms, be sure to check whether Qt supports all those platforms (likely not a problem, but better check that before you find it won't work for your finished game).

 

Gtk is much smaller than Qt I think, as it aims to address the Gui part only for applications. That means other parts (like sound, etc) that you need must be pulled from somewhere else (for all platforms that you want to support). Allegro, SDL2 (not SDL1 !), and SFML focus much more on graphics only, they don't have widgets or canvas-es (don't know exactly about Allegro), just a rectangle to paint images into, with sound and input and other things you usually need. For games, this is often enough, as many games only show (animated) images. GLFW3 is even smaller. It just does a window, and interfaces to the GPU, giving you full access to it. That opens the full power of OpenGL, useful if you want to do 3D things.

At the other end of the spectrum there are full blown game engines that you can use Unreal Engine for C++, and Unity for C# / Mono. These things are designed to make programming games easier. I never looked into these so far.

 

I don't think there is a universal "good" or "bad". Any of these library can do the job, except each option is better at some kinds of jobs, and worse at others. That means your choice depends on what kind of game you want to make and what you want to learn. For simple 2D games, something like SDL / SFML would be fine, Qt will work too.

For making 3D games, I'd suggest using a game engine.

If you want to learn how things work (ie make games as a useful side-effect but not the primary goal), less library functionality is better, so you'd end up with SDL for 2D, and GLFW3 for 3D.

Advertisement

Short answer: yes, Qt is fine for making games.  Understand the license terms before you start.

Stephen M. Webb
Professional Free Software Developer

Ok i will keep working with Qt.
I like challenges and i like the idea that i can create both: games, and GUI programs with a unique library.
I'm not intended of making a profitable game by now.
Thanks for the answers!

This topic is closed to new replies.

Advertisement