adangert / JoustMania

Raspberry Pi Jousting at its finest
http://joustmania.com
Other
123 stars 32 forks source link
conventions gamemodes games joust js linux music open player raspberry-pi source zombies

Magfest 2017 JoustMania at Magfest 2017!

Joustmania Logo

What is JoustMania????

Cool Stuffs!

Hardware

I am currently selling fully set up Joustmania devices (pi5 - 4gb model, case, bluetooth dongle, sd card, audio-connector) for $180 with included shipping domestically. If you would like to inquire about purchasing a fully setup Joustmania device, please reach out to joustmaniagame@gmail.com

If you would like to build your own device you will need the following:

Optional and recommended:

Note on Hardware: The internal bluetooth is shorter range and has a slightly higher latency The class 1 adapters allow bluetooth connections up to 300+ feet and allow for the gameplay to be smooth, each adapter can connect to 6 to 7 controllers. I've tested this build with four adapters and 18 controllers successfully.

Optional:

This will allow you to charge 9 controllers at once through the pi

Installation

  1. Download and Install Raspbian on the micro SD card, this build was tested on the pi 4 and 5, with the latest version of the raspberry pi OS, 32 or 64 bit. If you would like to try installing on Debian there are some extra instructions here that could help.
  2. Connect the bluetooth adapters, (usb audio connector for the pi 5), and speakers
  3. Turn on the pi, open a Terminal and run these commands, the pi will reboot on a successful install
  4. If something goes wrong during installation, try running setup.sh again.
git clone https://github.com/adangert/JoustMania.git
cd JoustMania
sudo ./setup.sh --disable_internal_bt

If you would not like to turn off the internal bluetooth (this is not recommended) leave off --disable_internal_bt

You can now disconnect the hdmi cable and run JoustMania in headless mode. JoustMania will automatically boot up on restart, menu music should start playing once the pi boots up. Note audio will only play out of HDMI when plugged into a monitor, and only out of the audio jack when unpluged from a monitor.

Update Joust Mania

Joustmania will auto update when started and connected to the internet. Sometimes there is a large update, it will say so, then you can press the start and select buttons on a controller to start this update, wait until the pi reboots. If you have the AP enabled, you may need to disable it first to gain access to the internet.

Pairing controllers

If pairing is not working for some reason, or you would like to resync all controllers run the following

cd JoustMania
sudo ./reset_bluetooth_connections.sh

If controllers seem to pair to only one Bluetooth adapter, it is likely that they share the same Mac address, refer to this issue: https://github.com/adangert/JoustMania/issues/172

With some bluetooth adapters and ps4 controllers, pushing the playstation sync button after plugging it into the pi may be necessary for it to pair correctly.

How to select a game mode

How to start a game

Admin Mode: Joustmania settings

You can become an Admin by pressing all four front buttons on any controller, this will allow you to modify the games settings from the four front buttons on the controller, After a game is played the Admin mode will be reset

For further settings such as turning off audio (play_audio) or changing the colors of controllers please edit the joustsettings.yaml file in the Joustmania folder.

Web Interface

Joustmania can also be controlled via a web browser on your laptop or smartphone. If your Pi is on a network, use the IP address of your Pi (for example, http://192.168.1.xxx/). Alternatively, you can turn your Pi in to an access point and connect your device directly to it. To enable this, run the command

sudo ./enable_ap.sh

Note that this disables normal Wi-Fi on the Pi, the ethernet connection should still work however. The default SSID is "JOUSTMANIA" and the default password is "joustmania"; both (and other) settings may be adjusted in the apfiles/hostapd.conf file before running enable_ap.sh.

To connect to the game, go to http://joust.mania in your web browser, you may have to disable LTE on mobile. To disable the access point and restore Wi-Fi, run the command

sudo ./disable_ap.sh

Custom Music

Game Rules and Variants

Support and funding

If you love this game you can support its development by helping out with my patreon here: https://www.patreon.com/adangert

We also have some great contributors if you would you like to help out with development, or find any bug fixes we would be happy to test them out and incorperate them into the repo!