Register with Forum Nokia now and you'll enjoy the full benefits of the Forum Nokia membership.
Register LoginInnovation Series Videos highlighting Forum Nokia developers
Nokia releases new Qt developer offerings
Forum Nokia Developer Conference, India
Optimise your website for mobile devices with mobile web templates and layouts
Zoom and Rotate Gestures in FlashLite for touch-enabled devices
Jackson Feijó
Read more about Jackson on the Champions website.
Nokia Developer Days in South Africa
December 01, 2009
Johannesburg, South Africa
Forum Nokia Developer Conference ’09, India
December 07, 2009
Bangalore, India
LeWeb
December 09, 2009
Paris
Web Runtime Coding With Aptana WRT Plug-in
December 09, 2009
9am New York | 2pm London | 4pm Helsinki
Web Runtime Coding With Aptana WRT Plug-in
December 09, 2009
9:30am New Delhi, noon Beijing

Qt: QSolitaire Game Example
This Qt example application is a cross-platform application based on the Qt Graphics View Framework and SVG graphics that runs in different Qt environments. Besides the S60 platform and Windows Vista, the updated example has been modified to support Qt for Maemo on the Nokia N900.

Qt: Noughts and Crosses Game Example
This Qt example application is a Noughts and Crosses game that demonstrates a
cross-platform application with a custom layout using QLayoutManager and style
sheets for buttons. The application supports touch UI and keyboard. It has
been designed to work on the S60 platform, Maemo, and Windows XP. The application has been tested to work on the latest Qt for S60 4.5.2 Tower release and Qt for Maemo on the Nokia N900. Important classes: QPushButton, QLayout.

Qt for S60: QMemoryGame Example
This Qt C++ example application demonstrates how to implement the Qt UI on top of an existing Open C++ engine that was initially developed for the Open C++ Memory Game Example published on Forum Nokia. The example has been tested to work on S60 3rd Edition and 5th Edition devices with Qt for S60 4.5.2 Tower release. It supports both keypad and touch UI. Important classes: QGraphicsPixmapItem, QGraphicsScene, QMainWindow.

S60 5th Edition: Solitaire Game Example
This C++ example application demonstrates a fully touch-optimised application using various touch UI features of S60 5th Edition with direct manipulation. Besides tapping the cards, the user can drag and drop them using a finger or the stylus. The application demonstrates handling pointer events of custom made UI controls. Also, tactile feedback using the Touch Feedback API is received. Double buffering is used to draw on the screen to avoid flickering. By default, the cards are implemented as Scalable Vector Graphics (SVG) icons, but the example also provides an option to draw them using methods of the graphics context class CWindowGc. In the updated version, major drawing optimisation has been done. The example application was developed for S60 5th Edition and touch UI. Important classes: CCoeControl, MTouchFeedback, CFbsBitmap, CWindowGc.

SNAP Mobile: Game Development and Publishing Process
This guide is intended for game developers and publishers who want a high-level overview of the SNAP Mobile development process from the point of designing a mobile connected game to ultimately bringing it to the market. This document guides game developers and publishers through that process so they can see what they need to do and also take advantage of all available SNAP Mobile development resources and support along the way.

Open C++: Memory Game Example
This Open C++ example application demonstrates a simple memory game. The game engine part was written in Open C++ and the UI part was written in Symbian C++. The application supports S60 3rd Edition and S60 5th Edition devices. Keypad and touch UI are supported depending on the device. In the updated version, the UIDs of the help files and the package file have been changed for improved compatibility. Important classes: RTimer, CMdaAudioPlayerUtility, CAknQueryDialog, CAknMessageQueryDialog, CAknRadioButtonSettingPage,
CEikTextListBox, CFbsBitmap, CAknIndicatorContainer, MTouchFeedback.

S60 Platform: Sudoku Game Example
This C++ example demonstrates how to implement a simple custom UI game that handles different layouts and multiple screen resolutions, and supports several input
methods (keyboard and touch UI). Classes: CCoeControl, CFont, AknUtils, CFbsBitmap, CFbsBitGc, CFbsBitmapDevice

Flash Lite Sudokumaster Example
This example application demonstrates how to design a simple Flash Lite Sudoku game, add dynamic layout control for multiple screen resolutions, and use several input methods (key, touch, and key & touch). This application was created using the design principles described in the document Flash Lite UI Design Guide for Keypad and Touch Devices available at Forum Nokia.

Sudokumaster - Designing a Flash Lite Game for Keypad and Touch Devices
This document discusses creating a basic Sudoku game to demonstrate the design and implementation of a Flash Lite application with dynamic layout control for multiple screen resolutions and input methods (key, touch, and key & touch). The Sudoku game design use case introduced in the Design and User Experience Library and the Flash Lite Sudokumaster Example are closely related to this document.

Game Design
The Game design section of the Design and User Experience Library discusses usability and user experience issues that are specific to game design. The section describes usability from the game design point of view and contains game experience-related information, tools, and examples to assist game developers in developing usable games. The section gives guidance on how to sell and deliver a positive game experience and also describes how mobile game heuristics can be used for evaluating mobile games.

SNAP Mobile: Standard Game Requirements
This document contains the technical, usability, and publishing requirements for SNAP Mobile games. These requirements apply to developers who use the SNAP Mobile Client API to create SNAP Mobile games for mobile devices that support the Java™ Platform, Micro Edition (Java ME) technology. This document serves as a standard reference document for SNAP Mobile game compliance testing.

SNAP Mobile: Device and Network Test Instructions
This document gives developers a guide to the SNAP Mobile Device and Network testing tool. The SNAP Mobile Device and Network testing tool is designed to help developers determine the compatibility of certain devices and networks with SNAP Mobile. This document provides instructions for: setting up the testing tool on the device(s) to be tested; conducting the test; and reviewing test results.

SNAP Mobile: Getting Started
This document provides a quick and easy starting point for developers who want to begin working with the SNAP Mobile SDK. It gives an overview of SDK contents and outlines what developers should consider when setting up their development environment.

SNAP Mobile SDK Javadocs
The Javadocs describe the packages, specifying the classes and usage, in the SNAP Mobile API.

SNAP Mobile: Game Compliance Testing Guide
This document provides a detailed explanation of the SNAP Mobile Game Compliance Testing process. It includes a description of the SNAP Mobile Emulation Environment’s functions and features; instructions for setting up the SNAP Mobile Emulation Environment; procedures for conducting various types of tests, including the precompliance test; and, detailed steps for each stage of the process from initial development to final compliance testing.

Application of the Week: Pepsi's Kung Fu Fighting Widget
Working with Pepsi Latin America, Forum Nokia helped to create the Pepsi “Kung Fu Fighting” widget, based on the eponymous 1974 song "Kung Fu Fighting".

RGA: Biowaste Game Example
This C++ application demonstrates how to create a 2D mobile game for S60 devices using Real-Time Graphics and Audio (RGA) APIs.

RGA: Tetromino Game Example
This application demonstrates how to create a game using the S60 Real-Time Graphics and Audio (RGA) API and the Open C API. This application is meant for game developers who are new to Symbian C++ and are planning to port a C or C++ application to the S60 platform. The UI has been implemented using RGA instead of Symbian C++ APIs. The example application is built on the Tetris game engine (grid and block classes) available for download at http://www.newlc.com/An-application-for-Series-60-a.html.
Important classes:
ITextInputObserver, IOneShotTimer, ITimerObserver, BitBlitAlphaMask, IGraphicsContext

SNAP Mobile: Server Administration Guide for Game Developers
This guide provides instructions for configuring the SNAP Mobile Development server environment through the CSR tool. It is intended for game developers who are using the SNAP Mobile SDK to implement rankings and asset management functionality in a multiplayer game.

S60 Platform: 3D Game Engine Example with Sensor Support
This C++ example application demonstrates a simple 3D engine. The engine produces a simple car game where you can drive a car around a wide parking lot. Everything seen on the screen is rendered in 3D. The example utilizes OpenGL ES and the application dynamically scales on all screen sizes of S60 devices.

Flash Lite: Multiplayer Game Example
Using the simple TicTacToe game as a basis, this example covers the practicalities of creating an online multiplayer game, complete with chat, and player challenge capabilities. Using the new socket server capabilities of Flash 2.1, this example, including all source files and a tutorial, should open up some new possibilities for developing online player interaction.

Next Steps in Mobile Rules! Multiplayer Competition; a Business Overview with SNAP Mobile
This webinar contains an overview on developing on the SNAP Mobile platform, and introduction on tools and other resources available as well as the next steps for Mobile Rules! Multiplayer competition.
Best Practices for HW-Accelerated Graphics Optimization
Learn how to use the OpenGL ES API to render 3D graphics in an efficient way in hardware-accelerated Nokia devices based on S60 3rd Edition and 3rd Edition, Feature Pack 1 (for example, Nokia N93, Nokia N93i, Nokia N95, and Nokia E90). Graphics hardware in the accelerated devices is many times faster than a SW-based implementation. However, certain simple principles in the OpenGL ES API usage need to be followed to get the best performance. The document provides some dos and don’ts to optimize the performance of the application. In addition, a texture conversion tool and a demo application are provided in the package.

Become the Next Mobile Ruler in Multiplayer/Connected Games!
This webinar is designed for game developers and discusses the Mobile Rules! Multiplayer Competition and covers the tip of the iceberg with SNAP Mobile, one of the sponsors, and how developers can take advantage of the free support being offered in conjunction with this contest. If you have any questions; you can email them to snapmobile@nokia.com

S60 Platform: 2D Game Engine Example
This C++ code example demonstrates an application with custom 2D graphics. The application is designed to support various S60 devices with different amounts of colors and various screen resolutions and orientations. The application implements a simple 2D game with some basic game features (audio on/off, on-screen menu). The code example is based on an earlier published Symbian OS: 2D Game Engine Example, which supports, for example, S60 2nd Edition and Series 80 2nd Edition. Main classes: CFbsBitmap, RBackedupWindow.

Symbian OS: 3D Game Engine Example v1.2
This C++ code example demonstrates a simple 3D engine. The engine produces a simple game where you can drive a car around a wide parking lot. Everything seen on the screen is rendered in 3D. The example utilizes OpenGL ES (supported from S60 2nd Edition, Feature Pack 2 onwards) and an own rendering implementation for platforms not supporting OpenGL ES. This example supports S60 2nd Edition and Series 80 2nd Edition devices. A separate example is available for S60 3rd Edition at www.forum.nokia.com. Main classes: OpenGL ES (API), CIdle, Math, CImageDecoder, CAknKeySoundSystem.

S60 Platform: Isometric Adventure Game Example
This C++ code example demonstrates isometric content creation and usage of standard C/C++ libraries. The example also shows how to structure memory usage and how game state and resources can be freed / restored during run time. The key audience is considered to be C++ game developers who have developed games for desktop computers and also want to expand to S60 devices. The generic game architecture design considerations for mobile platforms are applicable to all game developers, or those interested in becoming (mobile) game developers. The package includes a game design document. General isometric game development issues are described in the Designing Isometric Adventure Games document that is available at www.forum.nokia.com.
Evolution of Mobile Gaming
This new research from Nokia indicates that mobile phone gamers are looking to the next generation of mobile gaming to meet their needs to easily discover, share and play fun and high quality mobile games.

MIDP 2.0: Game API Developer's Guide (with Example) v2.0
This updated document introduces the MIDP 2.0 Game API and covers also MIDP 2.0 Media API. The document is accompanied with an example application, Sheepdog game.

Designing Isometric Adventure Games
This document discusses game development, specifically the designing of an isometric adventure game, from mobile perspective. It takes a look at the design process, content creation (graphics mostly), and finally deals with the programming issues.

Consumer Applications - Spring 2005 (7.8mb)
Low resolution (7.8mb) version of the Forum Nokia Spring 2005 Consumer catalog. Includes Addendum. Updated 4/27/05
S60 1st/2nd Edition: 3D Game Engine Example
This package includes a 3D game engine example application and a document describing the most important programming tricks and algorithm issues to consider when developing 3D programs on Symbian OS.

Games Over Bluetooth: Recommendations To Game Developers v1.0
This document provides recommendations for the use of Bluetooth in the development of multiplayer mobile games.
S60 1st/2nd Edition: 3D Game Engine Example
This package includes a 3D game engine example application and a document describing the most important programming tricks and algorithm issues to consider when developing 3D programs on Symbian OS.

3D Game Development On JSR-184 (With Example) v1.1
This document introduces the Mobile 3D Graphics API (JSR-184) from a game development point of view. An example application is included in the package to demonstrate how to use the API together with modeling and authoring tools. V1.1 includes some updates to the example source code.

Multi-Player MIDP Game Programming
This tutorial explains how to write multi-player games for MIDP phones. It describes the technologies that are available to support multi-player games, and shows what kinds of games are possible with these technologies. It also includes several appendixes that look at technological issues in more depth.

A Game MIDlet Example Using The Nokia UI API: BlockGame
This design document describes the structure and logic of the BlockGame example MIDlet application. This example uses the Nokia UI API.