1 Mobile Gaming Dr Abdennour El Rhalibi. 2 Agenda r Mobile game characteristics & introduction r Introduction to mobile game programming languages.

Slides:



Advertisements
Similar presentations
Symantec 2010 Windows 7 Migration EMEA Results. Methodology Applied Research performed survey 1,360 enterprises worldwide SMBs and enterprises Cross-industry.
Advertisements

Symantec 2010 Windows 7 Migration Global Results.
Computer Concepts – Illustrated 8th edition
Fakultät für informatik informatik 12 technische universität dortmund Imperative model of computation Peter Marwedel TU Dortmund, Informatik 12 Graphics:
Distributed Systems Architectures
Copyright © 2003 Pearson Education, Inc. Slide 1 Computer Systems Organization & Architecture Chapters 8-12 John D. Carpinelli.
1 Copyright © 2013 Elsevier Inc. All rights reserved. Chapter 4 Computing Platforms.
Processes and Operating Systems
1 Introducing the Specifications of the Metro Ethernet Forum MEF 19 Abstract Test Suite for UNI Type 1 February 2008.
Starting With The OSGi Specifications By Peter Kriens, CEO aQute OSGi Fellow
18 Copyright © 2005, Oracle. All rights reserved. Distributing Modular Applications: Introduction to Web Services.
1 Copyright © 2005, Oracle. All rights reserved. Introducing the Java and Oracle Platforms.
Introduction to HTML, XHTML, and CSS
Peer-to-peer and agent-based computing Peer-to-Peer Computing: Introduction.
Communicating over the Network
1. 2 Objectives Become familiar with the purpose and features of Epsilen Learn to navigate the Epsilen environment Develop a professional ePortfolio on.
1 Chapter One Introduction to Computer Networks and Data Communications.
1 Java Card Technology Prepared by:Ali Toyserkani Adopted from: Introduction to Java Card Technology C. Enrique Ortiz.
Our Digital World Second Edition
Chapter 1: Introduction to Scaling Networks
MIDP Mobile Information Device Profile Johnny Yau CIS 642 Prof. Insup Lee.
1 The phone in the cloud Utilizing resources hosted anywhere Claes Nilsson.
Discovering Computers Fundamentals, 2012 Edition
Learning Through a Mobile Device David McDyre Dr Averil Meehan Dr Stephen Wright.
Mobile Application Development Fall COP 4655 U1 T/R 5:00 - 6:15pm – ECS 135 Steve Luis lecture1.
Chapter 11: The X Window System Guide To UNIX Using Linux Third Edition.
IP Multicast Information management 2 Groep T Leuven – Information department 2/14 Agenda •Why IP Multicast ? •Multicast fundamentals •Intradomain.
1 Multimedia Systems 2 Dr Paul Newbury School of Engineering and Information Technology ENGG II - 3A11 Ext:
IONA Technologies Position Paper Constraints and Capabilities for Web Services
CONTROL VISION Set-up. Step 1 Step 2 Step 3 Step 5 Step 4.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Introduction to Computer Administration Introduction.
1 Final Cut Pro X Winter Connections Conference 2012.
Chapter 2 Entity-Relationship Data Modeling: Tools and Techniques
1 © 2003, Cisco Systems, Inc. All rights reserved. CCNA TCP/IP Protocol Suite and IP Addressing Halmstad University Olga Torstensson
Analyzing Genes and Genomes
PSSA Preparation.
Chapter 11 Creating Framed Layouts Principles of Web Design, 4 th Edition.
Essential Cell Biology
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 1 Application architectures.
From Model-based to Model-driven Design of User Interfaces.
TCP/IP Protocol Suite 1 Chapter 18 Upon completion you will be able to: Remote Login: Telnet Understand how TELNET works Understand the role of NVT in.
Pengantar Teknologi Mobile 12
Introduction of J2ME Mobile solutions. Overview What is J2ME. How does J2ME work? Java J2ME Carriers and Products. The Two Configuration of J2ME. Profiles.
Multimedia Network Communications Subject:T0934 / Multimedia Programming Foundation Session:13 Tahun:2009 Versi:1/0.
J2ME 25 July Overview  What is J2ME?  The CLDC and CDC configurations  MIDP and MIDlets  Development Tools  Demonstrations.
UNDERSTANDING JAVA APIS FOR MOBILE DEVICES v0.01.
Bluetooth and java – a perfect match? Sean O Sullivan ceo Nordic Bluetooth, October 5th, 2001.
Programming Handheld and Mobile devices 1 Programming of Handheld and Mobile Devices Lecture 10 Java for MIDs Rob Pooley
J2ME Web Services Specification.  With the promise to ease interoperability and allow for large scale software collaboration over the Internet by offering.
Stories from the Frontier of Mobile Gaming Tom Söderlund Helsinki.
Cosc 4730 Phone Programming in Java An Introduction.
Java 2 Platform, Micro Edition (J2ME) By Xiaorong Wang.
SM3121 Software Technology Mark Green School of Creative Media.
Android Introduction Platform Overview.
EclipseME Java Micro Edition The Eclipse Way Craig Setera April 19, 2006.
Small Devices on DBGlobe System George Samaras Chara Skouteli.
Framework and application bytecode size CLDC MIDP kXML parser Utility classes Graphics Logic (MIDlet) Application Data (XML file)
Computer Science Wi-Fi App using J2ME and MVC Architecture Advisor : Dr. Chung-E Wang Department of Computer Science Sacramento State University Date:
J2ME Presented by May Sayed & Menna Hawash. Outline Introduction “Java Technology” Introduction “What is J2ME?” J2ME Architecture J2ME Core Concepts 
Java 2 Micro Edition (J2ME) and the world of java
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.
Enhanced mobile services in Java enabled phones Björn Hjelt Sonera zed ltd Supervisor: Professor Jorma Jormakka.
Advance Computer Programming Market for Java ME The Java ME Platform – Java 2 Micro Edition (J2ME) combines a resource- constrained JVM and a set of Java.
Visual Mobile Applications with Netbeans 6.0 Your Name Sun Campus Ambassador Your Address.
The Java Platform Micro Edition Java ME
Introducing the Windows Mobile development
Part II Software When developing software there are several particularities to be aware of: Java is widespread used because of the platform independence.
MOBILE DEVICE OPERATING SYSTEM
Wireless Instant Messaging Using J2ME
Presentation transcript:

1 Mobile Gaming Dr Abdennour El Rhalibi

2 Agenda r Mobile game characteristics & introduction r Introduction to mobile game programming languages

3 Game is ….

4 Platforms …

5 Mobile phone as game device Short-range communication Voice functionality Mobile; different usage scenarios Online connectivity Form factor Can be located Camera Media player Contacts & calendar Messaging

6 Mobile game possibilities Multiple users Multiple phones Short distance - Proximity gaming Multiple users One phone Short distance - Social toys Multiple users Multiple phones Long distance - Multiplayer/massively multiplayer gaming Integrated with environment - Pervasive gaming

7 Pervasive gaming r Always connected, always in the game, the game surrounds you m Game blends with your real life r Real world as game arena m Virtual game world draped on top of the real world m Interact with your environment and other players r Multi-modal m Multiple user interfaces

8 Examples of pervasive games BotFighters (2001) Undercover (2003) Mogi Mogi (2003) Majestic (2001) IPerG:

9 Mobile MMOGs r Mobile Massively Multiplayer Online Games, 3MOG r New MMOG titles m Tuned for mobile usability r (Add-ons to PC MMOGs) m Subsets of gameplay m Mobile accessories

10 3MOG examples r Tibia (CipSoft) r Era of Eidolon (watAgame) r Pocket Kingdom (Nokia) r Fantasy Worlds: Rhynn (AwareDreams) r Spirits (Nokia/Jadestone) r Age of Piracy (Nokia/Jadestone)

11 Proximity gaming r Proximity gaming m Ad-hoc network games with nearby people

12 Proximity gaming scenario Playfield grows with the addition of Cliffs spaceship. Cliff walks by, and can join the game without interruption. Sue and Bobby are playing together.

13 Social toys r Mobile phone as social entertainment device m At home, at the party, in a pub, on the picnic r Key features: m Always with you m Social adaptability m Physical device m Input: keys, joystick, (pen/touch) m Output: graphics, sound, music, vibrations m Connectivity

14 Game Component r Visual Art r Platform r Game Design r Story r Audio Connectivity (e.g. Bluetooth, WiFi, GSM … ) Etc ….

15 Challenges r Resolution (Screen Size & Color) r CPU & Memory r Keypad r Audio support (depends, some mobile supports MP3 as well) r Application Size

16 Game and Network Issues r Server-driven games m Ongoing cost for game provider m Secure data storage m Makes cheating harder m Bandwidth-to-user not normally a constraint r Peer-to-peer m Cheaper for game provider m Cheating easier m With large numbers of players, bandwidth becomes a bottleneck Particularly for Bluetooth, which is always hub-spoke configuration m Not feasible with legacy phones (requires IP address, SIP, or Bluetooth) m Player matching/discovery becomes a problem

17 Dealing with Latency r Always a problem with networks m On wired Internet, ms latency rules out street fighters m On 2G networks, ~1 second latency m If HTTP must be used, ~5 second latency m And generically, 3G doesnt solve all problemsin deployment still ~500ms latency r In general, must always work around latency issues r Approaches: m Turn-Based games (round robin or simultaneous movement) m Act-whenever m Slow update games m Shared solitaire games m Mask latency with game fantasy m Untie game outcomes from specific play configuration

18 Languages … Java – J2ME ( Micro-Edition ) / MIDP ( The Mobile Information Device Profile ) m Advantages: Cross Device Easy to manage / Lots of resource m Drawbacks: Limited to the J2ME Not Good for Performance Demanding Game Brew (Binary Runtime Environment for Wireless), OpenglES … r C/C++ m Advantages: Extreme Performance Prefect control to the hardware m Drawbacks: Require higher skill in programming Hard to manipulate

19 What does Java Offer r Dynamic delivery of content r Security r Cross-platform compatibility r Enhance user experience and interactive content r Offline access r Object Oriented Programming r Large developer community 2.5M and growing

20 J2ME (Micro-Edition) Goals r Provide third party development environment for application development m Portable m Secure m Small-footprint m Dynamic delivery of services m Independence of network technology r One goal was NOT to replace the current OEM ( Original Equipment Manufacturer ) capabilities, but to complement that functionality by allowing customization by third party vendors.

21 J2ME Concepts Concepts of standardisation created two levels of organisation for the J2ME Architecture m Configurations Connected Device Configuration (CDC) Connected, Limited Device Configuration (CLDC) m Profiles Mobile Information Device Profile (MIDP) KVM Configuration Libraries Profile(s) Configuration consist of both Kilo Virtual Machine

22 Java 2 Platform Java 2 Micro Edition(J2ME) Optional Packages Optional Packages Java 2 Enterprise Edition (J2EE) Java 2 Standard Edition (J2SE) CardVM Java Card APIs Java Virtual Machine KVM CLDC CDC MIDP Foundation Profile Personal Profile

23 J2ME Configuration r Defines a minimum platform for a horizontal grouping of devices m Similar requirements on memory and processing power m Defines the Java Language and VM features available on group of devices

24 Platform Standardisation r CLDC ( Connected, Limited Device Configuration ) began in October of 1999 m Represented the building block for the lowest common denominator for small devices m Did not target any specific device m Had participation from eighteen companies

25 J2ME Platform Configurations r High-end consumer devices (CDC) m TV set-top boxes m Internet TVs m High-end wireless communication devices m Entertainment systems m Navigational systems r Low-end consumer devices (CLDC) m Cell Phones m Pagers m Personal Organizers

26 CLDC Java Virtual Machine Sun s Kilo Virtual Machine (KVM) m Designed for small resource-constrained devices m Small memory footprint (60K) for KVM m Minimum total memory 160K m 16/32-bit processors m Processor speed 8 to 32 MHZ

27 CLDC Hardware r Memory size is the only requirement for CLDC m At least 128K non-volatile for the KVM and CLDC Libraries m At least 32K of volatile for KVM runtime

28 J2ME Profiles r Defines requirements for a specific vertical market family of devices m Extends or is Layered on top of a configuration m Defines a standard Java platform for a vertical market device family, to ensure interoperability m Includes more granular domain specific class libraries than configuration

29 J2ME Profiles Standardisation r Mobile Information Device Profile (MIDP) began in November 1999 r MIDP: Set of Java APIs that is generally implemented on the Connected Limited Device Configuration (CLDC). r It provides a basic J2ME application runtime environment targeted at mobile information devices, such as mobile phones and two-way pagers. m Based on the CLDC configuration m Focused specifically on two-way wireless devices such as cell phones and pagers m Focus was on application model, user interface, networking, and storage APIs m Twenty-two companies participated in the MIDP expert working group

30 MIDP Hardware r Memory (added to CLDC memory) m 128K non-volatile for MIDP components m 8K non-volatile for application persistent data m 32K volatile for KVM r Display m Screen 96x54 m Display depth 1-bit m Pixel shape (aspect ratio) 1:1

31 MIDP Hardware r Input (one or more) m One-handed keypad (e.g. frogpad) m Two-handed keypad m Touch screen r Networking m Two-way m Wireless m Possibly intermittent m Limited bandwidth

32 MIDP Architecture Mobile Information Device (MID) CLDC MIDP Native System Software/Host Operating System MIDP Applications OEM-Specific Applications OEM-Specific Classes Native Applications

33 J2ME Development Process r Java files compiled to class files Class files pre-verified by the pre-verifier tool m Classes have additional attributes added for runtime verification r Class files are placed in jars and downloaded r Runtime verifier does a linear check on classes using pre-verification attributes m Attributes are ignored by the J2SE JVM

34 JBUILDER - MOBILE EDITION r For Java Mobile Developers m Java SDKs m Borland JDataStore m Sun J2ME Wireless Toolkit Nokia Developer s Suite for J2ME m Third party productivity tools and components

35 Build in Debugger

36 Integrated with Emulator

37 J2ME Media API – JSR 135 r Support for Tone Generation, Playback, and Recording of Time-Based Media: The package supports any time- based audio or video content. r Small Footprint: MMAPI works within the strict memory limits of CLDC devices. r Protocol- and Content-Agnostic: The API is not biased towards any specific content type or protocol. r Subsettable: Developers can limit support to particular types of content, basic audio for example. r Extensible: New features can be added easily without breaking older functionality. More importantly, additional formats can be easily supported, and the framework is in place for additional controls. r Options for Implementers: The API offers features for different purposes. The API is designed to allow implementers to leave some features unimplemented if they cannot be supported. JSR: Java Specification Request

38 J2ME Mobile 3D (m3g) – JSR 184 r Support both retained-mode access (scene graphs) and immediate-mode access (the OpenGL ES subset or similar), and allow mixing and matching of the two modes in a unified way. r To reduce the amount of programming required, the API include importers for certain key data types, including meshes, textures, and scene graphs. r Data must be encoded in a binary format for compact storage and transmission. r The API efficiently supports on top of OpenGL ES, without floating-point hardware. r The API must use the float data type of the Java programming language, not introduce a custom type. r The API must interoperate properly with other Java APIs, especially MIDP.

39 Resources r J2ME m r Nokia m m SNAP: -ceba-4ba2-b13c- f4caf /SNAP_Mobile_White_Paper_v2_0_en.pdf.ht ml?cp=0306A&entry=snap1 r Sony Ericsson m r Bluetooth Quick Start m