Connected 3D Game Development for Mobile Devices using X-Forge Game Developers Conference 2005 March 11, 2005 - San Francisco Petrus Lundqvist.

Slides:



Advertisements
Similar presentations
E-Games for mobile/pocket devices How to develop E-Games Empowering Youth Work.
Advertisements

Multimedia Components (Develop & Delivery System)
Android Platform Overview (1)
XProtect® Expert 2013 Product presentation
UNDERSTANDING JAVA APIS FOR MOBILE DEVICES v0.01.
Mobile Software Development Technology Overview By Dr. Maged Nofal.
DEPARTMENT OF COMPUTER ENGINEERING
ANDROID OPERATING SYSTEM Guided By,Presented By, Ajay B.N Somashekar B.T Asst Professor MTech 2 nd Sem (CE)Dept of CS & E.
Operating Systems High Level View Chapter 1,2. Who is the User? End Users Application Programmers System Programmers Administrators.
Mobile Application Development
V0.01 © 2009 Research In Motion Limited Understanding Java APIs for Mobile Devices Trainer name Date.
University of Jyväskylä 1 MODPA Platform Independent Design of Mobile Applications WIM Workshop 2004 Teemu Ihalainen Information Technology Research.
3D Game Programming All in One By Kenneth C. Finney.
SM3121 Software Technology Mark Green School of Creative Media.
AGD: 5. Game Arch.1 Objective o to discuss some of the main game architecture elements, rendering, and the game loop Animation and Games Development.
Introduction to Android Platform Overview
An Overview of Qt - asankar1. Agenda About Qt –A brief intro of Qt Qt development tools –Tools used for building Qt application Qt Architecture –The underlying.
To be Presented by, T.Sathishkumar [11mw07] 1. Synopsis Introduction Version Features License An Application Development Demo Possibilities Advantages.
Copyright , Synchrony Systems, Inc. EGL Rich UI / Web 2.0 GUI to RUI Transformation with Enterprise Application Modernizations Slavik Zorin Founder.
Programming mobile devices Part II Programming Symbian devices with Symbian C++
Mobile Robot Programming for Education Jean-François Lalonde, Christopher Bartley, and Illah Nourbakhsh The Robotics Institute Carnegie Mellon University.
Mobile Application Development using Android
@2011 Mihail L. Sichitiu1 Android Introduction Platform Overview.
Week II Platforms and Engines. Overview Platforms and Engines Tools and SDKs Netbeans Game Development Walkthrough
01. Introduction to Android Prof. Oum Saokosal Master of Engineering in Information Systems, South Korea
Embedded Systems Mohammad A. Gowayyed (c) 2012 Mohammad A. Gowayyed1.
ANDROID Presented By Mastan Vali.SK. © artesis 2008 | 2 1. Introduction 2. Platform 3. Software development 4. Advantages Main topics.
Why Java? A brief introduction to Java and its features Prepared by Mithat Konar.
ANDROID 응용 프로그래밍 과정 – 목차 - 안드로이드란 - 안드로이드가 만들어지게 된배경 - 안드로이드의 철학 - 안드로이드 환경설정 ( SDK download, eclipse plug-in 설정, 간단한 프로그램 실행 ) - 안드로이드 동작원리 - 안드로이드 핵심.
VirtualBox What you need to know to build a Virtual Machine.
1Basics of J2ME. 2 Objectives –Understand the different java API’s and how the mobile edition API’s fit in –Understand what a mobile configuration and.
SPREAD TOOLKIT High performance messaging middleware Presented by Sayantam Dey Vipin Mehta.
Android Husam Abdel Rahman. Introduction Android Operating system is most popular operating system these days with the advance in voice communications.
Platforms & Hardware Computer Games: Digital Games Design F1R2 11 © 2012 West Lothian CollegeAugust 2012/Review date August 2015Platforms & hardware.
Quality Requirements in Mobile Games Ville Vatén Head of Post Production / Telcogames
GVis: Grid-enabled Interactive Visualization State Key Laboratory. of CAD&CG Zhejiang University, Hangzhou
Created By. Jainik B Patel Prashant A Goswami Gujarat Vidyapith Computer Department Ahmedabad.
Advanced Computer Graphics Spring 2014 K. H. Ko School of Mechatronics Gwangju Institute of Science and Technology.
 Installation of Android Development Environment  Creating the App with OpenGL ES API  Running the App on Emulator Android App Development.
CSCI-235 Micro-Computer Applications The Network.
November 2006Mobile Prototyping Workshop Flash Lite 2.0 Dean Eckles Greg Cuellar.
Mobile Application Development with ANDROID Umang Patel(6537) LDCE.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
What is GIS? “A powerful set of tools for collecting, storing, retrieving, transforming and displaying spatial data”
 Can access all API’s made available by OS vendor.  SDK’s are platform-specific.  Each mobile OS comes with its own unique tools and GUI toolkit.
Analysis And Research Of System Security Based On.
Android operating system N. Sravani M. Tech(CSE) (09251D5804)
By Adam Reimel. Outline Introduction Platform Architecture Future Conclusion.
Insight Developing for Mobile Devices. 2 Device for voice communication Alexander Graham Bell (1876)
M IND Q S YSTEMS Leaders in Training /7, 2nd Floor, Srinivasa Nagar Colony (W) Above HDFC Bank, S.R.Nagar Hyderabad
Android. Android An Open Handset Alliance Project A software platform and operating system for mobile devices Based on the Linux kernel Developed by Google.
Android Training in Chandigarh. What is Android Android is a mobile operating system based on the Linux Kernel. The goal of android project is to create.
Google. Android What is Android ? -Android is Linux Based OS -Designed for use on cell phones, e-readers, tablet PCs. -Android provides easy access to.
What is DirectX? DirectX is built by Microsoft as a collection of API’s (Application Programming Interfaces) for the purpose of multimedia processing.
Windows Forms for mobile development
Unit 20 – Computer Game Platforms & Technology – Software Technology
CHALLENGES IN FRONT OF MOBILE APPLICATIONS DEVELOPMENT
Introducing the Windows Mobile development
Understanding Programming Mobile Web
Lab 3: More Phone-Based Techniques
MOBILE DEVICE OPERATING SYSTEM
Wireless Instant Messaging Using J2ME
Contents: Introduction Different Mobile Operating Systems
Multimedia: making it Work
Who Am I? appMobi's lead HTML5 game developer / evangelist
Application Development A Tutorial Driven Course
PalmOS.
Java Programming Introduction
Peter Banis, Klaus Çipi, Michael Kolar, Robert Olsen
Wrap Up CSE 5236: Mobile Application Development
Presentation transcript:

Connected 3D Game Development for Mobile Devices using X-Forge Game Developers Conference 2005 March 11, San Francisco Petrus Lundqvist

Overview Fathammer’s X-Forge game engine is used in 20+ mobile titles High performance, built from the ground up for mobile devices All major mobile platforms supported Windows Mobile (PocketPC, MS Smartphone) Symbian OS (N-Gage, Series 60 & UIQ) Palm OS WIPI & GIGA, BREW Linux Rex, Nucleus, and other common real-time operating systems

Why is mobile game development different? Extremely high level of fragmentation: Form factors Performance Runtime memory size Network type & performance Game delivery method & maximum game size

Where are things headed? Attempts to standardize OpenGL ES J2ME: MIDP 2.0, JSR-184, JSR-239 BREW, WIPI & GIGA Fierce platform battle between Windows Mobile and Symbian Two technology worlds: Java and native (C/C++) applications Networks will evolve, sure, but when will it happen? No major improvements in standardization in the near future

Living with fragmentation Java Pros: provides the abstraction Cons: serious performance limitations Suitable for simple games Native (C/C++) Pros: performance and freedom Cons: middleware is a must Suitable for advanced games

Mobile game middleware - what is it? Platform abstraction Full platform and game services 2D & 3D graphics (vector and raster based) collision detection & physics audio (sound effects, music, 3D audio) controls device event handling file & network IO memory management and other system services haptic effects, math, debugging, profiling, etc.

Case: Stuntcar Extreme Fast paced racing game with realistic physics Detailed, high performance 3D graphics Wide range of supported mobile platforms Optimized for Intel XScale and Intel 2700G

Stuntcar Extreme Application Architecture

Challenge: make it work on all mobile platforms Screen aspect ratios and orientations Portrait vs. landscape Controls Digital vs. analog joystick Performance Software vs. hardware accelerated 3D Wide range of heap memory sizes Network Bluetooth vs. IP-based (ad-hoc WiFi)

Handling differences in screens Make the user interface scale automatically Vector graphics (both 2D & 3D) scale without degradation Layout managers and similar techniques automate layout Define safe areas in cameras to get a guaranteed area of visibility original camera view with safe area shown in red portrait landscape

Getting a grip on controls Clearly separate the different concepts of controls Physical controls Logical controls Game state Filtering between control model layers makes adaptation easy Left Right Faster Slower Steering Wheel Position Gas Pedal Position physical layer logical layergame layer filter

Tackling performance Different devices require different visual geometry Use the same physical geometry across all devices Physical geometry simplified and optimized for the genre Oriented heightfields Cars as sets of primitive shapes (spheres and boxes) visual geometry and simplified physical geometry y+ terrain approximated using oriented heightfields

Making the net work Abstract network model - design for the lowest common spec Finding devices Connection management Sending and receiving data Typical bandwidth and latency GPRS: 40Kbps, 750ms 3G: 256Kbps, 250ms Bluetooth: 512Kbps, 50ms Ad-hoc WiFi: 10Mbps, 10ms 750ms 1500ms aggregate latency with client-server setup over GPRS

Conclusions Use middleware Take into account differences in form factors from the start Separate visual and physical geometry Design the network model for the lowest common spec True real-time is challenging - plan your strategy appropriately