TUXDB - LINUX GAMING AGGREGATE
by NuSuey
NEWSFEED
▪️ GAMES
▪️ STEAM DECK ▪️ DEALS ▪️ CROWDFUNDING ▪️ COMMUNITY
tuxdb.com logo
Support tuxDB on Patreon
Currently supported by 8 awesome people!

🌟 Special thanks to our amazing supporters:


✨ $10 Tier: [Geeks Love Detail]
🌈 $5 Tier: [Arch Toasty][Benedikt][David Martínez Martí]


Development Update 8: Twitch Integration in Death and Taxes

Hello peeps! Oak here! As chief memelord and coder extraordinaire, I'd like to talk to you a little bit about our Twitch integration. I implemented a way for Twitch streamers to interact with their audiences in Death and Taxes, which involves a few checkboxes and a really neat little book. QUICK REMINDER. We're going to be launching IN A MONTH (less than 30 days), so if you haven't wishlisted us on Steam yet, do so now! Then you'll get notified when we release :3 You can conveniently enable Twitch integration in the Options menu!
After that you can click on the book to vote! And when that's done, viewers can post messages in the chat to express their desire. You can also find us on Twitch when you're setting up your stream, as we have our very own category! In action, all of it looks something like this:
If you're interested in getting your Twitch playthrough of Death and Taxes featured on our Steam Store page, then let us know in the community boards here on Steam! We thought it'd be a fun way to just give content creators a chance to bring their audience into the game with them. All of this is completely optional, of course. This feature was something that we had been discussing mostly "as a joke" last summer, but the more we talked about it the more sense it made. Eventually, we laid down some facts on how we could use it, prototyped it, did some very basic UX design for it, and then Leene produced dedicated art assets to give it a polished and in-world look. We didn't want to sacrifice immersion for the sake of having a "gimmick" (so to speak). We're quite pedantic when it comes to worldbuilding, and I think in this case it played out in our favour.

So how did we actually do this?


Luckily, it's quite simple and only takes VERY limited coding knowledge, so basically anyone could do it! Our engine of choice for Death and Taxes has been Unity, and we're running on the 2019.2.10f1 version. It's not the latest, but it's stable enough for our needs. The steps you need to take to set everything up, if you're using Unity: This list seems short, and that's because it's quite simple to do. You can set all of this up within hours. The longest time it took for me at any single point was the third, as I was waiting for a verification e-mail from Twitch for about 20 minutes. Other than that, it was super fast. All you really have to do, is follow IMPORTANT ---->this guide<----- IMPORTANT and you'll be golden. The most important place where you really have to pay attention to what you're doing is the "SETTING THINGS UP" chapter. Just follow the guide line-by-line and you will be fine. I won't transcribe or re-iterate on what the guide does. Seriously, it's one of the best guides I've read. It really takes you through everything step-by-step. You can do a lot of neat things with the library, but our design neededsomething very barebones. We just needed our bot to read the chat messages and search for the phrases that would count as a vote. To that end, I merely had to register to a message handler, which the library provides, which looks something like this: private void ClientReference_OnMessageReceived(object sender, TwitchLib.Client.Events.OnMessageReceivedArgs e) { Debug.Log("Sender: " + sender + "; " + e.ChatMessage.Username + " wrote: " + e.ChatMessage.Message + " is broadcaster: " + e.ChatMessage.IsBroadcaster); if(VoteCounter.instance.IsVoteInProgress()) { if(e.ChatMessage.Message.ToLower().Contains(SaveManager.instance.CurrentOptions.StreamCommandDie.ToLower())) { VoteCounter.instance.RegisterVote(e.ChatMessage.Username, true); } if (e.ChatMessage.Message.ToLower().Contains(SaveManager.instance.CurrentOptions.StreamCommandLive.ToLower())) { VoteCounter.instance.RegisterVote(e.ChatMessage.Username, false); } } } I have a very simple algorithm that the code is supposed to be doing:
  • Check if a vote is in progress (clicking on the book starts a vote)
  • Check whether the message contains the phrase that counts as a vote (which can be customized in the options menu) - and yes, I do realize that if you'd write both phrases into a single message then sparing someone would take the vote, but I'm writing code for cool people, not for trolls
  • If there is a "vote phrase" in the message, register the vote
  • If a vote by an user was already registered, replace it with the new vote (no multi-voting so spamming won't work)
  • Update the visuals!
public void RegisterVote(string username, bool die) { if (UserVoteMap.ContainsKey(username)) { if (UserVoteMap[username]) { DieVotes--; } else { LiveVotes--; } UserVoteMap[username] = die; if (UserVoteMap[username]) { DieVotes++; } else { LiveVotes++; } } else { UserVoteMap.Add(username, die); TotalVotes++; if (die) { DieVotes++; } else { LiveVotes++; } } float liveRatio = (float)LiveVotes / TotalVotes; float dieRatio = (float)DieVotes / TotalVotes; Debug.Log("liveRatio: " + liveRatio); Debug.Log("dieRatio: " + dieRatio); Debug.Log("livePercent: " + Mathf.RoundToInt(liveRatio * 100.0f)); Debug.Log("diePercent: " + Mathf.RoundToInt(dieRatio * 100.0f)); SetScaleTargetAngle(Mathf.Lerp(-35, 35, dieRatio)); TextLivePercentage.text = Mathf.RoundToInt(liveRatio * 100.0f) + "%"; TextDiePercentage.text = Mathf.RoundToInt(dieRatio * 100.0f) + "%"; } This is just scratching the surface of what you could do with this library. Fortunately or unfortunately, Death and Taxes does not really have many points of interaction for community engagement in the game, other than the main mechanic. Implementing all of this took me about an hour, with around 15 minutes of testing on top. At first, I didn't have the voting phrases customizable, but I asked our streamer friends on Twitter and they said it'd be a nice thing to have. Adding that on top took me another hour, with additional testing and user input validation. On top of that, using this kind of library is safe. You can also program the bot to send messages to the chat, but I left that out, as some streamers would have to grant the bot extra privileges to write to chat, plus there is no real need for it, as the streamer can call out the vote on-stream and also there is a visual indicator on the screen (the red book). Just make sure you come up with secure credentials for your bot and enable two-factor authentication. You don't want to be losing accounts. Many thanks to the creators of TwitchLib, and Honest Dan Games for the awesome guide on how to get started with it! I hope that if you're ever making a game yourself, you found inspiration on how quickly you can add a neat little feature to share the fun! And as always, thank you everyone for reading along! I hope you all have a wonderful day :) Much love! Death and Taxes <3 PS: *Release anxiety intensifies*


[ 2020-01-25 00:22:31 CET ] [ Original post ]



Death and Taxes
Placeholder Gameworks
  • Developer

  • Placeholder Gameworks
  • Publisher

  • 2020-02-20
  • Release

  • Simulation Singleplayer
  • Tags

  • Game News Posts 76  
    🎹🖱️Keyboard + Mouse
  • Controls

  • Very Positive

    (5600 reviews)


  • Review Score

  • https://store.steampowered.com/app/1166290 
  • Steam Store



  • Death and Taxes Linux [2.02 G]

  • Public Linux depots

  • In this 2D, narrative-based game, you assume the role of the Grim Reaper... on an office job. Your job is to decide which people are going to live or die. The consequences of your choices are yours to bear, while the mystery of your incarnation awaits revelation!

    Meet your Fate.

    Coming February 2020.

    Don't forget to wishlist us to stay up-to-date when the game is released!
    MINIMAL SETUP
    • OS: Ubuntu 16.04+ or equivalent
    • Processor: i3 or equivalentMemory: 2 GB RAM
    • Memory: 2 GB RAM
    • Graphics: Integrated graphics or GPU with atleast 512 MB of VRAM
    • Storage: 500 MB available space
    RECOMMENDED SETUP
    • OS: Ubuntu 16.04+ or equivalent
    • Processor: i3 or equivalentMemory: 4 GB RAM
    • Memory: 4 GB RAM
    • Graphics: Integrated graphics or GPU with atleast 512 MB of VRAM
    • Storage: 500 MB available space
    GAMEBILLET

    [ 5952 ]

    16.99$ (15%)
    5.10$ (66%)
    16.99$ (15%)
    4.24$ (15%)
    8.24$ (18%)
    5.77$ (17%)
    15.99$ (20%)
    9.19$ (8%)
    13.33$ (73%)
    41.95$ (40%)
    33.17$ (17%)
    12.71$ (15%)
    4.44$ (78%)
    3.32$ (78%)
    20.74$ (17%)
    8.47$ (15%)
    24.89$ (17%)
    4.12$ (17%)
    10.66$ (37%)
    15.47$ (45%)
    4.23$ (92%)
    15.99$ (20%)
    4.44$ (78%)
    42.46$ (15%)
    4.23$ (79%)
    4.24$ (15%)
    12.74$ (15%)
    1.75$ (71%)
    25.95$ (13%)
    5.32$ (73%)
    GAMERSGATE

    [ 3221 ]

    3.75$ (62%)
    0.75$ (92%)
    2.5$ (50%)
    4.5$ (70%)
    1.58$ (77%)
    6.38$ (57%)
    5.0$ (50%)
    1.0$ (90%)
    8.5$ (66%)
    6.39$ (20%)
    3.14$ (55%)
    0.9$ (92%)
    13.74$ (45%)
    11.99$ (20%)
    7.0$ (65%)
    12.99$ (35%)
    11.67$ (27%)
    18.89$ (37%)
    18.75$ (62%)
    13.5$ (55%)
    0.94$ (81%)
    6.69$ (33%)
    2.5$ (75%)
    5.5$ (75%)
    6.8$ (66%)
    9.35$ (22%)
    2.88$ (71%)
    2.25$ (89%)
    3.32$ (74%)
    0.94$ (81%)

    FANATICAL BUNDLES

    Time left:

    22 days, 9 hours, 5 minutes


    Time left:

    4 days, 9 hours, 5 minutes


    Time left:

    35 days, 9 hours, 5 minutes


    Time left:

    41 days, 9 hours, 5 minutes


    HUMBLE BUNDLES

    Time left:

    2 days, 3 hours, 5 minutes


    Time left:

    2 days, 3 hours, 5 minutes


    Time left:

    11 days, 3 hours, 5 minutes


    Time left:

    18 days, 3 hours, 5 minutes

    by buying games/dlcs from affiliate links you are supporting tuxDB
    🔴 LIVE