Difference between revisions of "Game:Jump Wheel"
m (added location) |
m (whoops, another typo (hasty speed is rarely good)) |
||
(6 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{Project | {{Project | ||
+ | |Featured=No | ||
|State=Completed | |State=Completed | ||
− | |Members= | + | |Members=Multiple |
|Description=Synchronize your jump with your coop players and beat the record | |Description=Synchronize your jump with your coop players and beat the record | ||
+ | |GitHub=JumpWheel | ||
|Picture=JumpWheel.png | |Picture=JumpWheel.png | ||
}} | }} | ||
+ | Note that there is another GitHub repository game that works with the jump pads: [[GitHub::https://github.com/ACKspace/MineCart|MineCart]] | ||
== synopsis == | == synopsis == | ||
Line 13: | Line 16: | ||
Lots of participants worked or helped on this; add your name if you were involved. | Lots of participants worked or helped on this; add your name if you were involved. | ||
+ | |||
+ | == the game == | ||
+ | You are standing on a plate on a big wheel. If you jump, you will cause an imbalance to the wheel and it will start to roll. The trick is to jump sequentially and have the wheel roll as fast as possible to the finish line. | ||
+ | Some keys: | ||
+ | * {{k|1}}...{{k|4}} player 1 to 4 jump | ||
+ | * {{k|5}} reset the game (reload the page), depending on the number of players on the wheel | ||
+ | * {{k|ctrl}} + {{k|space}}: edit group name | ||
+ | * {{k|ctrl}} + {{k|1}}...{{k|4}}: edit player name | ||
+ | * {{k|←}} or {{k|→}}: roll wheel (cheat) | ||
+ | * {{k|shift}} + {{k|←}} or {{k|→}}: roll wheel fast (cheat) | ||
+ | * {{k|alt}} + horizontal mouse move: set wheel location (cheat) | ||
+ | * bottom right click: reset players | ||
+ | * {{k|ctrl}} + {{k|shift}} + bottom right click: reset game and highscores | ||
== the software == | == the software == | ||
Line 19: | Line 35: | ||
When the wheel crosses the finish, the score is calculated from the time it took to finish. | When the wheel crosses the finish, the score is calculated from the time it took to finish. | ||
− | You can fetch the | + | You can fetch the game files from github, extract anywhere but the steam folder and run game.html in chrome or firefox. |
== the hardware == | == the hardware == | ||
− | The human interface part consists of a mechanical part: the jump pads, and an electrical part: the | + | The human interface part consists of a mechanical part: the jump pads, and an electrical part: the Arduino Leonardo. |
For the jump pad, you'll need some | For the jump pad, you'll need some | ||
* strips/slats of wood | * strips/slats of wood | ||
Line 29: | Line 45: | ||
* some wire to solder on to it | * some wire to solder on to it | ||
− | For creating the link from jump pad to computer, an | + | == the firmware == |
+ | For creating the link from jump pad to computer, an Arduino Leonardo is used as a keyboard interface. | ||
This allows one to send up to 6 keystrokes at a time (as part of the USB HID class payload) | This allows one to send up to 6 keystrokes at a time (as part of the USB HID class payload) | ||
− | + | The Arduino sketch can be found [[GitHub::https://github.com/ACKspace/jumppad|here]] | |
− | |||
− | |||
− | |||
− | |||
− | The | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== todo == | == todo == | ||
* solve contact bounce for pads pulled to ground | * solve contact bounce for pads pulled to ground | ||
* add extra modes (inverse lines, wsad, arrows, function keys, shift keys) | * add extra modes (inverse lines, wsad, arrows, function keys, shift keys) | ||
− | * | + | * change setInterval to requestAnimationFrame in game.html |
− | * | + | * put velcro to the sides so we can stick them together (and prevents them from sliding around a bit) |
− | + | * add hardware layout (it has preparations for leds and analog inputs) | |
− | * add | ||
== done == | == done == |
Latest revision as of 14:15, 26 July 2017
Project: Game:Jump Wheel | |
---|---|
Featured: | No |
State | Completed |
Members | Multiple |
GitHub | JumpWheel |
Description | Synchronize your jump with your coop players and beat the record |
Picture | |
Note that there is another GitHub repository game that works with the jump pads: MineCart
synopsis
The game consists of a wheel with four players on it. If a player jumps, the center point of gravity of the wheel changes, and the wheel will turn.
To get a player to jump, a person needs to jump on a special built jump pad.
Lots of participants worked or helped on this; add your name if you were involved.
the game
You are standing on a plate on a big wheel. If you jump, you will cause an imbalance to the wheel and it will start to roll. The trick is to jump sequentially and have the wheel roll as fast as possible to the finish line. Some keys:
- 1...4 player 1 to 4 jump
- 5 reset the game (reload the page), depending on the number of players on the wheel
- ctrl + space: edit group name
- ctrl + 1...4: edit player name
- ← or →: roll wheel (cheat)
- shift + ← or →: roll wheel fast (cheat)
- alt + horizontal mouse move: set wheel location (cheat)
- bottom right click: reset players
- ctrl + shift + bottom right click: reset game and highscores
the software
The on-screen part of the game is written in Javascript using HTML5 and some images from various classic computer games. If a key is pressed, the corresponding player jumps and the wheel will turn. When the wheel crosses the finish, the score is calculated from the time it took to finish.
You can fetch the game files from github, extract anywhere but the steam folder and run game.html in chrome or firefox.
the hardware
The human interface part consists of a mechanical part: the jump pads, and an electrical part: the Arduino Leonardo. For the jump pad, you'll need some
- strips/slats of wood
- two squares of plywood
- two sheets of conductive tape
- some wire to solder on to it
the firmware
For creating the link from jump pad to computer, an Arduino Leonardo is used as a keyboard interface. This allows one to send up to 6 keystrokes at a time (as part of the USB HID class payload) The Arduino sketch can be found here
todo
- solve contact bounce for pads pulled to ground
- add extra modes (inverse lines, wsad, arrows, function keys, shift keys)
- change setInterval to requestAnimationFrame in game.html
- put velcro to the sides so we can stick them together (and prevents them from sliding around a bit)
- add hardware layout (it has preparations for leds and analog inputs)
done
- use descent wiring/connectors on the jump pads (for example: stereo jack plugs, so we can add some leds to the pads)
Location: you can play it on the ACKade (on the desktop)