For some time now i’ve been working with mobile devices and Qt. Qt is a
great library, but as a game developer I’ve found it difficult that it
lacks a “true” OpenGL ES 2.0 support: Current versions offer only an
encapsulated version “QtOpenGL” of it. QtOpenGL is used via “QGLWidget”
which is a Qt’s UI-component enabling OpenGL graphics inside it.
The encapsulation and modified syntax wouldn’t be a problem if you
could be sure you are always working only with Qt, but nowadays it’s
important to maintain as much portability as possible. Also, when
software needs to be ported from other platforms to Symbian\^3 (or other
systems supported by Qt), this can be a very difficult issue.
We’ve been developing a “replacement” version of QGLWidget which would
work as much like real QWidget as pobssible, but directly with
underlying native GLES2. This way the developer could use native GLES2
just like in most other platforms and still take advantage of Qt’s great
We hope our work would help the developers exactly with the issues above
and make devices supported by Qt more attractive especially to game
In this shot you can see a game I’ve been developing within our
replacement widget (GE::GameWindow). I’ve tried to keep it as simple as
possible and still use as much different techniques as possible.
- Heavily simplified “Scorched earth”/Worms clone where you try to push
your opponent down from randomly generated hill by shooting him.
- Everything is rendered with OpenGL ES 2.0
- Windows support (for easy debugging and fast development) is
available with PowerVR’s GLES2 emulation libraries.
- Landscape texture is generated from a set of base textures with
shaders at run-time. (you can see it modifying when ammunitions “burn”
- Multilayer sky/ground system.
- Several background layers for creating more complex feeling for the
- Particlesystem with fixed-points and nicely customizable type system.
Each type can have its own program for rendering.
Our project page at
contains all of the sources and pre-built binaries for Symbian\^3,
Maemo and Windows. What do you think?
Please log in or register to post a reply.
I used Qt a bit and while it is not all that bad, like you I ended up
“tweaking” it to make it better. I was more into the 2D side of things
as my cheap Nokia doesn’t support 3D. Aside from modifying some standard
C headers to get vsprintf support, I didn’t have much of an issue
porting my own framework over to Symbian. Then again, I only used Qt for
UI and nothing else.
It looks like you put in fair bit of work to build your module around
Qt. Have you released your game to the Ovi Store? Is the framework being
used for other projects right now? Since my phone doesn’t support 3D, I
don’t really know what sort of 3D games are there for Symbian.
Also, have you heard that Nokia is now partnered with Microsoft to
release WP7 devices? While I’ve heard some vocal Symbian devs scoff at
it, I often wonder if Symbian’s future is up in the air right now.
Thanks for your reply TheNut,
We haven’t released the game at Ovi store and I don’t know are we going
to. Maybe at some point. The whole game is aimed as an example only. We
have no other intrest about it..
projects using the platform as well but they are currently at
private-state: One of them is our old match-3 puzzle ISmiley, which is
going to be used as an example port to Symbian platform with some theme
We’ve also planned to port couple of larger projects. Just to show how
simple it can be..Its not so easy to find OpenSource IPhone stuff, but I
will notfify DevMaster as soon as we get something out.
I know about the WP7 issue. It will definately affect on Symbian’s
future.. We have been discussing about some possibilities to make at
least some kind of porting possible in near future, but those all are
still just plans. Let see what happens.
But for now: OpenGL/C/C++ developement is still “de facto” for all
other high-end mobile devices… Our framework just enables developers
to port stuff easily to Symbian if they want. Even though Symbian’s
future is unknown, there are still huge amount of devices running it.
Developers might have intrest for getting their already existing games
to run on those devices with small effort,..