Game development in Silverlight platform

OData support
Vajk Tamás
Department of Automation and Applied Informatics

Web-based games deploy in the browser, requiring little or no client installation. They often have rudimentary graphics, tinny soundtracks and simplistic game play - but, nevertheless, they are often highly addictive. Their main appeal is that you can get into the game and start enjoying yourself straight away, without waiting for long installations to complete, which means that you can find yourself wasting an hour or two without realizing it.

The online games market is currently dominated by Adobe Flash – „Flash games" is often used as a synonym for Web-based games. However, this does not mean that there is no other alternative to develop web-based games The purpose of the Silverlight technology is to build Rich Internet Applications – and games fall into that category. My thesis aims to make a web game, and get to know the Silverlight technology through the development process.

My game is based on a multiplayer board game called Risk. In the completed application the most important functions are covered by the server. It keeps track of the clients, the ongoing games, and the associations between the two. It handles changes in the game caused by actions of the clients and informs the concerned parties about them. The server can access the database, which contains the data of the users and the different levels.

The Silverlight clients follow the Model-View-ViewModel design pattern. This has the advantage of a separated game logic and user interface, which can be developed simultaneously. A duplex communication model is needed between the client and the server, for this purpose I chose the HTTP Polling Duplex protocol.

In this document I describe the advantages and disadvantages of the possible technological choices, and show in greater detail the selected technologies. Later I describe the structure of the application and the realization of its features, also addressing some difficulties I experienced during the course of development. Finally, I summarize my experiences and mention some further development opportunities.


Please sign in to download the files of this thesis.