Game Service :: Introduction

A web service for storing and retrieving high scores for games. This is particulary useful for java applets, which are very limited in which resources they can access.

launch button

The service is implemented in a RESTful manner, which makes it trivially easy to access from a wide variety of client platforms. I have created a client library in java, but it does nothing more than establish an HttpURLConnection to the server.

It is possible to access the service using your web browser. In fact, the high scores for each currently registered game are available here.

Java Client

I have created a java client library which can be used within an applet. You can download an archive containing the JAR file and Javadocs.

Using the client library is as simple as:

import com.stimware.gameservice.ScoresClient;
import com.stimware.gameservice.Score;
import java.net.URL;
...
// Establish connection to server
ScoresClient client = new ScoresClient(new URL("http://www.stimware.com/GameService/"));

// Create a game
client.createGame("MyGame");

// Add some scores
client.addScore("MyGame", new Score("AMY", 100));
client.addScore("MyGame", new Score("BARRY", 200));
client.addScore("MyGame", new Score("CATHY", 300));

// List the scores
List<Score> scores = client.getScores("MyGame");

// Delete the game
client.deleteGame("MyGame");

Security

Currently this service does not implement any level of security. As such it is exceptionally easy to "hack", if you could even call it that. All one has to do is read the spec to figure out how to post your fictitious high scores.

The point of this exercise is to provide an open service for recording of high scores using the simplest remote API possible. It is actually more of an educational excercise for myself in creating RESTful web services using PHP, and a java API for accessing that service. So far this has been a success and I have decided to share it with the general public.

This doesn't rule out me creating a new version in the future which is locked down for use by specific games where the integrity of the high scores is paramount.