User intervention in livestreams via LN — PenguinShooter
This is version 1.2 of “A Bitcoin Lightning Network powered RPG — PenguinShooter” (details for download coming soon)
In the first release of PenguinShooter the gamer pays for ingame items with LN payments. He sees LN invoices within the game and notices the results almost in real time because LN payments are almost instant.
In version 1.2 I integrated some new features that can be triggered by LND payments from a viewer who is watching a livestream.
For this, I use a webserver which connects to my LND node and displays LN invoices to the viewer. Depending on what options and invoices he chooses, he can alter the gameplay of the streamer.
There are three different kind of payments:
- invoices that support the streamer (money goes to the developer)
- invoices that disturb the streamer (money goes to the streamer)
- neutral invoices (money will be split between developer and streamer)
List of things how the viewer can disturb the streamer with LN payments
- Steal him items! You can steal his weapons (apples/bananas/kiwis) and HP/MP potions.
- Freeze him for a few seconds (selectable between 1–9 seconds)! Use this when he’s fleeing from monsters and watch him being killed.
- Make all monsters attack the streamer! Usually a monster just attacks you when you are close to it(apart from sheep and pigs), or attack it. When this is paid, all monster will be running towards the streamer to attack him. Combine this with the feature above. Buy a few strong monsters before!
- Let the sun go down! The sun will set and it will get dark. It will only get bright again if another viewer pays for it (see further below)
- Make the streamer blind for 10 seconds! A black window will appear in the middle of the screen which makes it difficult to see.
- Swap the turning right and left keys on the keyboard. Pressing “a” and “d” will be swapped (as well as left and right arrow). if you want to turn right, you will turn left. Stays active until someone pays for the opposite feature (see further below)
- ATTACK THE STREAMER! With this payment you attack the streamer directly. He will lose 20% HP each second until he has only 1HP left. If he is surrounded by monsters this can be very dangerous.
- Spawn a soldier! You can spawn a soldier, who attacks the streamer (1 shot per second) as long as he lives. The streamer will need to kill him as well and but gets no exp points.
Now a list of LN payments that support the streamer
- Buy monsters, weapons (apples,bananas,kiwis), HP/MP potions for the streamer
- Buy him super power! He will be invincible for a period of time, move faster and give damage to all monster he touches (like the star in Super Mario games)
- Freeze all monsters! (Selectable between 1 and 9 seconds)
- Let the sun rise! (It will get bright again, see “let the sun go down” further above)
- Fix the swapped keys! (If the left and right keys are swapped, this will get fixed, see “Swap the turning right and left keys” further above)
Some neutral payments
- Change the ingame music! (You can select between Linkin Park-In the End, Beethoven or the standard music)
- Make a party! (Turn the arena into a disco for 60 seconds. If it’s already playing, extend the timer for another 60 seconds)
The game itself is a proof of concept. It’s inteded to show what’s possible with the Lightning Network. I don’t expect lots of people to play it. Especially live streaming the game will probably not be done a lot.
I would like to test this anyway as another proof of concept and want to ask the community if someone is willing to play PenguinShooter live on Twitch or YouTube while the viewers either support or disturb him live with LN payments, while he’s playing. The first will be Sputn1ck from Donnerlab, who plays his own LN game on Monday evenings. After playing DonnerDungeon, he will play a round of PenguinShooter on twitch. The livestream is scheduled for 10th February, 20:00 GMT. If you’re interested in participating with your LN payments, visit https://www.twitch.tv/donnerlab at that time.
I didn’t implement a feature yet which lets the gamer add his own invoices to receive payments. At the moment all payments go to the developer. However I want to give those satoshis back to the streamer after the live stream. In the game you can enable a counter that displays the money raised by the developer and the streamer depending on the kind of payment (good/bad/neutral)