Game Development with QML - chall3ng3r
Upcoming SlideShare
Loading in...5

Game Development with QML - chall3ng3r



Game Development with QML...

Game Development with QML

The slide deck from my talk at Nokia Developers Workshop (28029 Feb 2012) in Islamabad-PK.

You are free to download and modify this presentation howerver, if you are going to use this PowerPoint presentation, kindly mention me as the original author of the presentation.



Total Views
Views on SlideShare
Embed Views



8 Embeds 1,817 1719 40 34 8 6 5 3 2



Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

Game Development with QML - chall3ng3r Game Development with QML - chall3ng3r Presentation Transcript

  • Game Development withQML for Nokia DevicesBy Faisal Iqbal – Mobile Specialist
  • About Me Faisal Iqbal a.k.a. chall3ng3r Adobe Flash, MS .Net, Nokia Qt 10+ Years Professional Experience 6+ Years with Mobile Technologies Nokia Developer Champion for 5 Years Won Local and International Mobile Dev. Contests
  • Highway Racer on Nokia Store View slide
  • Some Achievements Highway Racer  Developed in 1 Month - Graphics + Game Engine  Aug 2011 – Released on Nokia Store (previously Ovi)  September 2011 Won Nokia & P@SHA MakeMyApp Challenge 2011  Feb 2011 – Over 280,000 Downloads!!! View slide
  • AgendaWorkshop  Introduction to QMLDay 1  Games Development with QML  -- Lunch Break  QML Plugins for Game Development  -- Tea Break  Lets Make a Ping Pong Game
  • Introduction to QML- Qt and Qt Quick Platform Overview- Future of Qt Quick
  • Qt and Qt Quick PlatformOverview Qt - Released publicly in 1995 by Trolltech Popular on Embedded platforms & Linux (KDE) 2010 - Nokia Qt SDK v1.0 was released (Qt 4.6) Qt Quick runs QML, introduced with Qt 4.7 - 2011 QML = Qt Meta Language / Qt Modeling
  • Qt Quick - QML JavaScript import QtQuick 1.0 CSS Rectangle { GUI Layer for Qt Apps id: canvas width: 200 Animations and Transitions height: 200 color: "blue" Fluid UI Performance Image { (60FPS) id: logo source: "pics/logo.png“ Media APIs anchors.centerIn: parent x: canvas.height / 5 Qt Mobility APIs } } Qt C++ Plugins
  • Future of Qt Quick More Platforms like QNX, Android, iOS and maybe WP ;) Qt5 (summer 2012)  Powerful and high-performing C++ API QML as the best way to create rich interfaces Qt Quick 2 in Qt5 QML is our bet in "the next step in GUI programming" Should apply for most use-cases Qt Quick 2 uses the Google V8 Javascript Engine  Superfast JS support  Architectures: x86, x86-64, ARM
  • Future of Qt Quick – Continued… Qt Quick 3D QML bindings for Qt3D Access to OpenGL and 3D graphics hardware QML Item3D elements live in 3D space  OpenGL, 3D hardware, and C++ convert this to 2D on screen Desktop support will continue to exist  Qt Quick components for Desktop are ready Qt Webkit in Qt5  Webkit 2 architecture
  • Game Development with QML- QML User Interface Elements- Graphics Performance- Transitions & States
  • QML User Interface Elements Basic UI Elements Containers or Layout Managers Views or Pages Lets see in action…
  • QML User Interface Elements –Cont. Qt Quick Components More Components Streamline Presentation on Meego and Symbian Lets see in
  • Graphics Performance Smooth & Fluid vs J2ME vs Flash Lite vs HTML5 Apps Lets see in action…
  • Transitions and States Built-in Easy Customizable Lets make some…
  • QML Plugins for Game Development- Box2D QML Plugin - Basics- Sound Engine
  • Box2D QML Plugin - Basics What is Box2D  Why Use Box2D Basic Concepts  Examples  World  Angry Birds  Bodies  Moto Trial Racer  Joints  Flying Bus – (No Lets play… Box2D)
  • Sound Engine Qt Game Enabler Lets play…
  • Lets Make a Ping Pong Game!- Sketching Storyboard- Defining and Locking Features
  • Features & Sketching Storyboard Pencil and Paper  Splash Screen Write Everything  Main Menu Lets Draw…  Level 1  Pause Menu  Level End
  • Lets Talk – Q&AContact Me: Web: Email: Twitter/FB/Skype: chall3ng3r
  • Go home, but remember to come back tomorrow!
  • AgendaWorkshop  Coding Ping Pong GameDay 2  Adding Finishing Touches  -- Lunch Break  Preparing for Publishing  -- Tea Break  Advance QML Tips & Tricks  Closing Notes by P@SHA and Telenor
  • Coding Ping Pong Game- Setting Up Qt Creator Project- Box2D World and Bodies- Game Logic
  • Setting Up The Environment New Qt Creator Project Box2D Libraries and Plugin Game GUI Game Logic
  • Adding Finishing Touches- Sound Effects and Music
  • Sound Effects and Music Qt GameEnabler Online Sound Libraries 
  • Preparing for Publishing- Developer Signing and On-Device Testing- Icons and Packaging
  • Developer Signing Visit: Request UIDs from Nokia Publisher Team Install CODA and PerfMon on Device Sign and Test On Device
  • Icons and Packaging PNG and SVG-Tiny SIS for Symbian OS DEB for Meego OS
  • Advance QML Tips & Tricks- Content Protection- OpenGL GPU Acceleration- Nokia Remote Device Access
  • Tips & Tricks Content Protection  Decompress SIS  Embed Code OpenGL Acceleration Nokia Remote Device Access
  • We Made It – Thank YouContact Me: Web: Email: Twitter/FB/Skype: chall3ng3r