Skip to content

s111/gamesystem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Game system

For this thesis we have developed a game system for couch multiplayer PC games to be played in social gatherings. The main feature is to enable the use of smartphones as the game controllers. It consists of the back end and a front end application enabling users to choose between games to play. Sample games are included to ease the learning curve for developers seeking to create or adapt games for it.

The development was carried out using web technologies like HTML5 and JavaScript. For all communication within the system the WebSocket protocol was used. For developing the back end of the system the programming language Go was utilized.

The system is designed using the common client-server architecture, where the back end acts as the server and both the game and the smartphone controllers acts as clients.

Table of Contents

Precompiled

The game system packaged together with some sample game.
Linux
Windows
All Releases

Develop

Download the repository:

go get github.com/s111/gamesystem

Run the system:

cd $GOPATH/src/github.com/s111/gamesystem
go run main.go

For specifics on how to develop a game for the system, checkout the documentation and the sample games Pong, TriggerHappy and Quizzer.

While developing a game for the system, you might want to run the game system in the background without the launcher:

go run main.go -scheduler=false

This is so you can run your own game from your IDE.

Compile and package

go get github.com/s111/gamesystem
go install github.com/s111/gamesystem

There should now be a gamesystem binary in $GOPATH/bin. In addition to the gamesystem binary, you need hub.js, jquery.js and phaser.js to be in the same folder. You will also need to create a folder with the name games, this is where the system looks for games. Now you need to compile and copy the Launcher into this folder.

Screenshots

Launcher

Controller

More screenshots