An open-source multiplayer cross-platform web game, where every player controls a block and needs to dodge incoming blocks or collect items. The game is played on a host PC, where the players move their blocks using their mobile device as controller. The game is built with Node.js, Express.js, PixiJS and Websockets.
You can play and test out the game Here
This Project was designed and iterated using a Participatory Design Process, by including choosen test users into the development process.
They gave great Feedback, had creative ideas, tested, evaluated and found lots of Bugs. My great thanks and appreciation goes out to:
Robert Klein
Ylli Loshaj
Richard Semrau
Simon Jigalin
Karl Goering
Maximilian Feldmann
Can Attila Gabes
Elias Muradi
You can be a part of Finalblockdown too! This is an Open-Source project, where we would love your input or optimization of the game.
Here is a Guide to Contribution so you know the preferred process. This Project is licensed under the MIT-License, feel free to reach out if you have any question regarding Contribution.
This is a project developed by Florian Berghahn during his practical project and bachelor's thesis at the TH Köln in the Media Computerscience degree. Find more information about the bachelor thesis and the participatory process Here
- HTML, CSS, and JavaScript for the user interface
- JavaScript with nodeJS as the runtime environment on the server
- Websockets with the Websocket-Node Library
- Linux-Ubuntu on the required VServer
- Apache2 as the HTTP server
- PixiJS for browser graphics and interactions
- A simple implementation of a Spatial Hashmap for collision detection
For local execution, nodeJS must be installed so that the server can be started as follows:
node server.js
Then, 7B26 the system can be accessed in the browser at localhost:9000/. If the port is occupied, it can be adjusted in the server.js file at line 11.
// Here the port can be changed if necessary
var port = process.env.PORT || 9000
Mobile devices cannot be connected via localhost, but they can be simulated via the browser, by:
- Opening the console
- Clicking the printed localhost link and opening new tabs or windows for every player you want to add
- Input a name and join the lobby (the name input is turned, because it's designed for mobile and detects it as landscape on a PC)
- Go back to your main window or tab
As an introduction to the topic, a tutorial by Hussein Nasser was worked through and the resulting code was used as a basic framework for WebSocket communication.
Github Link to the Tutorial Code
The Css menu is based on the work from:
The Background music for the game is from:
Powerful Trap Beat | Strong by Alex-Productions | https://onsound.eu/
Music promoted by https://www.chosic.com/free-music/all/
Creative Commons CC BY 3.0
https://creativecommons.org/licenses/by/3.0/
- There are still some issues for some mobile devices when screen rotation is activated