AmmanTT - Lessons learned in building jawaker

Preview:

DESCRIPTION

Lessons learned in building Jawaker, an online multiplayer card games website. (Sinan Taifour, Jawaker) #AmmanTT Gaming Edition

Citation preview

Amman Tech Tuesdays “Gaming Edition” – August 3rd

El-Kol Bil3ab

Amman Tech Tuesdays “Gaming Edition” – August 3rd

Jawaker is an online multiplayer cards gaming website, with a focus on the social aspect.

Amman Tech Tuesdays “Gaming Edition” – August 3rd

In-Game Chat

Friends List

One-on-One Chat

Private Games

Competitions

Social Aspect

Facebook Integration

Amman Tech Tuesdays “Gaming Edition” – August 3rd

Flagging and Complaining System

Automatic Filtering System

Being the PoliceUsers expect you to police everything

Amman Tech Tuesdays “Gaming Edition” – August 3rd

Ranking System Tokens System

Understand User and Get Feedback

Took a lot of work

We expected users to care

Users weren't interested

Took almost no workWe expected users not to careUsers loved it without really understanding it

Amman Tech Tuesdays “Gaming Edition” – August 3rd

Jawaker Basha (Freemium Model)

Advertisements

Virtual Goods

Revenue Channels

Amman Tech Tuesdays “Gaming Edition” – August 3rd

Scalability

Amman Tech Tuesdays “Gaming Edition” – August 3rd

Scalability: The ability to handle a growing amount of traffic.

What do you mean?

Realtime multiplayer gaming websites need to push updates to users fast

Web not originally designed for that

Amman Tech Tuesdays “Gaming Edition” – August 3rd

Polling

Long Polling

Raw TCP (aka Comet)

Lesson 1: Multiple Connection Method

Mux

Engine

Amman Tech Tuesdays “Gaming Edition” – August 3rd

Lesson 2: Separate into Processes

Web

Can move a component to a new server

Can make copies of a component

Advantages:

Orthogonality of code and better maintainability

Amman Tech Tuesdays “Gaming Edition” – August 3rd

Lesson 3: Communicate Asynchronously

Mux

Engine

Web

..

..

Amman Tech Tuesdays “Gaming Edition” – August 3rd

Database Query

Part of a View

Lesson 4: Cache, Cache, Cache…On many levels, like:

A Whole Page

Client-Side in Javascript

Amman Tech Tuesdays “Gaming Edition” – August 3rd

System Related (such as the System Load, IO delays, Network Traffic)

Application Related (such as Queue Length, Running Time (of some selected procedures), Lags in Schedulers)

Lesson 5: Collect Live StatsVery useful! Can be:

Client-Side (such as Ping Times to Server, Occurrence of (selected) Events)

Thank you!

بطء بسبب االنترنت على باللعب تجربتك تأثرت هلاالنترنت؟ سرعة

Have your online gaming experience got affected by slow bandwidth?

نعم1.

ال2.1. Yes2. No

: تويتر باستخدام يلي ما ارسال الرجاء للتصويت،Please vote using twitter as follows:

[ CHOICE NUMBER# ]TTGE3 #AmmanTTe.g. (1 #TTGE3 #AmmanTT)

Recommended