All Projects → jturcotte → touchockey

jturcotte / touchockey

Licence: MIT License
QtQuick2 hockey game using mobile browsers as game controller

Programming Languages

C++
36643 projects - #6 most used programming language
QML
638 projects
HTML
75241 projects
javascript
184084 projects - #8 most used programming language
Objective-C++
1391 projects
QMake
1090 projects
shell
77523 projects

Projects that are alternatives of or similar to touchockey

Tbe
The Butterfly Effect, a realistic physics simulation game
Stars: ✭ 63 (+186.36%)
Mutual labels:  qml, qt5, box2d
EEIoT
QML IoT components, for fast and super user friendly IoT projects
Stars: ✭ 38 (+72.73%)
Mutual labels:  qml, qt5
CatLearnQt
CatLearnQt,提供QWidget,Quick,网络,串口,基础库和示例。案例软件支持样式切换,与国际化。
Stars: ✭ 63 (+186.36%)
Mutual labels:  qml, qt5
DeadAscend
A 2D point'n'click-like adventure game written in Qt/QML and Javascript
Stars: ✭ 37 (+68.18%)
Mutual labels:  qml, qt5
pardus-store
Pardus Application Store
Stars: ✭ 32 (+45.45%)
Mutual labels:  qml, qt5
QPrompt
Personal teleprompter software for all video creators. Built with ease of use, productivity, control accuracy, and smooth performance in mind.
Stars: ✭ 168 (+663.64%)
Mutual labels:  qml, qt5
QtDemos
This is a demo about Qt5, including Qt Custom Widget, Qt Multithreaded Downloader, QML Video Player(using OpenGL, FFmpeg and SDL2)
Stars: ✭ 18 (-18.18%)
Mutual labels:  qml, qt5
QmlTreeWidget
A TreeView component, implemented by QML, providing convenient interfaces and customizable stylesheet, also available for iOS and Android.
Stars: ✭ 34 (+54.55%)
Mutual labels:  qml, qt5
QtIosCMake
📱 Deploy Qt Application for iOS with a single macro when using CMake.
Stars: ✭ 35 (+59.09%)
Mutual labels:  qml, qt5
maxLibQt
A collection of C++ classes and QtQuick QML components for use with the Qt framework.
Stars: ✭ 18 (-18.18%)
Mutual labels:  qml, qt5
qak
Qak - the QML Aid Kit
Stars: ✭ 20 (-9.09%)
Mutual labels:  qml, qt5
vatsinator-legacy
An open-source Vatsim monitor
Stars: ✭ 12 (-45.45%)
Mutual labels:  qml, qt5
mini-qml
Minimal Qt deployment for Linux, Windows, macOS and WebAssembly.
Stars: ✭ 44 (+100%)
Mutual labels:  qml, qt5
LunarGdx
A networking library for LibGDX utilizing Netty allowing easy creation of multiplayer games.
Stars: ✭ 23 (+4.55%)
Mutual labels:  box2d, multiplayer-game
qt-template
Template/Example of Qt/QML built with CMake/qmake. (include PyQt and PySide2)
Stars: ✭ 15 (-31.82%)
Mutual labels:  qml, qt5
qtprotobuf
Protobuf generator and bindings for Qt framework
Stars: ✭ 138 (+527.27%)
Mutual labels:  qml, qt5
sddm-sugar-dark
The sweetest dark theme around for SDDM, the Simple Desktop Display Manager.
Stars: ✭ 72 (+227.27%)
Mutual labels:  qml, qt5
QtMobileApp
This repository contains basic template for Qt for mobile app development using QML and C++ as backend to access RESTful API's
Stars: ✭ 16 (-27.27%)
Mutual labels:  qml, qt5
slashdiablo-launcher
A lightweight cross platform Slashdiablo game launcher for Diablo II, written in Go & QML.
Stars: ✭ 29 (+31.82%)
Mutual labels:  qml, qt5
Crusta
Fast, modern and minimal desktop web browser with rich features
Stars: ✭ 53 (+140.91%)
Mutual labels:  qml, qt5

touchockey

This is a shared screen multiplayer hockey game allowing you to play on local network with your friends using your mobile phone's browser as game controller.

Comments are welcome on Google+ and Twitter

Gameplay Controlling the game

To play

  • Make sure that all client phones are on the same WiFi network.
  • Execute the game's server executable on a computer
  • Scan the QR Code displayed on the screen with a phone (or enter the shown HTTP address manually in the web browser). The phone's browser will load the HTML controller client directly from the computer.
  • Enter your name and then move your fingers on the phone screen, the player on the computer screen will follow the movements. Move your fingers quickly to make the player move faster.

The goal of the game is to push the puck in the blue goal if you are red, or vice-versa. Points are shown but the game never ends.

There is no limit to the number or players that can join, but I didn't try more than 6.

Install

Binaries are available for OSX and Windows, install vcredist_x86.exe if you get a missing MSVCR120.dll error on Windows.

To build from sources

External dependencies:

  • Qt >=5.3
  • libqrencode
git submodule update --init
qmake && make

To build for lower end devices:

git submodule update --init
qmake DEFINES+=LOWFI=1 && make

Known issues

  • There is no frame rate adaptation of any sort, so if your computer can't get you v-synced 60fps it will feel horrible. Try reducing the resolution or the size of the window otherwise.
  • The IP address in the QRCode is wrong on Windows Vista and 7. Please use the displayed URL, replacing the IP address with the one reported by the network adapter status instead.

Implementation details

A small HTTP server embedded in the game lets players connect using their phone's browser and fetch an HTML game controller UI that sends touch events back to the game through a WebSocket.

The graphics are done using QtQuick and the physics with qml-box2d. Most of the game logic is done in QML, except for the bump mapping LightedImage item and the backend network server logic that are written in C++.

License

The code is released under the MIT license.

Included or modified external components

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].