V-Play Engine Documentation

V-Play Gaming Components provide a specialized set of QML components for building 2D games on top of Qt 5 for multiple platforms, with the same source code. They are part of the V-Play SDK.

Supported Platforms

Mobile iOS Version 6.0 and above / iPhone 3GS, iPad, iPod touch 3rd Gen or newer (armv7, armv7s and arm64 architectures) and Simulators
Android Version 4.1 ("Jelly Bean") and above (armv7a and x86 architectures)
Phone / RT Devices running Windows RT 8.1 and Windows Phone 8.1 or later
Desktop Mac OSX 64-bit Apple Mac OS X 10.6 or later
Windows 32- or 64-bit Microsoft Windows 7 or later
Linux 64-bit Linux Ubuntu 14.04 or later, OpenSuse 13.1
Embedded Raspberry Pi and iMX6 (contact us for more information about these platforms)

QML Introduction

QML stands for "Qt Markup Language" and is a declarative language designed to describe the user interface of a program: both what it looks like, and how it behaves. In QML, a user interface is specified as a tree of objects with properties. This tree is also often referred to as Scene Graph, because when the parent item moves all children will follow. JavaScript is used as a scripting language in QML. In this section we will cover the basics of QML and its advantages by an example.

As code speaks more than 1000 words, here is a QML example implementing the following:

  • Displays a white background Rectangle with 800x600 px
  • Adds a grey button element which changes the color from grey to blue while pressed
  • The button is draggable
  • The button tracks the number of presses and displays it in its text element
  • The button gets invisible after it got pressed 10 times.

How many lines of code would it take you to develop this application with the same functionality in another programming language? With QML, it is just 30 lines, excluding the comments and empty lines:

 import QtQuick 2.0 // for accessing all QML elements like Rectangle, Text or MouseArea
 import VPlay 2.0 // for accessing all V-Play elements like GameWindow

 GameWindow {

   Rectangle {
     // background rectangle filling whole screen with black color
     color: "#000000" // black color, open up color picker with Ctrl+Alt+Space
     anchors.fill: parent // make as big as parent GameWindow

   Scene {

     Rectangle {
       id: button
       color: mouseArea.pressed ? "blue" : "lightgrey" // make the button blue when pressed
       x: 100
       y: 50
       width: 100
       height: 40
       visible: pressCount < 10 // after the button being pressed more than 10 times, it gets invisible

       property int pressCount: 0 // initialize with 0, increase in onPressed

       Text {
         text: "Pressed " + button.pressCount + " times" // this will automatically update when pressCount changes
         color: "black"
         anchors.centerIn: parent

       MouseArea {
         id: mouseArea
         anchors.fill: parent // make the touchable area as big as the button
         drag.target: button // this forwards the dragging to the button

         onPressed: {
             button.pressCount++ // increase pressCount property by 1 each time the button is pressed
   }// Scene
 }// GameWindow

V-Play Sample Launcher Application

The V-Play Sample Launcher allows you to quickly test and run all the open-source examples and demo games available with the V-Play SDK, from a single desktop application.

V-Play Benefits for Qt 5 Developers

V-Play, a Qt Technology Partner of Digia, enhances the Qt 5 framework with many components and its gaming API used in hundreds of games.

Existing Qt 5 games can benefit from this gaming API and V-Play plugins, because they work as an extension of the Qt framework and work together with existing projects. As a Qt developer, you get the following benefits by using V-Play:

And of course as part of V-Play you can use leading Qt plugins that enable you to:

Voted #1 for:

  • Easiest to learn
  • Most time saving
  • Best support

Develop Cross-Platform Apps and Games 50% Faster!

  • Voted the best supported, most time-saving and easiest to learn cross-platform development tool
  • Based on the Qt framework, with native performance and appearance on all platforms including iOS and Android
  • Offers a variety of plugins to monetize, analyze and engage users
create apps
create games
cross platform
native performance
3rd party services
game network
level editor
easiest to learn
biggest time saving
best support