[Qt-qml] Game Development with QML

29 views
Skip to first unread message

Adriano Rezende

unread,
Jan 13, 2012, 11:42:45 AM1/13/12
to qt-...@qt.nokia.com
Hi,

I've pushed to gitorious a small library called Expresso
(http://gitorious.org/expresso/expresso). It's purpose is to ease the
development of simple games like the Incredible Circus
(http://store.ovi.com/content/214283), Angry Birds and others using
pure QML. It can be used in conjunction with QmlBox2D
(https://gitorious.org/qml-box2d).

The library currently provides the following components:

SpriteScene: A component that handle all sprites steps (it supports
step synchronization with other libraries like QmlBox2D)
Sprite/SpriteState: A component to handle frames and sprite states in
a step-oriented way (all sprites can be paused/resumed in sync)
PixmapText: A component to draw stylized texts, mapping chars to a
given position in a tiled image.
ParticleSystem: A simple step-oriented particle component.
ImageLoader: A dynamic image provider that is meant to be used to load
images async during loading time (basically during splash screens).
PcmSound : A low latency API to play wav files (PCM format). I know
that Qt-Mobility already provides a sound effect component that is
meant to handle that, but it's not ready for games yet due the latency
and some bugs (tested on N8 and N9). Currently, there is just a pulse
backend but others can be easily added.
RawConnection: It basically creates a C++ connection in order to avoid
binding evaluations in the QML side (it can be used for example to
sync QmlBox2D and SpriteScene steps)
Settings: This component is a copy of the Settings component present
in qt-component-desktop. It's useful to store simple information like
sound volume, mute states, etc.

I've also pushed to gitorious a simple game that uses the Expresso lib
and the QmlBox2D lib. It's called PathWind
(https://gitorious.org/pathwind) and it's already available on N9
(http://vimeo.com/34313916).


Todo/Issues:

- QmlBox2D needs to support on-the-fly fixture changes for the Body
component (the fixture list just supports append operations).
- The PcmSound needs some adjustments on N9. It's not handling device
policy yet.
- QmlBox2D should provide a constant-velocity/constant-force
properties in order to avoid re-setting the velocity per step in the
QML side (performance penalty).


Br,
Adriano
_______________________________________________
Qt-qml mailing list
Qt-...@qt.nokia.com
http://lists.qt.nokia.com/mailman/listinfo/qt-qml

Reply all
Reply to author
Forward
0 new messages