How To Make A Game That Is Based On A Medieval Map (Georgie)



Similar documents
Mobile Operating Systems Lesson 07 Symbian OS

Real time vehicle tracking and driver behaviour monitoring using cellular handset based accelerometer and GPS data

Nokia 9210i/9290 Communicators and PersonalJava TM Application Development

Distributed Systems. 2. Application Layer

Teqno Mates Solutions

VOL. 2, NO. 1, January 2012 ISSN ARPN Journal of Science and Technology ARPN Journals. All rights reserved

Mobile Operating Systems. Week I

Introduction to BlackBerry Smartphone Web Development Widgets

Wireless Java Programming for Enterprise Applications

GUI/Custom GUI, SIP Stack, Telephony, DB, Sockets, Bluetooth, QT.

Mobile-PC Suite: Using Mobile Phone as Remote to Control PC Operations

Location-Based Information Systems

Java ME & NetBeans Mobility. Petr Suchomel Architect, NetBeans Mobility Sun Microsystems

IMS Social Network Application with J2ME compatible Push-To-Talk Service

Getting Started with iphone SDK, Android and others: Mobile Application Development Create your Mobile Applications Best Practices Guide

JEE Web Applications Jeff Zhuk

Principles of Network Applications. Dr. Philip Cannata

Virtual Team Collaboration Glossary

BlackBerry Smartphone Application Development

Mobility Solutions in IBM

Communiqué 4. Standardized Global Content Management. Designed for World s Leading Enterprises. Industry Leading Products & Platform

Java Platform, Micro Edition (Java ME) Mokoena F.R. The 7046 Team

VoipSwitch softphones

2012 LABVANTAGE Solutions, Inc. All Rights Reserved.

Distributed Systems. 25. Content Delivery Networks (CDN) 2014 Paul Krzyzanowski. Rutgers University. Fall 2014

Rich Internet Applications

Mobile Softphone. Mobile softphones. iphone mobile softphone

What Is NetBeans? Free and open-source based > Open source since June, 2000 > Large community of users and developers

Extreme Java G Session 3 Main Theme Java Core Technologies (Part I) Dr. Jean-Claude Franchitti

Network Applications

2sms SMS API Overview

Computer Networks. Examples of network applica3ons. Applica3on Layer

Basic Internet programming Formalities. Hands-on tools for internet programming

3-Tier Architecture. 3-Tier Architecture. Prepared By. Channu Kambalyal. Page 1 of 19

EFFECTIVE QUERY RETRIEVAL SYSTEM IN MOBILE BUSINESS ENVIRONMENT

COM 440 Distributed Systems Project List Summary

Adobe ColdFusion 11 Enterprise Edition

Trace Desktop Workforce / Fleet Management System

Position Paper for The Fourth W3C Web and TV Workshop. Mingmin Wang Oriental Cable Network

Web and Enterprise Applications Developer Track

Development of Java ME

<Insert Picture Here> Building a Complex Web Application Using ADF and Siebel

Client-Server Architecture & J2EE Platform Technologies Overview Ahmed K. Ezzat

ICE Trade Vault. Public User & Technology Guide June 6, 2014

What's New in Sametime 8.5. Roberto Chiabra IBM Certified IT Specialist

Portals, Portlets & Liferay Platform

CEB620MOBILE COMPUTING

FINAL YEAR PROJECT PROPOSAL Public Voting System

CMR Journal of Engineering and Technology Vol.1 Issue.1 January 2016

ICS 413 Application Development for Mobile Devices (3 Credits Elective) Course Duration:

ATLAS CARTOGRAPHIC TECHNOLOGIES LTD. (ATLASCT) Dedicated Geo-Server. Business Proposal

Server-side OSGi with Apache Sling. Felix Meschberger Day Management AG 124

ni.com Remote Connectivity with LabVIEW

Wireless Solutions Beyond

Web Services: Usage and challenges in mobile phones (computers)

Designing Ubiquitous Personalized TV-Anytime Services

Classic Grid Architecture

A Middleware-Based Approach to Mobile Web Services

COROUTER SOLUTIONS PVT. LTD.

By Kundan Singh Oct Communication

The Little Real-time Web Development Book

Outline. CIW Web Design Specialist. Course Content

Cross-domain Identity Management System for Cloud Environment

Getting Started with Android Programming (5 days) with Android 4.3 Jelly Bean

What Is the Java TM 2 Platform, Enterprise Edition?

Autos Limited Ghana Vehicle Tracking Business Proposal

Mitel Unified Communicator Advanced

Preface. Motivation for this Book

Modular Web-Based Collaboration Platform

in Health Care and Sensor Networks

Managing Complexity in Mobile Application Deployment Using the OSGi Service Platform

Mobile Device Manual for 3G DVRs

SOA, case Google. Faculty of technology management Information Technology Service Oriented Communications CT30A8901.

MOBILE TECHNOLOGIES AND DISTANCE EDUCATION

A Cost Effective GPS-GPRS Based Women Tracking System and Women Safety Application using Android Mobile

FlyingDream AAT Driver Quick Guide V1.1

Customize Mobile Apps with MicroStrategy SDK: Custom Security, Plugins, and Extensions

Index. Corporate Profile. Page 2 360Global Company Profile

Using Mobiles for On Campus Location Tracking

Software Development Interactief Centrum voor gerichte Training en Studie Edisonweg 14c, 1821 BN Alkmaar T:

Access alternatives to mobile services and content: analysis of handset-based smartphone usage data

ITP 342 Mobile App Development. APIs

Web Design Specialist

VIDEOCONFERENCING WEB APPLICATION FOR CARDIOLOGY DOMAIN USING FLEX/J2EE TECHNOLOGIES

Transcription:

Text Frequency 1550 A location-based multi-user mobile game

Waag Society is a knowledge institute operating on the cutting edge of culture and technology in relation to society, education, government and industry. www.waag.org Just van den Broecke, freelance software developer specialized in object technology, networking, Java and multimedia. just@justobjects.nl www.justobjects.nl Intro

Presentation Subjects Project - motivation, context, initiators, timeline Concepts - game elements - architecture - multi-user protocols - J2ME client - Bluetooth programming with JSR-82 - location-based with GPS Intro

Context Participants - Waag Society: initiator + concept/technology developer - IVKO Montessori: concept + educational content - KPN Mobile: sponsoring (EUR), UMTS + phones - Freelance developers Timeline - concept/research: jul-sep 2004 - development: okt-jan 2004 - pilot with IVKO students: 7-9 feb 2005 - now: evaluation of concept and further product strategy Project

Motivation Problem - traditional history teaching: declining interest How to motivate students? Applying new media - use familiar technology (mobile phones) - apply adventure and gaming aspects - self-expression through media production - creative use of positioning technology (GPS) Project

Game Concept Concept

Frequency 1550 Story Line Ketterse storingen: freq 1550 Spelers zijn pelgrims Contact met schout via UMTS Schout geeft opdrachten Winnaar: meeste punten (dagen) Concept

Concept

Frequency 1550 Game Elements Multi-user - multiple teams - within team players in city (mobile) and at homebase (HQ) - real-time multi-user Location-based - city as play field - navigation on medieval map - teams can see other teams on map - assignments triggered on locations - boobytraps ( frequentie bommen ) - confrontations - cloaking ( onzichtbaarheidspij ) Multimedia - streaming video, images, text for assignments - players make and submit media as part of assignments Concept

De Kloosters Die Plaets De Twee Zijden Verdediging 6 zones 6 zones De Kade De Lastage Concept

Frequency 1550 De Twee Zijden 3 opdrachten per zone De Kade De Lastage Concept

Assignments Trigger - navigate on mobile phone on medieval map - reaching GPS location of assignment triggers assignment - video stream, images, text shown on phone Answer - make media - HQ can consult internet for additional media - submit media - provide text answer Concept

Example Zone Intro Movie Concept

Creating Media Concept

Frequency 1550

Frequency 1550 Per Team GPS Infrastructure HQ Email Video call Video stream TCP (GPRS) TCP GSM UMTS INTERNET TCP Game Server (KeyWorx) Admin

Frequency 1550 Delorme GPS GamePhone (Nokia 6600) JSR-82 (Java Bluetooth Comm) Mobile Clients Java J2ME (MIDP2) GUI: Nokia SDK Comm: KeyWorx XML protocol client VideoPhone (SE Z1010) Used as is video calls with HQ via UMTS watch video streams (intros/assignments) capture video clips/images send captured media via email to HQ

GamePhone Design GUI javax.microedition.lcdui.* Protocol Handler GPS Reader CLDC/MIDP2.0/JSR-82

Frequency 1550 HomeBase (HQ) Client Java Standard WinXP PC Macromedia Flash ActionScript.NET for integration with IE (Google, image drag/drop) Comm: KeyWorx XML protocol client

www.keyworx.org KeyWorx Platform Java - JSP - PHP - Flash - Director - C(++)... Clients TCP HTTP UDP Local SMS Email Multichannel Framework (multi-user, portal, security,...) Game Engine Chat File Sharing RT Data (multi-user) developer plugins Server Content Management databases/files

GPS

Mapping GPS Data $GPRMC,152906.851,A,5222.3574,N,00453.4815,E,0.00,155.73,010205,,*0D\n $GPGGA,152917.850,5222.3565,N,00453.4799,E,1,04,7.4,28.5,M,47.0,M,18.5,0000*72\n.

Frequency 1550 Live Route tracking

About - based on J2ME CLDC - client-server - discovery, streams, object transfer (OBEX) - check support on your Java/BT phone! JSR-82 Bluetooth API Client Programming Steps 1- device discovery 2- service inquiry! 3- connect using service URL 4- data transfer!""#$%&'()#$*)*$+*,#-.,*$#/)0!#1/!+!#)0*2%3%2!(%4.#0!$(%2%0!(%4.#!&$**5*.(6!!!!!.! con = (StreamConnection) Connector.open(url, Connector.READ); is = con.openinputstream(); $%&!'()($'!%$!(*+,!%&,(-./!012/3!2$!*!4567589:;(&%%&,<!'(=>+(?!&,(!@271!)%-&>%$/!%A!&,>/!'>*B-*C!D>::! $%&!(E>/&3!!! 5%,0N D:EFGCCGH!77:9J?G9CKA F)(-*&>$B 5%,0!R#D:EFGCCGH#N!0% 2",2PQ+5 4*5#A7FJ9B9J!77:9J?G9CKA 4*5NA7FJ9B9J 2:?AAFA.?G9@F!77:9J?G9CKA 47F8?G9KL#)MAGFS#T#D:EFGCCGH#)G?JU!

Location-based actions GPS Nokia Server <map-coordinates /> <zone-entered/> Raw GPS data < gps-data/> <assignment-reached/> <boobytrap-hit/> Team Server determines action based on current game state <confrontation/> Team Team /** Tests if two locations are near each other. */ public boolean isnear(jxelement loc1, JXElement loc2) { int deltax = loc1.getintattr(attr_rx) - loc2.getintattr(attr_rx); int deltay = loc1.getintattr(attr_ry) - loc2.getintattr(attr_ry); int distance = (int) Math.round(Math.sqrt((deltaX * deltax + deltay * deltay))); return distance < gameconfig.getintattr("hotspotrange"); }

Multi-user Protocols Two Broad Categories 1 - same time/same place (synchronous) examples: chat, action games, A/V conferencing, shared whiteboard 2 - different time/different place (asynchronous) examples: email, news, forums Note: Freq1550 is category 1

Multi-user Protocols Design issues for synchronous multi-user - security login, rights, roles,... - shared session spaces game instances, chat rooms, conferences,... - who is there - shared state shared drawing, shared game state,... - late joiners - protocol message format Standard J2EE (EJB) and Web Services do not address these issues

Multi-user Protocols KeyWorx Approach - common server-side container framework - extensible multi-user protocol common: login, entering spaces, shared state, who, late joining extensions: whatever app requires - lightweight XML protocol message format common messages like <login/> <enter/> <join/> extension protocol: <amulet id= myextid />...</amulet> - minimalistic XML schema language Server-side plugin => extension protocol (POA)

Example - Protocol Exchange Team 1 Team 2 Server All teams <gps-data-ind/> <gps-data-ind/> Location clash <confront-ind winner="2"/> <confront-ind winner="2"/> <score-update-ind/>

Links Project - freq1550.waag.org - www.computable.nl/artikels/archief5/d07hb5nh.htm - www.justobjects.org/blog/index.php?p=8 Other - www.waag.org - www.keyworx.org - www.justobjects.nl - www.geoskating.com - www.jcp.org/en/jsr/detail?id=82 (JSR-82 Bluetooth API) Outro