15
Amman Tech Tuesdays “Gaming Edition” – August 3 rd El-Kol Bil3ab

AmmanTT - Lessons learned in building jawaker

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: AmmanTT - Lessons learned in building jawaker

Amman Tech Tuesdays “Gaming Edition” – August 3rd

El-Kol Bil3ab

Page 2: AmmanTT - Lessons learned in building jawaker

Amman Tech Tuesdays “Gaming Edition” – August 3rd

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

Page 3: AmmanTT - Lessons learned in building jawaker

Amman Tech Tuesdays “Gaming Edition” – August 3rd

In-Game Chat

Friends List

One-on-One Chat

Private Games

Competitions

Social Aspect

Facebook Integration

Page 4: AmmanTT - Lessons learned in building jawaker

Amman Tech Tuesdays “Gaming Edition” – August 3rd

Flagging and Complaining System

Automatic Filtering System

Being the PoliceUsers expect you to police everything

Page 5: AmmanTT - Lessons learned in building jawaker

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

Page 6: AmmanTT - Lessons learned in building jawaker

Amman Tech Tuesdays “Gaming Edition” – August 3rd

Jawaker Basha (Freemium Model)

Advertisements

Virtual Goods

Revenue Channels

Page 7: AmmanTT - Lessons learned in building jawaker

Amman Tech Tuesdays “Gaming Edition” – August 3rd

Scalability

Page 8: AmmanTT - Lessons learned in building jawaker

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

Page 9: AmmanTT - Lessons learned in building jawaker

Amman Tech Tuesdays “Gaming Edition” – August 3rd

Polling

Long Polling

Raw TCP (aka Comet)

Lesson 1: Multiple Connection Method

Page 10: AmmanTT - Lessons learned in building jawaker

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

Page 11: AmmanTT - Lessons learned in building jawaker

Amman Tech Tuesdays “Gaming Edition” – August 3rd

Lesson 3: Communicate Asynchronously

Mux

Engine

Web

..

..

Page 12: AmmanTT - Lessons learned in building jawaker

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

Page 13: AmmanTT - Lessons learned in building jawaker

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)

Page 14: AmmanTT - Lessons learned in building jawaker

Thank you!

Page 15: AmmanTT - Lessons learned in building jawaker

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

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)