Online simulation game Keep Cool Online 2

Category: Web-Programming


The board game Keep Cool as well as the Flash-based Keep Cool Online were developed at the University Oldenburg. The four of us students participating in this project at the University of Applied Sciences Bremerhaven developed a successor. An important goal was to achieve cross-platform compatibility, which meant that we would not be able to continue using Flash. The interface required a thorough update as well since the existing one ranged from unclear to downright confusing and wasn't really pleasing to look at. Moreover, new functionalities should be integrated, esp. for communications.


So much for the project's scope. What is KCO2 about, anyway? Two up to six players take part in a game with each of them representing a functional group of countries like Europe, the developing countries or the OPEC. They have to meet targets like having a certain amount of money in their possession or owning a particular number of factories. These factories are vital to gameplay. Spending money, you can build two sorts of them, black ones and white ones. Former are cheaper, but pollute the environment, latter do not harm the simulated climate, but cost much more. Why this is important? During each round of the game a kind of pollution-level is calculated, which is represented by the CO2-bar on the left of the screen. And at the end of each round, consequences for the climate and the players are simulated. The higher the CO2-level, the more frequent and severe are the catastrophes which cost those who they strike a lot of money. Albeit one may buy protective measures, these require a large amount of cash and will not grant full security. Moreover a filled bar represents the end of the world and Game Over. So it is of utmost importance for the players to not ruthlessly force growth but rather act moderately and try to coordinate to reach their goals.


Now about the execution. The prime requirement was met by moving towards a pure HTML5/CSS3/JavaScript-application client-side. Usage of the HTML5-canvas for the zoomable and scrollable map and the existing factories is a central element. The interface which resides in a layer above the canvas uses DIV-containers, CSS3-effects and JavaScript-functions. Many sequential screens were replaced by a single view which combines all actions and contains much less text. To enable them to communicate, a chat for the participating players was integrated which bypasses the usual request-response-principle between client and server by means of Sockets and Nodes. This technology is also highly important for a synchronous gaming experience for all players.


The two semesters the project lasted, we developed a decent prototype which features high stability and many thought-out solutions. Development is being continued so the implementation of further features can be expected.