TechnologyClient/Server architectureAll online gaming sites are based on a client/server architecture. This means that the client (=the user on his machine) interacts with a server hosted remotely. Moreover, as moves are constantly exchanged between the client and the server, the architecture must work in real-time: the client is connected to the server while the game lasts. Client side: HTML/Javascript/CSSThere are many possible technologies for a client. It can be a browser, a Flash application, a Java program, an iPhone app , an Android app, etc. We chose to develop a browser application (also called web app) based on HTML, Javascript(Mootools framework) and CSS. In the past, this technology was unreliable because:
Nowadays, these problems are solved and it is completely possible to design a web app that works well on most browsers, with animations. As of today, Happy Meeple has been tested on Safari, Firefox, Chrome, Internet Explorer (from version 8.0): Happy Meeple works on every desktop (Mac/PC) and most smartphones and tablets (iPhone, iPad, Android). Making Happy Meeple work everywhere was certainly a challenge and it did slow down the development process. However, considering the advantage that the technology gives, it is a gamble that we are happy to have made. There is now no need for us to port our code to other platforms. Happy Meeple is basically compatible with almost everything. Server side: open source layersOn the server-side, Happy Meeple relies on open-source reliable technologies Apache/PHP/Mysql. On top of these usual technologies, Happy Meeple relies on open-source APE (Ajax-Push Engine APE project). This layer is designed to deal efficiently with real-time exchanges between the server and the client. No cheatingAs every online game is played via the server who acts as a referee, there is no cheating possible. Anyone trying to cheat will lose instantly. Happy Meeple is fastFrom the start, we designed Happy Meeple to be fast. There is very little downtime, very little loading time. Responses from the server are almost immediate. Animations are fluid. |