Distributed Systems II Extremely Massive Multiplayer Browser Based - - PowerPoint PPT Presentation

distributed systems ii
SMART_READER_LITE
LIVE PREVIEW

Distributed Systems II Extremely Massive Multiplayer Browser Based - - PowerPoint PPT Presentation

Distributed Systems II Extremely Massive Multiplayer Browser Based Games 1/5 Strategy game Idea: Tribes(Nomad-like) Idea: Tribes(Nomad-like) 2/5


slide-1
SLIDE 1

Distributed Systems II

Extremely Massive Multiplayer Browser – Based Games Νικολάου Σταύρος

slide-2
SLIDE 2

Προδιαγραφές 1/5

  • Strategy game
  • Idea: Tribes(Nomad-like)
  • Idea: Tribes(Nomad-like)
slide-3
SLIDE 3

Προδιαγραφές 2/5

  • Map

– Divided into regions(grid - X,Y coordinates) – Each region has a type(forest, hill, plains, sea, swamps, desert, lakes, mountains) swamps, desert, lakes, mountains) – The type of each region determines resources and movement speed. – Each region has resources(wood, stone, metal, food) – Not distributed – Static(for now)

slide-4
SLIDE 4

Προδιαγραφές 3/5

  • Tribes 1/2

– Name, population, position(in the map(x,y)) – Move (token which is changes position in the map controlled by players) – Speed:Full, Limited(half speed), Restricted(quarter speed) – Troops

  • Units(ID, Type, Quantity, Owner)
  • Units(ID, Type, Quantity, Owner)
  • Types(Archer, Horseman, Mage, Warrior)
  • Upgrades of types above(Ranger, Knight, Battlemage, Gladiator)
  • Attributes(ID_type, Name,Att, Def, Requirements)

– Veterans/Trainers

  • Units(ID, Type, Quantity, Owner)
  • Types: Sentinels(Archer, Ranger), Sorcerers(Mage, Battlemage), Weapon

Masters(Warrior, Gladiator) Paladins(Horseman, Knight)

  • Attributes(ID_type, Name, Level, Requirements)
slide-5
SLIDE 5

Προδιαγραφές 4/5

  • Tribes 2/2

– Actions:

  • Move – change position on the map
  • Check region – which players are stationed in a specific
  • Check region – which players are stationed in a specific

region/part of the world

  • Create/Train/Build (troops, veterans)
  • Combat(Attack a tribe, Defend against attack, assist a

tribe by attacking its opponent, assist a tribe by defending it)

slide-6
SLIDE 6

Προδιαγραφές 5/5

  • Tribes (optional)

– Buildings(setlements/facilities - optional)

  • Same for each tribe
  • Needed in order to craft troops and veterans
  • Needed in order to craft troops and veterans
  • Very simple as we want nomadic gameplay
  • Few(if implemented) upgrades
  • Definition(ID, Type, Owner)
slide-7
SLIDE 7

Αρχιτεκτονική - Σχεδίαση

  • Design decisions

– Multiple Clients – Multiple servers – Single Database – tables collection(no replication) – Distributed Database

slide-8
SLIDE 8

System Architecture

Client Client

Client Client Client

Client Client Client

Client

… SERVER Database Shard SERVER Database Shard SERVER Database Shard … …

slide-9
SLIDE 9

Αρχιτεκτονική - Σχεδίαση

  • Design decisions

– Horinzontal Partitioning

  • Method: Shards(Directly Implemented by Hibernate)
  • Dynamic number of servers with part of the world’s database.
  • Each server will represent a part of the world(with each own tables organized

by (world)region based criteria-this can change)

  • 3 –tier architecture
  • 3 –tier architecture

– User interface/presentation layer(client will express his actions/querries such as move tribe, troops building, veteran training, combat) – Middle tier/application layer(process clients actions and queries, interact- select, insert, update- with the stored DB and inform the player for the result) – Actual DB/data layer(the data stored in the DB is not in the form that the application layer uses it – it’s stored in relational tables)

slide-10
SLIDE 10

Αρχιτεκτονική - Σχεδίαση

  • 3 –tier architecture

Client Layer

Web Browser, JSP lient PC Web Browser, JSP

Application Layer

Game Logic, Objects(RMI), Data Access

Database Layer

Tables Clie Web Server

Database Server

slide-11
SLIDE 11

Αρχιτεκτονική - Σχεδίαση

  • Design decisions

– Language: JAVA – Why:

  • Easy
  • Easy
  • Many already implemented packages/libraries

reduces the code to be written

  • Hibernate: Special Java library which offers great

flexibility in managing DB’s based on the relational model(very helpful for RDBMS)

slide-12
SLIDE 12

Αρχιτεκτονική - Σχεδίαση

  • Design Decisions

– Indexing

  • Distributed Hash Tables

– Like hash tables – Like hash tables – The shard/part(therefore the server) of the DB that will be accessed is defined by the return value of the selected hashed function

– Data retrieval

  • CAN(hopefully)
slide-13
SLIDE 13

Στόχος

  • Obviously a playable game
  • Database consistency
  • Most importantly SCALABILITY!!!