From 2c915a705747fe906964f2cef465445108de9cc5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonatan=20P=C3=A5lsson?= Date: Wed, 30 Mar 2011 11:39:52 +0200 Subject: [PATCH 1/5] Added challenges section; different languages, types of games, designing protocols, apis, etc etc. --- report.lyx | 73 +++++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 64 insertions(+), 9 deletions(-) diff --git a/report.lyx b/report.lyx index c7753f6..ec78113 100644 --- a/report.lyx +++ b/report.lyx @@ -1,4 +1,4 @@ -#LyX 1.6.9 created this file. For more info see http://www.lyx.org/ +#LyX 1.6.7 created this file. For more info see http://www.lyx.org/ \lyxformat 345 \begin_document \begin_header @@ -494,14 +494,69 @@ Challenges \end_layout \begin_layout Standard -The main challenge is to provide a reliable, high-performing and scalable - server without making it too difficult for game developers do write their - game. - It should for example be possible for them to use the language they are - familiar with. - In our GGS prototype we added a module for a virtual machine which is highly - exchangable. - For now we have a JavaScript VM (Spidermonkey) and a ActionScript VM. +The word +\emph on +generic +\emph default + in GGS implies that the system is able to run a very broad range of different + code, for instance code written in different programming languages, in + addition to a broad range of different game types. + In order to support this, a virtual machine (VM) for each +\emph on +game development language +\emph default + (hereafter GDL for brevity) is used. + +\end_layout + +\begin_layout Standard +No hard limit has been set on which languages can be used for game development + on GGS, but there are several factors which decide the feasibility of a + language; +\end_layout + +\begin_layout Itemize +How well it integrates with Erlang, which is used in the core GGS system + +\end_layout + +\begin_layout Itemize +How easy it is to send messages to the virtual machine of the GDL from GGS + +\end_layout + +\begin_layout Itemize +How easy it is to send messages from the GDL VM to GGS +\end_layout + +\begin_layout Standard +Internally, the GDL VM needs to interface with GGS to make use of the helpers + and tools that GGS provides. + Thus an internal API has to be designed for use in interacting with GGS. + This API is ideally completely independent of the GDL, and reusable for + any GDL. +\end_layout + +\begin_layout Standard +The communication with gaming clients has to take place over a protocol. + Ideally a standard protocol should be used, in order to shorten the learning + curve for developers, and also make the system as a whole less obscure. + A large challenge during this project is to decide whether an existing + protocol can be used, and if not, how a new protocol can be designed which + performs technically as desired, while still being familiar enough to existing + developers. +\end_layout + +\begin_layout Standard +A great deal of work is devoted to make GGS +\emph on +reliable +\emph default +. + This includes ensuring that the system scales well, and to make sure it + is fault tolerant. + In order to facilitate scalability, we need a storage platform which is + accessible and consistent among all of GGS, this is also investigated. \end_layout \begin_layout Subsection From e30b41976c61ad5478ecc69fd654ada3bf623408 Mon Sep 17 00:00:00 2001 From: niklas Date: Wed, 30 Mar 2011 12:11:02 +0200 Subject: [PATCH 2/5] Added delimitations section! --- report.lyx | 46 ++++++++++++++++++++++++++++++++++++---------- 1 file changed, 36 insertions(+), 10 deletions(-) diff --git a/report.lyx b/report.lyx index ec78113..6653be3 100644 --- a/report.lyx +++ b/report.lyx @@ -567,19 +567,45 @@ Basis Delimitations \end_layout -\begin_layout Subsection -Types of games +\begin_layout Standard +The implementation of the GGS protocol, together with storage possibilities, + server capacity, and game language support imposes some limitations on + the project. + To get a functional prototype some limits must be set on the types games + that can be played on the prototype. \end_layout \begin_layout Standard -In theory no limitations, but in reality it will be limitations. - Many factors are involved here. - Implementation of protocol, storage possibilities, server capacity, language - support. - In real time games a low latency is very important not a high bandwidth - because the games already send very little data, ~ 80 bytes. - Lag of below 250 ms is good, lag up to 500 ms payable and beyond that the - lag is noticeable. +The UDP protocol will not be implemented, only TCP, the main reason behind + this is a strict timetable. + This decision means that games that requires a high speed protocol will + not be supported by the GGS prototype. + Another limitation necessary to set on the system is the possibility to + have huge game worlds. + Due to the limited capability of threading in many GDL VM:s, GGS will not + support +\emph on +massively multiplayer online role playing games +\emph default + (MMORPG) games such as +\emph on +World of Warcraft +\emph default + or +\emph on +EVE Online +\emph default + as it is not possible to implement and test something that complex within + the projects timetable. +\end_layout + +\begin_layout Standard +The GGS is only a small prototype and tests will be performed on simple + games like pong or chess, thus there are no need to implement more advanced + features in the system. + It is important to note that these limitations only apply for the prototype + of the project, and that further developments to GGS could be to implement + these features. \end_layout \begin_layout Section From 5d0c5e9ea25a7d71b227b9a37ddac05e6995ad10 Mon Sep 17 00:00:00 2001 From: niklas Date: Wed, 30 Mar 2011 12:21:36 +0200 Subject: [PATCH 3/5] Removed unnecessary heading --- report.lyx | 4 ---- 1 file changed, 4 deletions(-) diff --git a/report.lyx b/report.lyx index 6653be3..9472162 100644 --- a/report.lyx +++ b/report.lyx @@ -559,10 +559,6 @@ reliable accessible and consistent among all of GGS, this is also investigated. \end_layout -\begin_layout Subsection -Basis -\end_layout - \begin_layout Section Delimitations \end_layout From 5478f1a45f441fde0d34a3c56440bdb8fc965e62 Mon Sep 17 00:00:00 2001 From: Jeena Paradies Date: Wed, 30 Mar 2011 12:27:25 +0200 Subject: [PATCH 4/5] center --- #report.lyx# | 2 +- report.lyx | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/#report.lyx# b/#report.lyx# index a6c9c84..c062968 100644 --- a/#report.lyx# +++ b/#report.lyx# @@ -58,7 +58,7 @@ \pagestyle{fancy} \lhead{\thechapter} -\usepackage[hmargin=3cm,vmargin=3.5cm]{geometry} +\usepackage[hmargin=3cm,vmargin=3.5cm]{geometry} \end_preamble \use_default_options true \language english diff --git a/report.lyx b/report.lyx index ec78113..5c139e4 100644 --- a/report.lyx +++ b/report.lyx @@ -1,4 +1,4 @@ -#LyX 1.6.7 created this file. For more info see http://www.lyx.org/ +#LyX 1.6.9 created this file. For more info see http://www.lyx.org/ \lyxformat 345 \begin_document \begin_header @@ -57,6 +57,8 @@ \usepackage{fancyheadings} \pagestyle{fancy} \lhead{\thechapter} + +\usepackage[hmargin=3cm,vmargin=3.5cm]{geometry} \end_preamble \use_default_options true \language english From 02c5079a064edbee0efde9002400d06022815b25 Mon Sep 17 00:00:00 2001 From: Jeena Paradies Date: Wed, 30 Mar 2011 12:37:46 +0200 Subject: [PATCH 5/5] added dot --- .gitignore | 2 +- report.lyx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 5236e1e..da4e509 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ *~ - +\#* diff --git a/report.lyx b/report.lyx index 2d67564..5955ec9 100644 --- a/report.lyx +++ b/report.lyx @@ -763,7 +763,7 @@ status open \begin_layout Plain Layout Players are unsatisfied with the service of WoW Telecoms have the same problem - of having to migrate users from one node to another, this is called handover + of having to migrate users from one node to another, this is called handover. \end_layout \end_inset