Introduction to AppWarpS2 -Dhruv Chopra. What is this AppWarpS2? Complete platform for developing real-time multiplayer games of any genre. Supports multiple.

Slides:



Advertisements
Similar presentations
Android Application Development A Tutorial Driven Course.
Advertisements

Pharos Uniprint 8.3.
COM vs. CORBA.
October Dyalog File Server Version 2.0 Morten Kromberg CTO, Dyalog LTD Dyalog’13.
MMOs and Socket Servers Diego O. Scarpa 10 y 11 de Diciembre – Hotel Panamericano - Buenos Aires.
Remote Procedure Call (RPC)
MS CRM Integration WhosOn Service Integration Presentation MS CRM User Group.
Computer Monitoring System for EE Faculty By Yaroslav Ross And Denis Zakrevsky Supervisor: Viktor Kulikov.
Windows Communication Foundation and Web Services.
Technical Architectures
14.1 © 2004 Pearson Education, Inc. Exam Planning, Implementing, and Maintaining a Microsoft Windows Server 2003 Active Directory Infrastructure.
CS490T Advanced Tablet Platform Applications Network Programming Evolution.
CSCI 4550/8556 Computer Networks Comer, Chapter 3: Network Programming and Applications.
VCT May 20, 2009 Sapna Blesson Advisor: Dr.Christopher Pollett.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 8: Implementing and Managing Printers.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 8: Implementing and Managing Printers.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 8: Implementing and Managing Printers.
ANDROID PROGRAMMING MODULE 1 – GETTING STARTED
1 Network File System. 2 Network Services A Linux system starts some services at boot time and allow other services to be started up when necessary. These.
Presented by…. Group 2 1. Programming language 2Introduction.
A Free sample background from © 2001 By Default!Slide 1.NET Overview BY: Pinkesh Desai.
Beyond DHTML So far we have seen and used: CGI programs (using Perl ) and SSI on server side Java Script, VB Script, CSS and DOM on client side. For some.
@2011 Mihail L. Sichitiu1 Android Introduction Platform Overview.
Institute of Computer and Communication Network Engineering OFC/NFOEC, 6-10 March 2011, Los Angeles, CA Lessons Learned From Implementing a Path Computation.
COM vs. CORBA Computer Science at Azusa Pacific University September 19, 2015 Azusa Pacific University, Azusa, CA 91702, Tel: (800) Department.
London April 2005 London April 2005 Creating Eyeblaster Ads The Rich Media Platform The Rich Media Platform Eyeblaster.
Multiplayer game in Unity using the unityPark suite A gift from NoOpArmy for GGJ
London April 2005 London April 2005 Creating Eyeblaster Ads The Rich Media Platform The Rich Media Platform Eyeblaster.
Robert Fourer, Jun Ma, Kipp Martin Copyright 2006 An Enterprise Computational System Built on the Optimization Services (OS) Framework and Standards Jun.
DUE Hello World on the Android Platform.
LiveCycle Data Services Introduction Part 2. Part 2? This is the second in our series on LiveCycle Data Services. If you missed our first presentation,
Extending ArcGIS for Server
October 8, 2015 University of Tulsa - Center for Information Security Microsoft Windows 2000 DNS October 8, 2015.
Outline Overview Video Format Conversion Connection with An authentication Streaming media Transferring media.
Computer Emergency Notification System (CENS)
ArcGIS Server for Administrators
BIT 285: ( Web) Application Programming Lecture 15: Tuesday, February 24, 2015 Microsoft Azure Instructor: Craig Duckett.
Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved Chapter 43 Remote Method Invocation.
1 Linux Networking and Security Chapter 5. 2 Configuring File Sharing Services Configure an FTP server for anonymous or regular users Set up NFS file.
ECI – electronic Commerce Infrastructure “ An application to the Shares Market ” Demetris Zeinalipour ( Melinos Kyriacou
Switch Features Most enterprise-capable switches have a number of features that make the switch attractive for large organizations. The following is a.
1 Java Servlets l Servlets : programs that run within the context of a server, analogous to applets that run within the context of a browser. l Used to.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
DOTSNBOXES. Overview Dots and Boxes is played originally with the use of paper, pen and 2 players. The Game board is a matrix of points and vary in size.
Services Background operating component without a visual interface Running in the background indefinitely Differently from Activity, Service in Android.
Selenium server By, Kartikeya Rastogi Mayur Sapre Mosheca. R
EJB. Introduction Enterprise Java Beans is a specification for creating server- side scalable, transactional, multi-user secure enterprise-level applications.
Trimantra Software Solution Offshore Software Development Outsourcing Company Visit :
Liang, Introduction to Java Programming, Fifth Edition, (c) 2005 Pearson Education, Inc. All rights reserved Chapter 29 Remote Method.
Monitoring Dynamic IOC Installations Using the alive Record Dohn Arms Beamline Controls & Data Acquisition Group Advanced Photon Source.
Amazon Web Services. Amazon Web Services (AWS) - robust, scalable and affordable infrastructure for cloud computing. This session is about:
1 Remote Installation Service Windows 2003 Server Prof. Abdul Hameed.
Arklio Studija 2007 File: / / Page 1 Automated web application testing using Selenium
ArcGIS for Server Security: Advanced
Client-Server Communication
z/Ware 2.0 Technical Overview
Section 13 - Integrating with Third Party Tools
Open Source distributed document DB for an enterprise
Mobility for Real Estate – Extending JDE Core Data to User Fingertips
Principles of Network Applications
Replication Middleware for Cloud Based Storage Service
DHCP, DNS, Client Connection, Assignment 1 1.3
Northbound API Dan Shmidt | January 2017
Google App Engine Ying Zou 01/24/2016.
Chapter 40 Remote Method Invocation
Objectives In this lesson you will learn about: Need for servlets
Chapter 46 Remote Method Invocation
Chapter 46 Remote Method Invocation
Open Automation Software
System Center Configuration Manager Cloud Services – Cloud Distribution Point Presented By: Ginu Tausif.
Presentation transcript:

Introduction to AppWarpS2 -Dhruv Chopra

What is this AppWarpS2? Complete platform for developing real-time multiplayer games of any genre. Supports multiple client platforms and an easy to use server side SDK which allows you to develop full custom server-side logic. Comes with a rich set of built-in gaming features such as rooms, lobbies, spectators, matchmaking etc. as well as support for TCP, UDP and Websockets protocols. Server application hosting and deployment is managed by the developer.

When should I use AppWarp cloud? AppWarp cloud is great for building applications whose game play doesn’t require server side validation of client data and rely only on exchanging information between clients. Multiplayer games such as side-scrolling, action combat, racing as well as simple real-time turn based games can be developed using the cloud. The cloud saves you from the headache of deploying and managing the server side. You just write client side business logic and utilize the ready made server side features of rooms, lobby, matchmaking etc.

When should I use AppWarpS2 Games which require hosted AI, server generated characters, server-side anti-cheat logic and server side authentication are cases where developers will use AppWarpS2. Casino style card games, MMO, RPG etc. are genres you will develop using AppWarpS2. Since AppWarpS2 is built on top of the same platform that powers our cloud service, client SDKs used are the same and thus its also easy to port (from AppWarp cloud to AppWarpS2). As developers are building and hosting the server side application themselves they can freely integrate with any 3 rd party libraries as well.

How does it work? An instance of the server contains independent application zones. Each zone contains a lobby and multiple rooms where users interact.

What are these application zones? Represents a logically independent container for users to interact it. You can create different zones for bike, car, boat racing etc. Another use case is creating different zones for different versions of the game to ensure users are segregated based on their app version. Application zones are also useful if you want to balance load across instances of AppWarpS2 servers or deploy in multiple geographies. Application zones are created from the admin dashboard which is provided with AppWarpS2. Application zones are identified by a unique application id which is assigned by the server when the zone is created. Each zone contains a lobby which is automatically added when a zone is created. Rooms must be added/removed as required.

How do I use rooms? Rooms are where multiple users can interact with each other in real-time and the core game play happens. Rooms can be created from the admin dashboard and also programmatically from the APIs. Rooms created from the dashboard can only be deleted from there and are persisted in HSQLDB service to survive server restarts. Rooms are identified by a unique id which is generated by the server whenever a room is created. Rooms come with ready made features of properties and match making which you can read more about on our sitesite Room behavior can be customized from the server side as well.

How do the clients exchange data? Clients use the AppWarpS2 client-side SDKs to connect to the server. Using the client SDK APIs, clients can find and join rooms where the game play will happen. Once inside the room, the client SDK allows your application to exchange binary and text based data with other users in the room and the server application. It’s a star network topology with the server at the center. The information is exchanged over a binary protocol that allows clients to talk over TCP, UDP and Websockets. Using the client side SDK is the same as from the cloud. You can learn more about it herehere

How do I customize and build the server side application? AppWarpS2 comes with a server side Java library that you will use in your java application. The server side components (app zones, rooms, users) expose interfaces and adaptors with which your application interacts. An adaptor is a hook that allows you to override and influence how the components react to client API request. The interfaces allow your application to query information and perform operations through the components.

Can I do RPC? Yes! AppWarpS2 provides support for RPC (Remote Procedure Call). Developers can use server side adaptors to define their own methods and have them invoked from the client. Following example illustrates this.. Define the following on a room adaptor (server-side) public int drawNewCard(String username){ // add your logic here return card; } Call the method from the client AppWarpClient.getInstance().invokeRoomRPC(roomId, “drawNewCard”, “jose”); Handle the result (asynchronously) public void onRPCDone(byte result, String func_name, Object retVal){ // handle here }

How do I do server side custom authentication? Application which require strict admission control can’t rely only on client side authentication and require this ability on the server side as well. AppWarpS2 gives the ability to clients to send custom authentication data along with its connection requests. The server side adaptors can then override and validate the connection requests to either allow or deny the clients. Asynchronous authentication is also supported on the server side for applications which might want to make a 3 rd party REST call for example to authenticate. This prevents blocking the AppWarpS2 threads. Read more here.here

How do I do my own deployment? The only pre-requisite is Java 7. You can setup on any OS which support Java (Windows, Linux, MacOS etc.) You can do this on any 3 rd party provider such as AWS, Azure, RightScale etc. App42PaaS also supports hosting your AppWarpS2 deployment (coming soon) We provide building and running scripts and certain recommended OS settings for better performance. You can easily customize the scripts/settings or write your own as its quite straight forward. Read more here.here

How does the server scale? For most applications a single instance of AppWarpS2 will be sufficient. See our benchmarking results here.here AppWarpS2 comes with a master server/load balancing application server as well for applications which get extremely high data volumes. The master server is extensible and you can customize this as well. It comes with the ability to exchange messages with your configured game servers instances.

Do you have any samples for doing all these things? Space War Fare This is an MMO sample with a 2D Map. Clients connect and join an admin room. Once inside the room, players collect powers and bullets. There is also a server controlled dragon which the clients have to kill. This sample illustrates the use of room properties, server side game loop (timer tick) and chat messaging to communicate player positions. The sample also illustrates the use of Flash and Marmalade on the client side. Rummy Cards This rummy cards game sample illustrates how you can build a cards/casino style games. The players have the option of playing in a 2 player or 3 player room. It also illustrates the use of match making APIs and the ready made turn based rooms. The logic for dealing cards and validating moves is done on the server to prevent cheating. It also shows how you can do custom server side authentication of clients. The client is an Android application using our Android SDK. Chat Server This is the most basic sample. It illustrates the process of a client connecting to the server. Then joining a room and exchanging chat messages with others in the room. The sample illustrates the use of HTML5 and Corona on the client side. On the server side we extend the room logic through by implementing an extension of BaseRoomAdaptor. The extension will filter chat messages on the server by checking against a list of banned words and not broadcasting them.

What do I do now? Get started Visit the site, register and download the files (all free) Walk through of running your first applicationrunning your first application Understand the provided samples.samples It guides you through the building/running of the server and using the dashboard for creating zones and rooms. Contact us