Schlagwort: esports

  • Get more Path of Exile loot with your Twitch Prime membership

    Get more Path of Exile loot with your Twitch Prime membership

    Reading Time: < 1 minute

    Path of Exile and Twitch Prime have teamed yet again up to bring you the Purple Divine Sign, Purple Skull Helmet and Lavender Weapon effect for free with your Twitch Prime membership! Until May 23rd you’ll be able to redeem these free cosmetic effects and in the coming months you’ll be able to claim even more loot; so take to the battlefield in style!

    Claim now

    What is Twitch Prime?

    Twitch Prime benefits include free games, in-game loot and a Twitch channel subscription every month PLUS all the benefits of being an Amazon Prime member. See all the Twitch Prime benefits here.

    Check out the full list of Amazon Prime benefits in: US, UK, Canada, Germany, France, Austria, Belgium, Italy and Spain. You can try it for free for 30 days right here, and when you do, you unlock access to all Twitch Prime benefits just by linking your Twitch account to your Amazon Prime account.

    Website: LINK

  • Fortnite v8.30 Update Patch Notes Features a Rather Familiar Respawn Mechanic

    Fortnite v8.30 Update Patch Notes Features a Rather Familiar Respawn Mechanic

    Reading Time: 2 minutes

    The patch notes for the Fortnite v8.30 update have just been released on the Epic Games website, revealing the usual cavalcade of changes and gameplay tweaks.

    It’s a particularly busy week for Battle Royale, however, which, alongside yet another LTM, receives a brand-new and somewhat familiar respawn mechanic.

    Fortnite v8.30 Update Patch Notes – Battle Royale

    Known as the “Reboot Van”, the mechanic in question extends the period available to those playing in Duos or Squads during which they can revive their fallen teammates. This is done by collecting the downed player’s Reboot Card and delivering it to any nearby Reboot Van, something which should sound pretty familiar to anyone who’s played Apex Legends.

    To be fair to Fortnite, Reboot Cards only hang around for 90 seconds, which is slightly shorter than the Apex. Additionally, revived players will also spawn with a common pistol, some ammo, and 100 units of wood in their possession, giving them a bit of a leg up.

    Battle Royale’s new LTM, meanwhile, is called Fly Explosives and promises to combine the “explosive fun of the High Explosives LTM with the Jetpack”.

    Fly Explosives is joined by the loot-heavy Buccaneer’s Bounty Event from the 10-15th April, and the prestigious Fortnite World Cup Online Open – Week 1 of which commences this very weekend and is open to anyone who has reached Champion Level in the Arena.

    Fortnite v8.30 Update Patch Notes – Creative

    A similarly useful new mechanic arrives in Fortnite Creative in the form of the MultiSelect Tool. It does exactly what it says on the tin, really: i.e. let players select multiple assets at the same time, making the process of re-organising any existing creations that that much easier.

    Creative also receives a number of new military-style buildings in the V8.30 update, along with a new Tropical and Rivers Edge island, the aforementioned Jetpack, sundry other consumables, and a Capture Area Device.

    The last of which having been designed to facilitate Capture the Flag-style games.

    [youtube https://www.youtube.com/watch?v=3FDdJD-qmE8]

    Fortnite v8.30 Update Patch Notes – Save the World

    As far as Save the World is concerned, it’s pretty much business as usual.

    First and foremost, there’s a brand-new hero in town who goes by the name of Bombsquad Kyle. A heavily-armoured, legendary constructor perfectly suited for dealing with hordes of enemies.

    Accompanying him is the Lost in Transit Beta Storm, the object of which is to locate and rescue five beleaguered trucks within a 15-minute time limit. And the Double Boiler Steampunk Shotgun.

    While another notable change sees Eliminate and Collect included in the standard mission rotation.

    Anyone looking for a more comprehensive breakdown of this week’s patch would, as with the previous 36,000, be well advised to head over to the game’s official website.

    [via : PSU.com]

    Website: LINK

  • All the news from TwitchCon Europe

    All the news from TwitchCon Europe

    Reading Time: 4 minutes

    Today the very first TwitchCon Europe kicked off in Berlin and at the Keynote our CEO, Emmett Shear took to the stage. He highlighted community accomplishments from the past year and also announced upcoming features, all designed to help creators grow their audience on Twitch, connect with them, and thrive with more ways to earn a living doing what they love.

    Here’s a rundown of everything that was announced.

    Grow

    We want every part of Twitch to help talented creators get discovered by new viewers who we know will love their content.

    • Improved Search: We’re starting a multi-year effort to rebuild our search capabilities from the ground up with live content in mind. In the coming months you’ll start to see smarter and faster results, auto-completion and suggestions, the ability to select from past searches, and a new search results page. Updates will be starting in June and getting better throughout the year.
    • Directory Sorting: Right now the directory is sorted by highest to lowest viewership. We’ve heard that you wanted more options. So, starting this June, you’ll be able to sort the Directory by lowest to highest viewers, most recently started streams, or by channels we think will be most relevant to you.
    • Recaps: Highlights are a great way for new viewers to get introduced to a creator, and we want to make creating them even easier. So this June, we’ll be rolling out a new Recaps feature that generates automated highlights at the end of a stream. We’re launching Recaps using data from Clips, and over time, will look at additional signals to make them even smarter. You can share them with one click or make edits to get them just right.
    • Twitch Rivals: This season of Twitch Rivals will feature over 120 events with new genres, formats, interactive extensions, and millions of dollars in prize money. We want creators to have more opportunities to showcase what they’re best at or passionate about so check out rivals.twitch.tv to see what’s been announced and if you don’t see a game or genre that you’d love to watch tell us about it.

    Connect

    Community is what makes Twitch so much different than anywhere else online. We want to give everyone more creative ways to connect.

    • Twitch Sings is Available for Everyone: A completely new way to connect with your community around music, Twitch Sings is how Twitch does karaoke. You can sing solo, duet with your community, and get chat involved with song requests, fun challenges, and cheer activated light shows. After a successful beta run, Twitch Sings has officially launched and is available for download on PC right here. Get out there and show us what you got.

    Thrive

    Streaming is hard work that requires commitment and talent. We want everyone to have more and better ways to get rewarded for that hard work.

    • Bounty Board Expands: Since Bounty Board launched in the United States last year, more than 1,500 creators have earned over $2million by linking up with sponsors right from their dashboards. We’re excited to have announced that starting in May, Bounty Board will be available to Partners and select Affiliates in France, Germany, and the United Kingdom with more countries around the world joining them soon.
    • Net 15 Payouts: Starting April 15, 2019, Twitch will start paying out eligible Partners, Affiliates, and Extension Developers 15 days after the end of the month, as long they meet the $100 payout threshold. Previously payouts were made on a 45 day schedule and we’re excited to help you get rewarded for your hard work faster than ever before.

    Website: LINK

  • The world’s best youth soccer players are coming to Twitch

    The world’s best youth soccer players are coming to Twitch

    Reading Time: 3 minutes

     

    The 2019 Generation adidas Cup is the premier youth soccer tournament in North America, and it’s coming to Twitch from April 13–20.

    The world’s future soccer stars from 14 countries are meeting in Dallas, Texas for two U-17 division championships (Premier and Champions) and a U-15 showdown featuring teams from MLS and Liga MX. While there will be tons of talent on display all week, here are 10 players you should keep an eye on.

    Are you a streamer interested in co-streaming the tournament?

    Co-streaming is enabled for the entire tournament, and everyone is invited to give it a spin. For those who haven’t tried it yet, co-streaming is a great way to mix up your usual content and connect with your community in a new way. Co-streaming can also help you grow your audience and attract new viewers who enjoy soccer.

    Sign up to co-stream and you’ll be featured in the MLS co-streaming extension on the official MLS channel. Be sure to tag your stream with ‘Co-Stream’ and ‘GACup’ so you show up in the extension.

    Just want to watch the games?

    Great! You can tune in to the MLS broadcast at /mls and /mls2, or you can choose to watch the Twitch Partners and Affiliates who are co-streaming the tournament.

    A list of participating clubs and full schedule for all three divisions can be found here. If you’re new to the game, here’s a list of key matchups to check out:

    Saturday, April 13

    1:30 PM ET — LA Galaxy vs. Peñarol

    Peñarol, one of the most storied clubs in South America that produced current LAFC striker Diego Rossi, makes their GA Cup debut against MLS powerhouse LA Galaxy.

    3:15 PM ET — FC Dallas vs. West Ham United

    FC Dallas always does a great job at attracting a crowd for any match they have at GA Cup, and this should be no exception.

    Sunday, April 14

    11:45 AM ET — Seattle Sounders vs. Valencia

    Seattle Sounders won the Premier Division championship last year after missing out on the Champions division by a point. They are the clear-cut favorite to compete for the Champions crown this year, but with Flamengo in their group, this is a must-win for Seattle.

    6:45 PM ET — NYCFC vs. River Plate

    NYCFC has been one of the most entertaining teams to watch at GA Cup in the last few years, and have a high potential to feature a select number of MLS signed players including Joe Scally.

    Wednesday, April 17

    10:00 AM ET — LAFC vs. Cruz Azul

    Although LAFC only has their academy built out up to the U-15 age range, they have quickly risen to the top of that age group. It will be fun seeing how LAFC stack up against ‘La Maquina’ in the first match of our unique Liga MX vs. MLS head-to-head competition.

    1:30 PM ET — Vancouver Whitecaps vs. Deportivo Toluca

    The Whitecaps academy has gotten a ton of praise in the last few years for their development of Alphonso Davies. As they have not participated in GA Cup in the past, the ‘Caps are a great showcase for how Canada is producing great talent for their country.

    View the full Generation adidas Cup schedule here.

    Website: LINK

  • The Floor is Lava is a perfect mode for Fortnite

    The Floor is Lava is a perfect mode for Fortnite

    Reading Time: 2 minutes

    For the better part of a year, Fortnite fans asked for a mini game where the ground was lava and all you could do was build.

    Now, in patch v8.20, Epic has finally given fans what want in the form of a limited-time mode.

    The Floor is Lava mode centers around the island’s new volcano, which has started overflow onto the map. Like any other Fortnite match, you land, grab some loot — drops favor mobility tools like launch pads and glider redeploy — and fight you fellow players. Then the lava starts to rise. As the lower areas get consumed, the game turns into a chaotic scramble to reach high ground.

    In the matches I played, players raced each other up the side of mountains, used port-a-rifts to get ahead, and even threw impulse grenades in desperate hope of throwing their opponent into the lava below. Players with more foresight sat at the top of the mountains, or in custom-built towers. From these vantage points, savvy players fired down to destroy other people’s ramps. It’s an absolute mess, and a joy to play.

    The mode generates wood, brick, and metal every few seconds for players throughout the match — that’s a good thing, because many mat sources get covered early in the game. This way, players can focus on building throughout the mode.

    When the lava covers the map’s mountains (or the volcano itself), players have to start building on the surface of the lava to survive. This is where the mode gets ridiculous. Every player that’s left tries to stay alive, in small, precarious buildings that keep them safe from enemies and the rising lava. At this point, it doesn’t matter if your bullets hit your opponents themselves or their builds — the goal is to dunk people into the lava one way or another. Shooting floors is just as effective as shooting people.

    Fortnite’s limited time modes have always been places for Epic to experiment with new mechanics that push players to think about Fortnite differently. The Floor is Lava is no different. Better yet, the Floor is Lava reframes Fortnite while remaining silly — which is exactly what Fortnite is about.

    [via – polygon.com]

    Website: LINK

  • ‘Limited Time’ Battlefield 5 Firestorm Duos Mode Coming Next Month

    ‘Limited Time’ Battlefield 5 Firestorm Duos Mode Coming Next Month

    Reading Time: 2 minutes

    The long-awaited Battlefield 5 Firestorm battle royale mode is now available to play, letting fans experience battle royale with Battlefield’s trademark destructible environments and gunplay.

    At present, the game has two different ways to play; solo, or in a 4-person squad. DICE has said that a Battlefield 5 Firestorm Duos mode is coming in April. However, it will only be available for a limited time.

    Why Battlefield 5 Firestorm Duos Mode is a Limited Time Release
    Fans might well balk at this news. Why would DICE only make the Battlefield 5 Firestorm Duos mode available for a limited time? The answer is that DICE is very likely to be repeating the same model which they recently used twice during Lightning Strikes. During that second Tides of War chapter, DICE made two new game modes available; Squad Conquest and Rush. Both of these modes were only available for two weeks’ time. According to DICE, the reason why the studio only made them available briefly wasn’t because they never planned to bring them back. Rather, it was because the studio wasn’t certain how popular they would be; they wanted to gauge the community’s reaction before committing to making them a permanent feature.

    Indeed, Squad Conquest was very popular, and DICE actually extended the time it was available. In all likelihood, that mode, and quite possibly Rush, will return. The studio is planning to do the same thing with several new mode variants during Trial by Fire. It also seems like they plan to adopt a similar approach for the upcoming Duos mode. By the time Duos becomes available, players will have had ample time to experience the Solo and Squad versions. As such, they should be in a good position to judge Duos mode in comparison.

    If Duos mode proves popular, then no doubt DICE will implement it as a permanent feature. However, it’s also possible that players feel that the Solo and Squad modes provide the experience they want without needing to shift over to Duos. If that proves to be the case, it wouldn’t be great for DICE if they invested in making the mode (and the server space it would require) permanently available. Hopefully, players do enjoy Duos. If that’s the case, players may well get to see it become a permanent part of Battlefield 5 Firestorm.

    [via – vgr.com]

    Website: LINK

  • Go memory ballast: How I learnt to stop worrying and love the heap

    Go memory ballast: How I learnt to stop worrying and love the heap

    Reading Time: 11 minutes

    I’m a big fan of small code changes that can have large impact. This may seem like an obvious thing to state, but let me explain:

    1. These type of changes often involve diving into and understanding things one is not familiar with.
    2. Even with the most well factored code, there is a maintenance cost to each optimization you add, and it’s usually (although not always) pretty linear with the amount of lines of code you end up adding/changing.

    We recently rolled out a small change that reduced the CPU utilization of our API frontend servers at Twitch by ~30% and reduced overall 99th percentile API latency during peak load by ~45%.

    This blog post is about the change, the process of finding it and explaining how it works.

    Setting the stage

    We have a service at Twitch called Visage, that functions as our API frontend. Visage is the central gateway for all externally originating API traffic. It is responsible for a bunch of things, from authorization to request routing, to (more recently) server-side GraphQL. As such, it has to scale to handle user traffic patterns that are somewhat out of our control.

    As an example, a common traffic pattern we see is a “refresh storm.” This occurs when a popular broadcaster’s stream drops due to a blip in their internet connectivity. In response, the broadcaster restarts the stream. This usually causes the viewers to repeatedly refresh their pages, and suddenly we have a lot more API traffic to deal with.

    Visage is a Go application (built with Go 1.11 at the time of this change) that runs on EC2 behind a load balancer. Being on EC2 it scales well horizontally, for the most part.

    However, even with the magic of EC2 and Auto Scaling groups, we still have the problem of dealing with very large traffic spikes. During refresh storms, we frequently have surges of millions of requests over a few seconds, on the order of 20x our normal load. On top of this, we would see API latency degrade significantly when our frontend servers were under heavy load.

    One approach to handle this is to keep your fleet permanently over-scaled, but this is wasteful and expensive. To reduce this ever-increasing cost, we decided to spend some time searching for some low hanging fruit that would improve per-host throughput, as well as provide more reliable per-request handling, when hosts were under load.

    Scouting the deck

    Luckily we run pprof on our production environments, so getting at real production traffic profiles becomes really trivial. If you are not running pprof, I would highly encourage you do. The profiler, for the most part, has very minimal CPU overhead. The execution tracer can have a small overhead, but still small enough that we happily run it in production for a few seconds each hour.

    So after taking a look at our Go application’s profiles, we made the following observations:

    1. At steady state, our application was triggering ~8–10 garbage collection (GC) cycles a second (400–600 per minute).
    2. >30% of CPU cycles were being spent in function calls related to GC
    3. During traffic spikes the number of GC cycles would increase
    4. Our heap size on average was fairly small (<450Mib)
    Visage application GC cycles per second
    Visage application MiB of heap in use

    If you haven’t guessed it already the improvements we made relate to the performance of garbage collection in our application. Before I get into the improvements, below is a quick primer / recap on what GCs are and what they do. Feel free to skip ahead if you’re well versed in the concepts.

    What is a garbage collector (GC) ?

    In modern applications, there are generally two ways to allocate memory: the stack and the heap. Most programmers are familiar with the stack from the first time writing a recursive program that caused the stack to overflow. The heap, on the other hand, is a pool of memory that can be used for dynamic allocation.

    Stack allocations are great in that they only live for the lifespan of the function they are part of. Heap allocations, however, will not automatically be deallocated when they go out of scope. To prevent the heap from growing unbound, we must either explicitly deallocate, or in the case of programming languages with memory management (like Go), rely on the garbage collector to find and delete objects that are no longer referenced.

    Generally speaking in languages with a GC, the more you can store on the stack the better, since these allocations are never even seen by the GC. Compilers use a technique called escape analysis to determine if something can be allocated on the stack or must be placed on the heap.

    In practice, writing programs that force the compiler to only allocate on the stack can be very limiting, and so in Go, we leverage its wonderful GC to do the work of keeping our heap clean.

    Go’s GC

    GCs are complex pieces of software so I’ll do my best to keep this relevant.

    Since v1.5, Go has incorporated a concurrent mark-and-sweep GC. This type of GC, as the name implies, has two phases: mark and sweep. The “concurrent” just means that it does not stop-the-world (STW) for the entire GC cycle, but rather runs mostly concurrently with our application code. During the mark phase, the runtime will traverse all the objects that the application has references to on the heap and mark them as still in use. This set of objects is known as live memory. After this phase, everything else on the heap that is not marked is considered garbage, and during the sweep phase, will be deallocated by the sweeper.

    To summarize the following terms:

    Heap size — includes all allocation made on the heap; some useful, some garbage.

    Live memory — refers to all the allocations that are currently being referenced by the running application; not garbage.

    It turns out that for modern operating systems, sweeping (freeing memory) is a very fast operation, so the GC time for Go’s mark-and-sweep GC is largely dominated by the mark component and not sweeping time.

    Marking involves traversing all the objects the application is currently pointing to, so the time is proportional to the amount of live memory in the system, regardless of the total size of the heap. In other words, having extra garbage on the heap will not increase mark time, and therefore will not significantly increase the compute time of a GC cycle.

    Based on all of the above, it should seem reasonable that less frequent GC’ing means less marking, which means less CPU spent over time, but what is the trade off? Well, it’s memory. The longer the runtime waits before GC’ing, the more garbage will accumulate in the system’s memory.

    As we noted earlier though, the Visage application which runs on its own VM with 64GiB of physical memory, was GC’ing very frequently while only using ~400MiB of physical memory. To understand why this was the case, we need to dig into how Go addresses the GC frequency / memory tradeoff and discuss the pacer.

    Pacer

    The Go GC uses a pacer to determine when to trigger the next GC cycle. Pacing is modeled like a control problem where it is trying to find the right time to trigger a GC cycle so that it hits the target heap size goal. Go’s default pacer will try to trigger a GC cycle every time the heap size doubles. It does this by setting the next heap trigger size during the mark termination phase of the current GC cycle. So after marking all the live memory, it can make the decision to trigger the next GC when the total heap size is 2x what the live set currently is. The 2x value comes from a variable GOGC the runtime uses to set the trigger ratio.

    The pacer in our case was doing a superb job of keeping garbage on our heap to a minimum, but it was coming at the cost of unnecessary work, since we were only using ~0.6% of our system’s memory.

    Enter the ballast

    Ballast — Nautical. any heavy material carried temporarily or permanently in a vessel to provide desired draft and stability. — source: dictionary.com

    The ballast in our application is a large allocation of memory that provides stability to the heap.

    We achieve this by allocating a very large byte array as our application starts up:

    Reading the above code you may have two immediate questions:

    1. Why on earth would you do that?
    2. Won’t this use up 10 GiB of my precious RAM?

    Let’s start with 1. Why on earth would you do that? As noted earlier, the GC will trigger every time the heap size doubles. The heap size is the total size of allocations on the heap. Therefore, if a ballast of 10 GiB is allocated, the next GC will only trigger when the heap size grows to 20 GiB. At that point, there will be roughly 10 GiB of ballast + 10 GiB of other allocations.

    When the GC runs, the ballast will not be swept as garbage since we still hold a reference to it in our main function, and thus it is considered part of the live memory. Since most of the allocations in our application only exist for the short lifetime of an API request, most of the 10 GiB of allocation will get swept, reducing the heap back down to just over ~10 GiB again (i.e., the 10GiB of ballast plus whatever in flight requests have allocations and are considered live memory.) Now, the next GC cycle will occur when the heap size (currently just larger than 10 GiB) doubles again.

    So in summary, the ballast increases the base size of the heap so that our GC triggers are delayed and the number of GC cycles over time is reduced.

    If you are wondering why we use a byte array for the ballast, this is to ensure that we only add one additional object to the mark phase. Since a byte array doesn’t have any pointers (other than the object itself), the GC can mark the entire object in O(1) time.

    Rolling out this change worked as expected — we saw ~99% reduction in GC cycles:

    Log base 2 scale graph showing GC cycles per minute

    So this looks good, what about CPU utilization?

    Visage application CPU utilization

    The green sinusoidal CPU utilization metric is due to the daily oscillations of our traffic. One can see the step down after the change.

    ~30% reduction in CPU per box means without looking further, we can scale down our fleet by 30%, however what we also care about is API latency — more on that later.

    As mentioned above, the Go runtime does provide an environment variable GOGC that allows a very coarse tuning of the GC pacer. This value controls the ratio of growth the heap can experience before the GC is triggered. We opted against using this, as it has some obvious pitfalls:

    • The ratio itself is not important to us; the amount of memory we use is.
    • We would have to set the value very high to get the same effect as the ballast, making the value susceptible to small changes in live heap size.
    • Reasoning about the live memory and its rate of change is not easy; thinking about total memory used is simple.

    For those interested, there is a proposal to add a target heap size flag to the GC which will hopefully make its way into the Go runtime soon.

    Now onto 2. Won’t this use up 10Gib of my precious RAM? I’ll put your mind at ease. The answer is: no it won’t, unless you intentionally make it. Memory in ‘nix (and even Windows) systems is virtually addressed and mapped through page tables by the OS. When the above code runs, the array the ballast slice points to will be allocated in the program’s virtual address space. Only if we attempt to read or write to the slice, will the page fault occur that causes the physical RAM backing the virtual addresses to be allocated.

    We can easily confirm this with the following trivial program:

    We’ll run the program and then inspect with ps:

    This shows just over 100MiB of memory has been allocated virtually to the process — Virtual SiZe (VSZ), while ~5MiB has been allocated in the resident set — Resident Set Size(RSS), i.e physical memory.

    Now let’s modify the program to write to half of the underlying byte array backing the slice:

    Again inspecting with ps:

    As expected, half of the byte array is now in the RSS occupying physical memory. The VSZ is unchanged since the same size virtual allocation exists in both programs.

    For those interested, the MINFL column is the number of minor page faults — that is the number of page faults the process incurred that required loading pages from memory. If our OS managed to allocate our physical memory nice and contiguously, then each page fault will be able to map more than one page of RAM, reducing the total number of page faults that occur.

    So as long as we don’t read or write to the ballast, we can be assured that it will remain on the heap as a virtual allocation only.

    What about the API latency?

    As mentioned above, we saw an API latency improvement (especially during high load) as a result of the GC running less frequency. Initially, we thought this may be due to a decrease in GC pause time — this is the amount of time the GC actually stops the world during a GC cycle. However, the GC pause times before and after the change were not significantly different. Furthermore, our pause times were on the order of single digit milliseconds, not the 100s of milliseconds improvement we saw at peak load.

    To understand where this latency improvement came from, we need to talk a bit about a feature of the Go GC called assists.

    GC assists

    GC assists puts the burden of memory allocation during a GC cycle on the goroutine that is responsible for the allocation. Without this mechanism, it would be impossible for the runtime to prevent the heap growing unbound during a GC cycle.

    Since Go already has a background GC worker, the term assist, refers to our goroutines assisting the background worker. Specifically assisting in the mark work.

    To understand this a bit more, let’s take an example:

    When this code is executed, through a series of symbol conversions and type checking, the goroutine makes a call to runtime.makeslice, which finally ends up with a call to runtime.mallocgc to allocate some memory for our slice.

    Looking inside the runtime.mallocgc function shows us the interesting code path.

    Note, I’ve removed most of the function and just showing the relevant parts below:

    source: runtime/malloc.go

    In the code above, the line if assistG.gcAssistBytes < 0 is checking to see if our goroutine is in allocation debt. Allocation debt is a fancy way of saying that this goroutine was allocating more than it was doing GC work during the GC cycle.

    You can think of this like a tax that your goroutine must pay for allocating during a GC cycle, except that this tax must be paid upfront before the allocation can actually happen. Additionally, the tax is proportional to the amount the goroutine is attempting to allocate. This provides a degree of fairness such that goroutines that allocate a lot will pay the price for those allocations.

    So assuming this is the first time our goroutine is allocating during the current GC cycle, it will be forced to do GC assist work. The interesting line here is the call to gcAssistAlloc

    This function is responsible for some housekeeping and eventually calling into gcAssistAlloc1 to perform the actual GC assist work. I won’t go into the details of the gcAssistAlloc functions, but essentially it does the following:

    1. Check that the goroutine is not doing something non pre-emptible (i.e., the system goroutine)
    2. Perform GC mark work
    3. Check if the goroutine still has an allocation debt, otherwise return
    4. Goto 2

    It should now be clear that any goroutine that does work that involves allocating will incur the GCAssist penalty during a GC cycle. Since the work has to be done before the allocation, this would surface as latency or slowness on the actual useful work the goroutine is intending to do.

    In our API frontend, this meant that API responses would see increased latency during GC cycles. As mentioned earlier, as load increased to each server, memory allocation rate would increase, which would in turn increases the rate of GC cycles (often to 10s or 20s of cycles/s). More GC cycles, we now know, means more GC assist work for goroutines serving the API, and therefore, more API latency.

    You can see this quite clearly from an execution trace of our application. Below are two slices from the same execution trace of Visage; one while the GC cycle was running and one while it was not.

    Website: LINK

  • Creating Monetization Opportunities for Developers and Streamers

    Creating Monetization Opportunities for Developers and Streamers

    Reading Time: 5 minutes

    Expanding on our goal to help streamers and developers generate revenue on Twitch, today we’re announcing new features that will enable developers to build new monetized Extension experiences. The first two features — Subscription Status in Extensions and Subscription Purchase Trigger — will help developers unlock new ways for streamers to reward viewers who purchase a monthly subscription to their channel. Bits Enablement will let developers reach more streamer channels with the same Extension without needing to build multiple versions. Bits Transaction History enables developers to keep track of Extensions transactions.

    Let’s dive in.

    Subscription Status

    Sub Status allows an Extension to request permission from the streamer to obtain read access to a channel’s subscriber list. Subscriptions are one of the best ways for streamers to generate revenue on Twitch. When a viewer subscribes to a streamer’s channel, they are supporting the streamer with a tiered subscription that is automatically renewed monthly. This is how many streamers, like Ninja and Shroud, generate part of their revenue. Streamers reward viewers who subscribe with perks such as exclusive emotes, sub badges, subscribers-only Chat, ads-free viewing and more.

    Extensions are active on more than 67 percent of Affiliate- and Partner-level channels and viewers have interacted with Extensions more than 1.8 billion times in 2019 so far. By sharing the viewers sub status in the Extension itself, we see an opportunity for incremental subscriptions growth. Sharing the subs status in a highly visible extension will improve a viewer’s ability to see their current subscription status and motivate them to either purchase or renew.

    Beyond the standard subs benefits, Subs-enabled Extensions can now help streamers offer truly differentiated experiences and benefits at each subscription tier. By adding a viewer’s sub status in the Extension, we are also unlocking a developer’s creativity to create subs benefits that are unique to the streamer’s channel. The ability to differentiate a viewer’s subs benefits is a tool that streamers see as necessary to grow and retain their subscriptions base. Providing viewers unique opportunities to actively participate in a channel is a proven engagement strategy increases engagement and monetization opportunities for streamers immediately and for developers in the near future.

    Subs Status is available now and can be implemented on any released Extension. Developers can implement this feature through the new dedicated Monetization tab in their Extensions dashboard. Streamers can enable and revoke Subs Status by toggling the Manage Permissions flag in their dashboard, which will pass the proper OAuth permission to developers.

    Subscription Purchase Trigger

    To kick off the subscription purchase flow from an Extension, we have also released the Subscription Purchase Trigger in limited preview. Subs Status and Purchase Trigger work together to drive awareness of unique sub benefits and the ability to pay or upgrade a viewer’s subscription level.

    Real World Subs Status Implementation

    To bring these new features to life, we have partnered with Streamlabs to implement the first Subs-enabled Twitch Extension called Face Masks.

    Face Masks are a fun way to celebrate a new subscription. Streamlabs is leveraging Twitch emotes to create unique engagement opportunities in a streamer’s channel by enabling viewers to apply an emote face mask in the channel overlay. To unlock this capability, viewers purchase Tier 2 or Tier 3 subscriptions to access up to 26 Twitch Face Masks, which can then be applied to the channel through the use of Bits. Click here to learn more about Face Masks.

    Streamlabs Face Masks Tier 3 Subscription
    Fuslie playing with Streamlabs Face Masks

    Bits Enablement

    To help developers better manage their Extension’s monetization states, we’re announcing Bits Enablement. While we have seen numerous developers launch and have success with Bits-enabled Extensions, it has not been possible for developers to refactor their existing non-monetized Extensions with Bits options. In order for developers to release Bits-monetized Extensions, they currently have to build and maintain a second version of their Extension, which has proven difficult for streamers to adopt. Similarly, many streamers have not been able to install some Extensions on their channel because only Bits-enabled versions are offered.

    Extensions can now be used on all channels. With Bits Enablement, Twitch is making it easier for developers to monetize their Extensions with Bits at any stage of the Extension’s life cycle. Developers can revise their released non-monetized Extensions with Bits-enabled features by going to the Monetization tab in the console. This means that developers can now reach more streamers without having to support two different code and user bases. Similarly, streamers will be able to capture new monetization opportunities as more Extensions add Bits features.

    Bits Transaction History

    To help developers keep track of Extension transactions, we are announcing Bits Transaction History in Beta. This new feature will let developers focus on creating great Extensions experiences without having to worry about building foundational infrastructure to support it. Developers will be able to retrieve the entire transaction history of Bits used in their Extension. Developers can review transactions by user, channel, Extension and product.

    Bits Enablement in Action

    We are also excited to announce that the following partners have revamped their existing Extensions using these new Bits enablement features:

    Live Emotes

    Let your viewers push emotes on top of your stream with the new Live Emotes 2019! Viewers can now charge emotes with special power ups and use Bits to fire them away!

    Sound Alerts

    As a monetized Extension, viewers can play sounds on a stream and establish a new viewer interaction and community engagement. Now available for activation in non-monetized channels.

    Latest Followers

    Now allows followers to celebrate their allegiance with Bits by highlighting how long they have been following a streamer.

    Twitch Picks

    Now streamers can customize their polls and allow viewers to vote with Bits.

    Getting started

    Help us define the future of Subs-enabled Extensions by building unique use cases that create temporary, but noticeable actions in the channel. When we build experiences that facilitate streamer and viewer interaction, we create value for all of Twitch.

    Developers can start building Extensions with Subscriptions-enabled functionality and revamping their existing Extensions with monetized and non-monetized states now by visiting the Developer Console. Visit the documentation to learn more.

    Let us know what you think by connecting with us on Discord | Twitter | Developer Forum.

    Have an idea you’d like to explore for Subs and Bits-enabled Extensions? Connect with our Developer Partnerships team by email to get started.

    Ready to build interactive experiences on Twitch? Start now!

    Website: LINK

  • A New Way For Streamers & Viewers to Interact on Twitch

    A New Way For Streamers & Viewers to Interact on Twitch

    Reading Time: 3 minutes

    The Twitch community radiates such special energy due in part to the unique interactions that occur between creators and viewers; it’s especially magical when a creator receives support in the form of bits or a sub from a new or recurring viewer.

    Today, in a partnership with Streamlabs, we’re announcing new tools to help make those special interactions — well, a bit more special.

    Streamlabs Face Masks allow viewers to apply animated 3D alerts to a streamer’s face in real time, and their new Twitch Extension offers 27 exclusive AR Face Masks, including popular Twitch emotes, that viewers can apply to a streamer’s face when they purchase a Tier 2 or 3 subscription.

    A viewer cheers Fuslie with the “This is Fine” Face Mask.

    Once a streamer enables Face Masks and installs the Face Masks Twitch Extension, a viewer can apply an exclusive Twitch Face Mask using a variety of methods:

    1. Become a Tier 2 or Tier 3 subscriber: Tier 2 and Tier 3 subscribers will unlock up to 24 Face Masks (12 for each tier). Viewers can apply a Face Mask when they first subscribe, resubscribe, or use Bits.
    2. Use Bits: Two masks are available to all users when cheering with Bits (regardless of their subscription status) and one mask will be available free for everyone.
    Unlock and apply Twitch Exclusive Face Masks with Tier 2 and Tier 3 subscriptions!

    What Makes this So Exciting?

    For viewers: Face Masks offer a new way to engage, support, and interact with your favorite streamers.

    For creators: Face Masks provide new value and more rewards for incentivizing upper-tier subscriptions.

    To opt-in, you must:

    1) Enable Face Masks in the Streamlabs OBS dashboard

    2) Install, configure, and activate the Twitch Face Mask Extension

    3) In Streamlabs OBS, click on the Face Mask Settings Icon and enable Subscriber Masks

    We’re really excited for you to get started!

    **Note: The Face Masks Beta program is only available to Twitch Partner or Affiliate streamers using Streamlabs OBS.

    If you have questions or want a much more detailed explanation of how to get started head over to the Streamlabs blog post or click here to download the Streamlabs OBS.

    If you’re a developer and want to learn more about monetizing Twitch Extensions, click here.

    Website: LINK

  • Twitch for Game Developers

    Twitch for Game Developers

    Reading Time: 15 minutes

    How to integrate Twitch into any part of the game development lifecycle

    In 2017, an average of 21 games were released per day on Steam and last year, the global games industry gross revenue was approximately $138 billion. It’s a crowded market. And as a game developer, you’re not only competing with an increasing amount of other games, but also other screens, social media, other forms of entertainment — and real life.

    Differentiation is now more important than ever.

    Games are Better with Twitch

    Every day on average, more than 15 million visitors tune into Twitch, three million streamers go live per month, and last year, audiences enjoyed about 505 billion minutes of content.

    Watching others play video games on Twitch has massively grown. For instance, in February 2019, EA released Apex Legends on Twitch without prior announcement or much traditional marketing. The game saw more than 2.5 million players within 24 hours after release, and had 25 million players by the end of its first week. The game also generated more hours watched than any other game on Twitch in its launch week.

    Twitch fosters gaming communities through conversation, interaction, and giving audiences a way to directly support their favorite content creators. In 2017, they sent 16 billion chat messages and interacted with Twitch Extensions 4.9 billion times.

    Twitch is changing the way games are marketed by being a truly direct interactive conduit. Game developers now have access to direct and consistent relationships with their fans through Twitch creators, who are the ambassadors of their communities.

    Twitch creates a watch/play loop with viewers

    By integrating with Twitch, game developers can:

    • Acquire new users by creating influencer campaigns, cross-promotional incentives, utilizing Twitch Prime, doing game launches for pre-orders, and more.
    • Create new engaging experiences for Twitch viewers and streamers by extending the gameplay and turning viewers into active participants in the game.
    • Retain users by creating a watch/play loop by driving players to watch your game on Twitch and incentivize viewers to go back to the game.
    • Help your influencers and brand monetize by selling merchandise, in-game-items, and other benefits on Twitch.

    Game producers, developers, and marketing leads at game companies may know Twitch is big, that Twitch viewers watch a lot of gaming content, and that Twitch is influential in promoting games. But you might not know the best practices for integrating Twitch into games, for launching games on Twitch, or for tapping into Twitch to grow and sustain live titles.

    This game developer playbook is designed to give producers, developers, and marketing leads actionable next steps to integrate Twitch into different stages of a game’s lifecycle including:

    1. A strategy for growing hours watched and revenue on Twitch.
    2. Ways to increase pre-orders of games.
    3. A strategy to re-engage lapsed players and re-engage players for live services.
    4. Ways to turn viewers on Twitch into players.

    Game Phases & High-level Recommendations

    Most games are built in a stage-gated process with up to eight gates, which are distilled here into three major phases:

    Phase 1 — Development. This phase encompasses everything from pre-production through first production, production, and alpha. Games that are in development are usually unannounced. We recommend that games in development integrate core, foundational Twitch features to help drive and engage new users.

    Phase 2 — The Road to Launch & Launch. The road to launch includes announcement and beta. Launch includes the launch event itself and the first month after launch. In the road to launch and launch, games concentrate on building a great product, generating awareness of their game, and on acquiring users. We recommend that during this phase, games work with Twitch to promote their game to acquire new users.

    Phase 3 — Live Games. Twitch’s largest and most watched games are live games; nine out of 10 top titles on Twitch in 2018 were released before 2018. Twitch has a set of programs to help publishers acquire new users, re-engage lapsed users, and retain them in game.

    Let’s dive into each phase.

    The best time to integrate core Twitch features is when games are in active development.

    At this stage, you care about:

    • Driving play. Build hooks to drive users to play your game after launch.
    • Making your game fun to watch. Keep users engaged in your game when they’re not actively playing by creating entertaining viewing experiences.
    • Ensuring simple implementation. Twitch makes the tools and services you need to easily integrate Twitch into your game.
    • Tracking measurable impact. Ensure you can track the impact of Twitch programs on core KPIs in future phases.

    Use these programs to achieve your goals:

    Identity

    Identity is foundational for most Twitch integrations. It enables your application to take actions on behalf of a Twitch account or access certain data about a user’s account. We recommend bidirectionally integrating Twitch identity between Twitch and game publisher accounts so that you can get information, such as in-game items, from Twitch as well as post to Twitch about a user and/or game state, such as a streamer’s or viewer’s stats. Twitch supports OAuth 2.0 and OIDC (OpenID Connect).

    How Twitch Identity works

    Beta Campaign with Bounty Board

    Recruiting streamers to promote your beta using Bounty Board drives deep engagement with influencer campaigns through dozens or hundreds of small to mid-sized communities and a streamlined self-service activation that delivers brand-safe content with unparalleled engagement from viewers. You can easily distribute betas to streamers and drive a high degree of interest during the campaign. You can also utilize Extensions to drive pre-orders of your game and offer exclusive perks for Twitch users in betas by having bonuses translate into rewards in game.

    Twitch mobilized Bounty Board’s community of influencers to generate excitement during the beta of Darwin Project. The launch helped them reach an engaged audience of gamers who experienced the game together and provided valuable feedback. 113 influencers activated the Bounty, resulting in 51,000 total views and 60 percent of viewers stayed on the channel for two or more minutes. We strongly recommend Bounty Board for indie games.

    Interactive Extensions

    Twitch viewers love to interact with streamers and with other members of the community, particularly when they can help streamers. By creating ways for viewers and streamers to interact and starting this process when your game is in development, you can help to grow your game’s audience at launch and know how to re-engage them later on.

    The Darwin Project built an Extension that helped streamers play in Show Director mode and have viewers affect the game by helping or hindering the streamer. It’s a prime example of how an interactive Extension can include the viewers, which makes it more fun to watch and can help grow a strong community for your game on Twitch.

    Darwin Project Interactive Extension

    Drops

    Drops allows game developers to offer special offers, content, or in-game items to Twitch viewers who watch your games. Drops convert viewers into players, because viewers get in-game items that are only worth anything if they play the game; they need to play to derive benefit from it. Dozens of game developers have used Drops to improve player retention and spend.

    How Twitch Drops work

    Mods

    Twitch enables you to promote discovery of your game’s mods through the Twitch desktop app — where you can also manage them — and to drive additional discovery with a mod manager Extension on Twitch; the Extension allows a streamer to show off what mods they are playing to their community and then enables people to download and play the mod with their favorite streamer. Twitch also supports mod developers through a rewards program. Other developers are building free content for your game, which helps with organic retention and acquisition.

    Blessing and Curses is a mod for Stardew Valley that adds a random chance to gain a random buff or debuff every x amount of days. If a streamer connects their Twitch account and channel name, Chat can choose from three randomly shown buff or debuff options. By using Twitch as a focus, the mod gives viewers a way to interact and affect game play on a whole new level.

    Development Phase Pro tips!

    Streamer Mode. We recommend enabling streamers to self-identify in game through a setting and allowing them to hide sensitive UI elements. For example, prominent streamers can get hundreds of friend requests and invites per hour, and enabling a Streamer Mode can make it easier for them to play.

    Streamer User Testing. We recommend user testing your game with streamers on Twitch regularly throughout development.

    Things to think about

    When you’re in the Development stage of your game, think about:

    • Implementing Twitch Identity to integrate your game with Twitch.
    • Harnessing Bounty Board for beta campaigns, doing Drops campaigns, and embracing mods to make your game more fun to watch, which can help turn viewers into players.

    Engaging with streamers when your game is in active development and building a campaign with on-Twitch beats from announcement through launch will help you maximize promotion efforts and ultimately, drive more interest in your game.

    At this stage, you care about:

    • Awareness. Drive awareness of your game among Twitch’s 28 million monthly active gamers.
    • Consideration. Qualify users by motivating them to link their Twitch account with their publisher account.
    • Pre-orders. Drive future sales for your game.
    • Acquisition. Recruit more players for your game.

    Use these programs to achieve your goals:

    Interactive Announce Campaign with Extensions

    The best way to announce a new title on Twitch is to drive traffic to your official channel, create some type of interactivity to build hype while users wait for your official announcement, and then share your official announcement. By asking viewers to link their accounts during the campaign, you can capture emails to re-engage the interested audience.

    Bethesda’s “Tablet” Extension for Elder Scrolls Online: Elsweyr turned viewers into active participants in its reveal. The Extension unlocked the announcement with viewer interaction; 511,000 unique viewers watched the stream on the trailer launch day. There was an additional Extension that incentivized viewer participation with in-game and IRL prizes as well as the ability to pre-order the game.

    Broadcast with Extensions at Major Trade Shows

    E3 is generally the largest week on Twitch. In 2018, people watched over 800 million minutes of E3 content. The total viewership of E3 content year over year increased 71 percent and unique views 81 percent. Twitch also often sees hundreds of thousands of viewers for Blizzcon and other publisher-specific trade events. We recommend showing your pre-show, show, and post-show on your official channel and also making it available for co-streaming to amplify the impact.

    During E3 last year, Bethesda created their own Extension, which asked viewers to link their ESO and Bethesda.net accounts to enhance the viewing experience of their Showcase — complete with trivia, polls, and an opportunity to get free items. This encouraged viewers to not only watch, but also interact with the stream and amplified coverage of announcements well beyond the audience at E3.

    Launch Campaign with Bounty Board

    You only get to launch a game once, so pulling all the levers is critical. You can use Bounty Board to recruit streamers and run interactive ads on Twitch to maximize lift during your game’s launch window. You can also use Extensions on your official channel to drive sales.

    Twitch Advertising

    Advertising on Twitch isn’t static. It isn’t one-way. We offer standard IAB display and video media as well as native opportunities. Custom executions are also available. Twitch Ads reach a highly engaged audience of mostly males between the ages of 18 and 34. More than 15 million are unique daily visitors and account for two million peak concurrent users site wide.

    Apex Legends used ads on Twitch to promote the upcoming launch, which helped result in 25 million unique users in a week.

    Drops

    Drops allows game developers to offer special offers, content, or in-game items to Twitch viewers who watch your games. Drops convert viewers into players, because viewers get in-game items that are only worth anything if they play the game; they need to be a player to derive benefit from it. Dozens of game developers have used Drops to improve player retention and spend.

    Rainbow Six Siege ran a Drops re-engagement campaign with new character skins and charms as a way to retain players.

    Mods

    Allowing other developers to build content for your game helps with organic retention during launch.

    Road to Launch and Launch pro tips!

    Account link. Remember that you can ask viewers to link their accounts during these campaigns, so you can capture email and re-engage the qualified audience.

    Developer streams. Twitch users love to hear from devs. We recommend regularly updating gamers about upcoming releases and beta campaigns. You can amplify your impact by inviting Twitch streamers into your studios to play games and costream these updates. Paradox Interactive, for instance, regularly broadcasts updates — to approximately 50,000 concurrent viewers — about new releases and new features followed by experts and streamers playing the games and answering questions from their community.

    Things to think about

    In your Road to Launch and Launch phase, think about:

    • Registering your game on Twitch to make your game discoverable and to get access to more Twitch tools like the Twitch API, Drops, Insights and Analytics, and Extension development.
    • Using Bounty Board, various campaigns with Extensions, and Ads to build buzz with streamers and viewers and get people excited to play your game.
    • Trying Drops, Mods, and Extensions to retain users with new, unique experiences found only on Twitch.

    Twitch helps games acquire new users and engage existing players. The strongest live games drive a loop between Twitch and the game, encouraging players to watch on Twitch and Twitch encouraging users to buy and play the game.

    At this stage, you care about:

    • Acquiring new users. Get new users into your game.
    • Engaging and retaining active users. Increase daily and monthly active users (DAU and MAU) by converting Twitch viewers into players.
    • Re-engaging lapsed users. Get ex-players to play your game again.

    Use these programs to achieve your goals:

    Mods

    Open sourcing your game and letting other developers create new content for your games can help with organic acquisition after your game is live.

    Minecraft is almost synonymous with modding. There are a total of 55,263 Minecraft mods made discoverable on Twitch with over 4.7 million users and over 7 billion mod downloads. These mods give viewers near-constant new ways to play and watch the game, keeping it popular — even a decade after its launch.

    Drops

    Drops allows game developers to offer special offers, content, or in-game items to Twitch viewers who watch your games. Drops convert viewers into players. Dozens of game developers have used Drops to improve player retention and spend as well as acquire new players. Twitch also likely has more of your lapsed users than you do and can contact them better, so by using Drops, you can drive these users back into your title.

    Warframe created tens of thousands of new spenders in game and reinvigorated a lapsed user base using a Drops campaign run on Twitch. 41% of the people who participated in the campaign had never spent and 20% of them spent about $10 on average.

    Bounty Board

    After your game is released, you can use Bounty Board to recruit streamers to promote your game, which drives deep engagement with dozens or hundreds of small to mid-sized communities through a streamlined self-service activation that delivers brand-safe content with unparalleled engagement from viewers.

    The Grand Tour ran a Bounty Board campaign after the game was released to drive more acquisition. 89 broadcasters took part, which resulted in 93,000 total views and 55,000 unique viewers, 59% of whom watched the game for more than two minutes.

    Twitch Prime

    Twitch Prime provides in-game items, downloadable games, Amazon.com discounts, Twitch community perks and much more. Twitch Prime is one of the fastest growing Amazon Prime benefits focused on supporting games and gamers for over 100 million worldwide Prime members. Game partners benefit from our service through support of new player acquisition, increased awareness on Amazon and Twitch audiences.

    In a 60-day period, a major game studio saw a 20% increase in session days and a 93% increase in average revenue per user (ARPU), which resulted in $10 million estimated incremental revenue — all through a single Twitch Prime campaign.

    Engagement Extensions

    Extensions are apps for Twitch. They can be used after a game has been launched to create new experiences on top of the game — such as polls, predictions, trivia, etc. — to aid in acquisition and re-engage lapsed players.

    Built with the goal of driving viewer engagement for the FIFA eWorld Cup tournament, FIFA built an Extension that allowed viewers to predict match outcomes in real-time, with live accuracy scoring and the chance for the most accurate teams to win in-game rewards via account-linking. This created a new engagement opportunity for streamers and viewers to reconnect to the game.

    How Twitch Extensions work

    Interactive Extensions and Integrations

    Unlike engagement Extensions that are built on top of the viewing experience, interactive Extensions and Integrations are part of the game and allow developers to create unique ways for streamers, viewers, and games to interact. Extensions and integrations can build a community that loves watching and playing your game. Creating an Extension that allows viewers to support streamers through Bits or Cheers while they’re playing is a win-win for both audiences.

    Motion Twin’s Dead Cells launch was built entirely around a Twitch strategy. An integration that allows viewers to control game play through Twitch Chat was a core part of their “second” launch, where they used the integration as a way to re-engage streamers and viewers. This allowed them to reach a huge audience during the second launch week. They essentially doubled all-time minutes watched count in a month. Since then, the game has seen a baseline pickup in the amount of people continuing to stream the game after an initial playthrough and the base audience numbers have gone up.

    See Dead Cells in action at TwitchCon Developer Day 2018

    Esports

    Twitch is the most popular site for esports and can help increase viewership and convert viewers to players.

    Incentivized Viewing

    We recommend incentivizing viewers to predict who will win active esports events. We’ve seen in trials during major esports events that this can drive 60% of Twitch viewers to interact and hundreds of thousands of Twitch viewers back into game.

    Twitch and PlayerUnknown’s Battlegrounds (PUBG) worked together to let PUBG Global Invitational viewers vote via a Twitch Extension on who would win each round of the world finals of the event. More than one million people tuned into the world finals, more than 70 percent interacted with the Extension, and they won more than 350,000 crates of in-game items.

    Twitch Rivals

    Twitch Rivals is an exclusive esports series designed from the ground up for Twitch streamers and viewers. This season will include over 100 events featuring new formats, games, interactive Extensions, and millions of dollars in prize money.

    EA saw 2.5 million hours watched during their Apex Legends Rivals event on February 12, which helped contribute to the game’s overall 7 million hours watched on that single day.

    Interactive Viewing

    If you have an existing esport, we recommend creating an interactive Extension to allow the viewer to change perspectives, to get real-time stats for participants, and to get build guides and other information.

    Global Offensive FACEIT Majors, StatsHelix exposed internal game data to power new experiences for the tournament viewers, and using Genvid’s data capture and web APIs made those interactive and synchronized to the Twitch video frame. Some of the features — including a customized UI, which allowed viewers to change the weapon’s crosshair view, the ability to call the scoreboard at any point in the game, and a live-updating minimap that showed a more detailed view of the main map, including player positions — demonstrated the pent up demand for viewers to be a part of the game rather than simply watching a game.

    Live Games Phase pro tips!

    Developer streams. Twitch users love to hear from devs. We recommend regularly updating gamers about new features and programs in your live games. You can amplify your impact by inviting Twitch streamers into your studios to play games and costream these updates.

    Insights and Analytics: Quarterly Insights. Review your insights quarterly to understand overall viewership and broadcast metrics for each of your games listed on Twitch. In addition to viewership, you will see relevant data that can help you grow your game audience by investing in the right broadcasters with the right Twitch products. For instance, Quarterly Twitch Insights provide developers a view of broadcasters who are trending on a game title, how active a community is during the streams, what other content the community is watching, game growth by geography, and opportunities to engage streamers through Twitch services like Bounty Board.

    Things to think about

    In the Live Game phase, think about:

    • Using Extensions, Drops, and Twitch Prime to attract new streamers and viewers and reward those who already play your game to keep them coming back for more.
    • Setting up esports events with Extensions that incentivize and engage viewers to make your game more fun to watch.

    Now what?

    The growth of the Twitch community has opened up fresh avenues for game developers to attract new players, reengage lapsed players, and create communities that love watching and interacting with games.

    By harness the dynamic between player, creator, and game, developers can make games that people play, watch, pay for, and play again.

    Twitch tries to make this even easier by giving you the tools and strategies to be successful.

    With this playbook, we hope that you now have:

    1. A strategy for growing hours watched and revenue on Twitch with Extensions, Bounty Board, and Twitch Prime.
    2. Steps to increase pre-orders of games through beta campaigns, launch campaigns complete with major trade show announcements, and interactive announce Extensions.
    3. A strategy to re-engage lapsed players with Twitch Prime, Extensions, Drops, and esports events.
    4. Ways to turn viewers on Twitch into payers using Extensions, Drops, and Twitch Prime.

    Besides the recommended programs at whichever stage you are in your development cycle, there are a few things you can do now to see the benefits of Twitch integration immediately:

    1. Get even more examples and information in our full Game Developer Playbook: bit.ly/TwitchGameDevPlaybook
    2. Register your game on Twitch. This will allow you to set up campaigns, control box art, and utilize Twitch Insights and Analytics for your games.
    3. Visit the dev.twitch.tv site for documentation and how-to guides.

    Ready to build interactive experiences on Twitch? Start now!

    Website: LINK

  • Twitch Prime members get up to one year of Nintendo Switch Online

    Twitch Prime members get up to one year of Nintendo Switch Online

    Reading Time: 2 minutes

    Twitch Prime and Nintendo are teaming up to offer Twitch Prime members up to a full year of the Nintendo Switch Online service.

    Starting today, Twitch Prime members can claim three free months of Nintendo Switch Online when they visit twitch.amazon.com/nintendo. After 60 days, they can come back to get another nine months of Nintendo Switch Online, for a total of 12 months. Those who already have a Nintendo Switch Online membership will have these additional months added to their existing Nintendo Switch Online membership. Twitch Prime members have until Sept. 24, 2019 to claim their three months of Nintendo Switch Online, and until January 22, 2020 to claim the additional nine months.

    A Nintendo Switch Online membership provides a variety of features for the Nintendo Switch video game system, such as online play and Save Data Cloud backup for compatible games, a collection of classic NES games with added online play, a smartphone app that enhances features of supported games, and special offers.*

    *Persistent Internet, Nintendo Account age 13+ and compatible smartphone required to use app. Data charges may apply. Online play, Save Data Cloud backup and Nintendo Switch Online smartphone app features available in compatible games. Not available in all countries. The Nintendo Account User Agreement, including the Purchase and Subscription terms, apply. nintendo.com/switch-online.

    Offer only available in select countries. Nintendo Account linked to Nintendo Switch console required. Active Twitch Prime account age 13+ for 60 days required to claim additional 9-month Nintendo Switch Online membership at no extra cost. Nintendo Switch Online Family Membership holders are not eligible. A credit card or linked PayPal account required for users age 18+. Nintendo Switch Online membership will automatically convert to a 3-month membership for $7.99 US unless automatic renewal is turned off any time up to 48 hours before the end of the initial 3-month membership. Three-month memberships must be redeemed by September 28, 2019 and nine-month memberships must be redeemed by January 28, 2020.

    What is Twitch Prime?

    Twitch Prime is a premium experience on Twitch that is included with Amazon Prime. Benefits include in-game loot, free games, a free monthly channel subscription AND all the benefits of being a Prime member.

    You can try it for free for 30 days right here, and when you do, you get all the Twitch Prime benefits instantly just by linking your Twitch account to your Amazon account.

    Website: LINK

  • Squad Stream: The next way to play and watch together

    Squad Stream: The next way to play and watch together

    Reading Time: 6 minutes

    Co-op Contra on the living room floor. D&D in the blanket fort. Four-player Goldeneye after school. Rock Band rock-offs. Watching your friends’ in-house Smash tourney. Building a castle together in Minecraft… No matter which games we started with, no matter where we trace our nerdy roots back to, we’ve always played together.

    And now there’s a whole new way to keep playing together on Twitch: Squad Stream.

    Squad Stream is a fast and easy way for up to four creators to go live and stream together in one window. It’s perfect for showing off every awesome moment in a battle royale match, saving a virtual seat at the table for tabletop streams, catching every second of speedrunning head-to-heads, and so much more that we can’t wait for all of you to show us.

    Unlike hosting or Raids, which are excellent but more hands-off ways to collaborate, Squad Stream lets streamers actively team up with other creators to benefit everyone in a channel. Creators can join forces right from the dashboard, stream content they wouldn’t normally stream, and grow their communities all at the same time. Viewers get more angles on the action, a way to support more of their favorite streamers with ease, and a chance to chat with several great communities at once — or join a new one.

    We’re celebrating the launch of Squad Stream with a variety of four-person streams over the next few weeks featuring a variety of partners and content. Check out the full schedule (in PST):

    Squad Stream is available for Partners first. If that’s you, you can start a Squad Stream now right from your dashboard. Your viewers will be able to opt-in to the Squad Stream right from your channel page.

    If you want to see Squad Stream in action, use the Squad Stream tag on the Browse page to see which squads are live right now.

    FAQs

    Q: How do I start or join a squad?

    A: To start your own squad or join an existing one, go your dashboard and look for the Squad Stream widget. From there, you can either start your own squad by inviting other streamers or accept an invite to join another squad. Note: Squad Stream is rolling out to Partners first, so you are only able to invite Partners to a squad at this time.

    Q: How do I change permissions for who’s able to invite me to a squad?

    A: You can manage your permissions settings for Squad Stream from your channel settings page. By default, channels you follow, is your friend, or on the same team will be able to send you an invite.

    Q: How are viewer counts calculated during a squad stream?

    A: Any viewership you receive when your video player is in the primary slot will count towards your channel stats and be reflected in your channel analytics and stream summary.

    Q: Why is Squad Stream only available to Partners?

    A: We are rolling Squad Stream out to Partners first because of the need for video quality options (also known as transcodes) in order to ensure the best experience for viewers. Currently, all Twitch Partners receive video quality options on their streams by default, while Affiliates receive them as they’re available, with priority access. Our plan is to make Squad Stream available to Affiliates and all other streamers as we continue expanding our transcodes capacity.

    Q: Why are video quality options (transcodes) important for Squad Stream?

    A: We want to ensure the best Squad Stream experience for everyone. To do that, Squad Stream relies on video quality options to display the channels in non-primary slots in lower quality modes like 480p. Most streamers stream in 720p or above, so without video quality options, the squad viewing experience can be taxing since it would display up to four 720p+ streams at once.

    Q: How do I Follow, Subscribe, Cheer with Bits, and Chat in Squad Stream?

    A: Viewers can chat or Cheer with Bits in whichever channel that is in the primary slot. Options for following or subscribing appear by either hovering over the squad member’s avatar at the top of the screen or over the video player for that squad member.

    Q: How do I change which channel is in the primary slot?

    A: Simply click on any of the other channel’s video player and it will swap into the primary slot.

    Q: Do ads appear in Squad Stream?

    A: Yes, viewers are able to see both pre-roll and manually triggered mid-roll ads while watching a Squad Stream. However, ads will only play in the channel that is in the primary slot. Viewers will be unable to switch views while an ad is playing. On mobile, ads will play in full screen.

    Q: Can viewers watch Squad Streams on mobile?

    A: Yes, viewers are able to watch in squad mode via the latest versions of the Twitch mobile app on iOS and Android. Viewers are able to watch up to 3 channels at once. For squads with 4 channels, viewers will be able to select which 3 of the 4 are displayed. Squad viewing is limited to 3 on the mobile app because of the need to be able to provide a consistent, optimal experience for all audiences.

    Q: How do Clips work with Squad Stream?

    A: When a viewer clicks the Clip button on a video player from a Squad Stream, a clip of only that specific channel is created. There is currently no native way to capture a clip of the entire squad view, but it’s something we’re into for future development.

    Q: How do Past Broadcasts (aka VODs) work with Squad Stream?

    A: Past Broadcasts of a squad stream will not display multiple streams. We are exploring solutions to enabling Squad Stream-compatible Past Broadcasts, but in the meantime, Past Broadcasts for channels that participate in a squad stream will only feature content from that individual channel.

    Q: How do Extensions work with Squad Stream?

    A: Extensions will be disabled for viewers who watch in squad mode. However, Extensions will continue to function for those viewers who watch in non-squad mode.

    Q: How do Hosts and Raids work with Squad Stream?

    A: When a channel Hosts or Raids a channel that is currently in a Squad Stream, it will only Host or Raid that single channel. Streamers who are in a Squad Stream cannot initiate a Host or Raid via the chat in squad view. However, they can still initiate a Host or Raid through the Dashboard widget or chat command from the channel page.

    Q: What’s the best way to ensure that video and audio is synchronized as much as possible?

    A: We recommend that all streamers participating in a Squad Stream have low latency settings on (found in the Dashboard under Settings > Channel) and use a third-party voice app to communicate.

    Q: What happens to my viewers when I leave a squad stream?

    A: When a streamer leaves a squad, their viewers will remain in squad mode. If you plan on leaving during a live Squad Stream, make sure to let your viewers know. If you are the squad leader, the first streamer you invited will become the new squad leader.

    Website: LINK

  • Twitch Developer Tour + gamesweekberlin = better together!

    Twitch Developer Tour + gamesweekberlin = better together!

    Reading Time: 2 minutes

    We are excited to partner with gamesweekberlin 8 April through 14 April, 2019! Our Twitch Developer Tour Berlin is now part of their seven days of events dedicated to gaming, business, and development.

    In addition to the Twitch Developer Tour on Friday, 12 April, we will be leading a technical workshop on Tuesday, 9 April at Quo Vadis. The week will culminate with our first-ever TwitchCon Europe at the The Berlin City Cube Convention Center.

    Come learn about why working with Twitch and Twitch technologies like Extensions, Drops, and Twitch Prime makes sense for your game, and see how building streamer tools help engage the streamer and viewer communities on Twitch. We will also dive into code with an exciting technical demo on stream. Come hear from special guest speakers: Ricardo Rego, Head of Product at Bossa Studios, and Christian Bergmann, Sr. Community Manager at WarGaming.

    Gamesweekberlin is the leading cross-industry communication and networking platform for games business, development, and culture in Europe. Over seven days, the umbrella brand combines multiple events for industry representatives and game enthusiasts alike. In 2018, about 15,000 international and German game developers, publishers, investors and multipliers from public institutions and the media industry as well as gamers, families, and fans came to Berlin.

    We are excited to be part of this amazing week and hope to see you in person!

    Spots are limited — secure yours now.

    Upcoming Events

    More Developer Tour cities around the globe will be announced soon so stay tuned! Click to learn more and reserve your ticket today.

    8 April: Tel Aviv

    12 April: Berlin

    15 April: Paris

    17 April: London

    Website: LINK

  • Twitch Extension Challenge: And the winners are…

    Twitch Extension Challenge: And the winners are…

    Reading Time: 4 minutes

    For three months, the Twitch developer community has been hard at work creating, building, and launching Extensions for the Twitch Extension Challenge powered by AWS.

    And now the winners have been announced!

    Watch the announcement show with special guests now! (There’s a unicorn onesie somewhere. 🦄)

    People’s Choice

    Warp Post, created by Matt Jakubowski

    This is panel Extension allows viewers to easily alert a streamer when a package is on the way to them. The viewer can post the tracking number in the same area, so the streamer doesn’t have to worry about where the tracking numbers come from and all the info is in one nice easy spot.

    Honorable Mentions

    Cardboard.live IR Next, created by James Hsu, Sławomir, Pruchnik, Wilson Hunter

    This Extension uses a service for Magic cards object detection and identification, such that viewers can click on the physical outlines of cards on-stream to see what the cards do. They also built a Magic decklist upload option, so that creators can display the hidden contents of a deck designed for a tournament.

    Heat, created by Scott Garner

    Heat is an Extension for interactive experiences through clicks directly on the video feed. It captures click data on the video feed and routes it to the broadcaster. Now, it provides a number of front-end demos and instructions for creating custom experiences with a simple protocol based on socket.io.

    Chat Heroes, created by Nick Phillips, Matthew Snyder, Mike Freudenberg

    Chat Heroes brings Chat to life with animated characters as well as helps increase streamer support using bits. It allows both the streamers and viewers to show love, say hello, get salty, etc. Chat Heroes provides multiple characters and interactions to choose from.

    Playground, created by alondanoch

    Playground is the ultimate audience engagement Extension. Create custom engagements, and let viewers contribute and participate in your stream. Share the love and give your viewers the recognition they deserve when they contribute to your channel!

    Third Place

    Chat Translator, created by Instafluff

    With Chat Translator, viewers can talk to streamers and have conversations among each other, each in their own native tongue as if all other chatters speak the same language. It automatically detects and translates messages from 21 different languages to the currently-supported five languages.

    Second Place

    Reach Audience Worldwide, created by Kaan Baris BAYRAK

    Imagine you can understand almost any language. This Extension is basically subtitles for viewers on a Twitch channel. Viewers can read subtitles in 20 different languages. With the help of this Extension, you can remove so many language barriers!

    First Place

    StreamBreak, created by David Fasching, Manuel Fleck & Oliver Wendelin

    Multiplayer games for your audience! Keep your viewers during bio breaks and let them play mini games together! With StreamBreak, instead of a pause screen or a countdown, streamers can simply start a StreamBreak game and let their viewers play.

    There were a total of 93 participants in the challenge, so there’s much more to see. Check out all the submissions here.

    Congrats to all the winners and thank you to everyone that submitted! You’re not only helping to build the future of live entertainment, but also an awesome community.

    Special shoutout to Devpost, our partner in running this challenge!

    Ready to build interactive experiences on Twitch? Start now!

    Website: LINK

  • Meet Our Twitch Ambassadors!

    Meet Our Twitch Ambassadors!

    Reading Time: 2 minutes

    At TwitchCon 2018 in San Jose, we debuted a program that represents the diversity of content, creators, and communities on Twitch. Our first 15 TwitchCon Ambassadors shared their stories across social media, Twitch Weekly, the TwitchCon blog, and on the front page, leading up to, and at, TwitchCon.

    Being a TwitchCon Ambassador showcased these creators to the broader Twitch community, and not only did they flourish, but communities from Beauty to Speedrunning to The Sims had an opportunity to shine like never before. Obviously, we couldn’t stop there, so we’re broadening the program beyond TwitchCon and introducing a new Twitch Ambassador every single week.

    Wow, Twitch Ambassadors!

    You’ve already met some of our Ambassadors and experienced a day in their life through their Twitch Instagram takeovers: ChocolateKieran, mmmkhayyy, SpawnOnMe, Trihex, misscoookiez, itsHafu, and Pokket. We’re also currently spotlighting all of our TwitchCon Europe Ambassadors!

    The Partners chosen are established and have amazing communities, but their unique stories deserve a bigger spotlight. They were chosen specifically because of the positive impact they’ve contributed to the Twitch community. From being role models for their community, to establishing new content genres on Twitch, to having inspirational stories that empower those around them, these creators embody what it means to #BleedPurple.

    Every week, we’ll feature a new Partner or Affiliate and a new community live on the front page of Twitch telling their unique stories and on an Instagram takeover, as well as popping up occasionally in a number of additional places (hint: Berlin and San Diego). We hope you’ll stop by, say hello to these creators, and leave a :bleedPurple: or two in chat.

    Website: LINK

  • Now it’s easier than ever to MeetUp

    Now it’s easier than ever to MeetUp

    Reading Time: 2 minutes

    Almost exactly two years ago, Twitch launched the “Community MeetUps, Powered by Twitch” program to help Twitch community members connect locally. At launch, there were 20 groups established across Australia, Canada, and the United States. The #bleedpurple spirit that fuels these MeetUps is bigger and better than ever. Since then, we’ve added London to the list, and volunteer organizers have more than doubled the number of cities participating across the globe.

    MeetUps recreate some of the best parts of what you’d experience at a convention: IRL friendship, networking with sponsors, gaming, karaoke, and more! It’s like your own little TwitchCon to help keep FOMO away or fight off those post-con blues. With more members of the Twitch community wanting to join the the fun, we’re making it easier to find, join in, and MeetUp. So, starting today, we’re launching MeetUps.twitch.tv.

    Without ever having to leave Twitch, you can search for MeetUp groups in your city, register for future events, and get connected with others in your area, all using your Twitch account.

    In 2019, we’re connecting with more Twitch users, more often, in more places, and in more meaningful ways, and MeetUps is just one of them. From TwitchCon Europe, to E3 and PAX West, to TwitchCon in San Diego, we hope there’s an opportunity to you to get involved and say HeyGuys!

    Website: LINK

  • How Twitch Addresses Scalability and Authentication

    How Twitch Addresses Scalability and Authentication

    Reading Time: 3 minutes

    Curious how Twitch Identity services addresses scalability and performance challenges related to authentication?

    Last Tuesday, the Twitch Identity team — which helps Twitch users create and manage their digital identity and owns the services that provide authentication, authorization, and user metadata management — hosted a Meetup.com event to explain just that. But we’re recapping here just for you!

    First challenge: Login form load

    The goal of authentication is to verify who the user is. In a typical login flow, the user supplies a password along with a username and the service validates the credentials.

    Login user interface

    The Twitch Login form used to load very slowly, as long as 10 seconds in some Asian and Pacific countries. The browser had to make a DNS request for the authentication backend, initiate a TLS connection to authentication service, make a request to load the page, and then make additional requests for more assets. Altogether, there were five round trips and over 150 KB of data transfer.

    To improve load latency, the team considered a few options: prefetching, connection reuse, inlining, and lazy loading.

    Ultimately, the solution relies mostly on prefetching by making the login modal part of the main page, but it employs lazy load for fetching heavy assets. As a result, the median load latency dropped as much as 20x from 4.1 sec to 0.2 sec.

    Second challenge: User session validation

    At the end of the login flow, the browser obtains a long-lived OAuth 2.0 access token and stores it in a cookie. This token is required for subsequent requests to the Twitch API and the corresponding downstream services.

    If each service had to validate the OAuth token directly against the token dispensary, the latter would need to handle calls from multiple services for every API request. To reduce the workload, the Identity team implemented an approach that employs self-contained JSON Web Tokens (JWT).

    Login and request flow

    In this approach, before forwarding the request to downstream services, the API calls a JWT Authority service, which validates the OAuth token and generates a short-lived JWT token. The latter contains a user id, scopes, and a digital signature. The API includes a JWT token in calls to all downstream services instead of an OAuth token. The services validate the digital signature in the JWT token and read the payload. This design dramatically reduces the number of requests to the token dispensary.

    Check out the VOD now for the whole talk.

    Future projects

    The Identity team has a roadmap that extends into 2020, which includes improvements in the detection and prevention of malicious behavior, security enhancements, federated identity, service re-architecture, etc.

    If you are interested in joining the team, we are currently hiring in San Francisco.

    Website: LINK

  • All Things Twitch at GDC

    All Things Twitch at GDC

    Reading Time: 3 minutes

    Next week is the Game Developers Conference at the Moscone Center in San Francisco! That special time of year when we get to show some extra love to our game developer community by highlighting what Twitch does best, celebrating video games and those that create them.

    As we buckle in for this exciting week, here’s how you can connect with our team.

    Monday, March 18

    Amazon Developer Day sessions

    1:20pm — Making Decisions with Big Data: Game development is all about making choices. But without the right data, how do you know what’s worth the development effort and cost? Learn how analytics solutions from Amazon can help you build (and refine) content that players truly enjoy.

    4:00pm —Grow your Game with Twitch: Using Twitch to reach customers is a given, but now you can break through in all new ways. In this session, learn how to empower your streamers to win you customers through tournament creation tools, in-Twitch game invites, and much more.

    Tuesday, March 19

    Amazon Developer Day sessions

    10:00am —Twitch for Games Playbook: This session dives in to explore best practices and easy ways to integrate Twitch into your game regardless of where you are at in your development lifecycle.

    11:20am — Creating Player Engagement Through Content, Competition, and Conversation: By using smarter AI, intelligent conversations, and dynamic content, you can help create engagement. Learn new ways to leverage this technology to drive in-game real world prizing, easy to set up tournaments, influence marketing, and even Alexa — all available today from Amazon Game Tech.

    Andddd .. we’ve got a sweet Booth to hang all day with you on the show floor! Stop by, say hello 👋🏼 , grab some sweet Twitch merch 💜, and come chat about growing your game with Twitch!

    Wednesday, March 20

    All Day — Stop by Booth #S741 on the GDC show floor

    3:30pm — 5:30pm — Twitch and Amazon Game Studio recruiting happy hour: Join Twitch and Amazon Games for food, drinks, and information about career opportunities!

    Thursday, March 21

    All Day — Stop by Booth #S741 on the GDC show floor

    6:30–9:00pm — Twitch and Amazon Game Tech Happy hour: Join us in our booth (#S741) as well as Amazon’s booth for a happy hour where you can enjoy food, drinks, and networking.

    Friday, March 22

    All Day — Stop by Booth #S741 on the GDC show floor

    Not going to be in San Francisco for GDC? Don’t worry! We have an array of live streamed shows we will be streaming this week.

    Thursday, March 21

    TwitchDev Weekly: Join Jon and Matt, Twitch’s developer advocates, as they present from the Twitch booth at GDC.

    Friday, March 22

    Extension Challenge Announcement: We will be announcing the winner of the Extension Challenge powered by AWS; don’t miss a chance to see all the great ideas as well as who won!

    We are looking forward to connecting with you at GDC!

    __________________________

    Note that we will not be hosting our monthly Developer Update stream at its normal time; it’s moving it to the following week, Tuesday, March 26 at 10am PT. We’ll be recapping all the action from GDC along with new product updates and announcements.

    Website: LINK

  • A Twitch Integration Lets the Viewers Call the Shots

    A Twitch Integration Lets the Viewers Call the Shots

    Reading Time: 7 minutes

    Q&A with Fatshark Games and Warwitch

    With tons of enemies attacking you at all times, Warhammer: Vermintide 2 is a hectic game. It’s hard for Twitch broadcasters to read their Chat or interact directly with their viewers. That’s why the game developer Fatshark decided to include an innovative Twitch integration that allows viewers to change the outcome of the game for the broadcaster. Every 30, 60, or 90 seconds Chat can vote on what happens in the game. The integration makes it easier for the broadcaster to play and comment on the screen.

    We caught up with Fatshark and Warwitch, a Twitch creator that often streams Vermintide 2, to get the behind-the-scenes lowdown on why the integration is so cool and the technology behind it.

    Warwitch shows the power of Twitch integration.

    Q&A with Gunnar Johannson, PR Manager at Fatshark

    Q: Can you tell me more about Fatshark and Vermintide 2?

    Fatshark has been around for 12 years with the first title Lead and Gold debuting in 2010. It’s a tightly knit team of over 90 experienced and skilled employees, who do regular updates for Vermintide 2 and are always on the look-out for new and exciting projects.

    Vermintide 2 is the sequel to the critically acclaimed Vermintide. It’s a fierce first-person, co-op slaughter-fest, featuring visceral and ground-breaking melee action set in the apocalyptic End Times of the war-ravaged Warhammer Fantasy Battles world. The game has sold over two million units and has about 397 million minutes watched on Twitch. It was also voted the co-op game of the year by PC Gamer — and is on the cover this month for the second time. Kotaku called it the “The Best Four-Player Co-op Since Left 4 Dead.”

    Today also happens to be the first anniversary of the game. You can play for free on Steam until tomorrow!

    Q: Why are you excited about this Twitch integration?

    A: The integration is a really great way to get the viewers engaged in the stream as well as in the game. It lets a massive amount of people play together, even though only four are playing the actual game. The audience becomes the game directors, and for the players, it’s a bit like improv theatre. The viewers get their voice out there via the voting, and suddenly the players get a Chaos Warrior to fend off.

    Q: Why did you, as a company, decide to invest in this integration instead of something else?

    A: We have been talking with Twitch about possibilities since they first told us about the integration, and this was a long time before the game was even announced. We had it on our list of things we wanted to include at release or shortly after. About a month before release we had a meeting where we decided between what would be in the game on day one, and what would come within a few weeks after release. With the huge — H-U-G-E — success of the beta with streamers, it was an easy decision to include the integration at launch, because it would give the streamers more options to interact with their viewers, but also show that we appreciate what they do.

    It’s also fair to say that our Twitch integration was a pivotal part of the success we had on Twitch when we released the game, and Twitch is an integral part of reaching out to gamers.

    Q: What are you planning to do next?

    A: The integration is played daily, and we get positive feedback from so many streamers when we visit any event, etc. We are looking into what we can add, and what would be appreciated by both streamers and viewers.

    Q&A with Victor Magnuson, Game Designer and Producer at Fatshark

    Q: Can you briefly describe your development process? Including how you came up with the idea, how long it took, what you did to test or troubleshoot, etc.

    A: During the development of Warhammer: The End Times — Vermintide we realised that the system we use to populate the world (the Ai Director) would be pretty well suited for a integration of this type. The director already took into account how the players were doing and acted accordingly. For instance, if the players took a beating, it would lay off them for a while and if a player left the group, it would send an Assassin to kill that player. We realised that we could hand some of this power over to the streaming audience and let them be a part of the streaming experience in a very direct way. So when we started development of the sequel, a strong Twitch integration felt like an obvious choice. It was also during this time that streaming as a part of the general gaming community really took off.

    Q: Describe the technology behind this integration?

    A: It is quite simple actually. We ask the streamer to connect with their Twitch account name in the the game, we then send a request to “https://api.twitch.tv/kraken/users?login=“ .. <twitch_user_name> to collect their data. If we get a positive response we check their user_id with a https request to “https://api.twitch.tv/kraken/streams/“ .. <user_id> to see if they have an active stream going. We then use the channel name for the stream to connect to “irc.chat.twitch.tv” and join their channel. This allows us to constantly parse their Chat and use that to look for answers to the queries that we present on screen. We also make sure that the same user cannot vote multiple times.

    Q: What learnings or best practices would you share about developing integrations with Twitch?

    A: Keep it as simple as possible but make sure that whatever the audience is doing in the game is very noticeable; you want the viewers to feel like they are impacting what is going on in the game and easily recognise that what is happening is due to their involvement. Another thing is that the audience will most likely either try to always help the streamer or always make the life difficult for the streamer, so when you have multiple options for the viewers to choose from, try to make them balanced, otherwise the results tend to become very similar. For example, if the options are opposites (a good and a bad choice) dependent on the relationship between the streamer and their Chat, the result will always be the bad or the good choice.

    Warwitch is saved by his viewers thanks to Twitch integration.

    Q&A with Warwitch, Twitch Creator

    Q: Can you tell us about yourself and your Twitch Channel?

    A: My name is Warwitch from WarwitchTV and I’ve been a Twitch Partner for nearly five amazing years. I play a variety of exciting games, Vermintide 2 being one of my favorites, and also my first experience with Twitch integration.

    Q: Please describe (briefly) your experience with Twitch integration.

    A: I had actually never heard about integration until the release of Vermintide 2. I was naturally excited and interested, so I tried the feature out as soon as I was able. I immediately loved the fact that my viewers were able to shape events in the game directly. It’s fun to watch as they laugh and chuckle when their votes have a lasting impact on what happens.

    Q: What benefits does the integration give you as a streamer? How does it enhance the viewer experience?

    A: When my viewers are integrated into the game, I find it improves every element of my stream. I always try to make my viewers feel that they are a real part of the show (not just spectators), and integration really helps to make that happen. One of the coolest things I’ve seen about Twitch integration is how it empowers lurkers who may not otherwise have much to say to get involved in the stream. That’s very important to me. I try to interact with as many of my viewers as I can, and with Twitch integration that becomes even easier.

    Q: How did you find out about the integration?

    A: Vermintide 2 was the first time I had actually ever heard of integration in streams. When the devs announced that viewers would be able to have a hand in the events of a game I was playing I was thrilled. It’s been one of my favorite features to use during my live streams since.

    Q: Any ideas for how it could be improved?

    A: More options to vote on is always a good idea. More ways the viewer can impact and change the flow of the game. People also love to see their own names “up in lights,” so to speak. I’ve seen some integrated games that even copy the names of viewers who voted and place them in game as a boss or enemy to face. That’s a very fun experience for a viewer!

    Q: Would you encourage other streamers to use Twitch integrations or Extensions? If so, why?

    A: Absolutely! It’s a super fun way to get to know your community better and let them either help (or destroy) you. Either way, it’s a win. Twitch integration is an incredible way to bond with your community and just a whole lot of fun!

    For more information on Vermintide 2 or Fatshark, visit https://www.fatshark.se/.

    As always, let us know what you think by connecting with us @TwitchDev on Twitter, in the developer forums, or on our live broadcasts (follow us for notifications when we’re live).

    Ready to build interactive experiences on Twitch? Start now!

    Website: LINK

  • Cool stuff to eat, see, and do in San Diego

    Cool stuff to eat, see, and do in San Diego

    Reading Time: 2 minutes

    Sightseeing and experiences

    Our second widely recommended experience is the San Diego Zoo. It’s no wonder, based on these raving reviews:

    I know sometimes people feel weird about the idea of animals being kept in enclosures, but the San Diego Zoo is renowned for their work in conservation and reintroduction of endangered species to the wild. They raise condors, tigers, polar bears, and are one of the few zoos to successful breed giant pandas. -Annemunition

    One of my favorite places to go will always be the San Diego Zoo with friends so I can gaze in wonder at all my favorite animals and get lost in the attractions, not to mention all the Pokémon in Pokémon Go. -Dracontious

    This zoo is legitimately the biggest and best zoo in the country – it’s amazing. They also have a separate Safari zone that is pretty cool as well. -Jericho

    If the zoo isn’t the walk in the park you’re looking for, here are some literal walks in the park you might be looking for:

    AnneMunition

    Mission Beach Boardwalk: Bikers, skaters, fire pits on the sand, amusement park rides, beach volleyball… Rent a scooter and cruise the boardwalk. It’s a little far from the convention center, but if you’re a newcomer to this edge of the continent then Mission Beach is the peak California experience.

    Jericho

    The USS Midway: The Midway is a museum and tour of an aircraft carrier. It’s at your own pace, so you can go through it quickly or take your time.

    KuraiNozomi

    Balboa Park: Very rich in history, museums, and a joy to walk around. I often would go to take my pup to the dog park there, but I also personally love to visit the pond and try to spot turtles.

    Samzorz

    Mission Beach and Belmont Park: Before moving to San Diego, I always made it a habit to visit both. There’s a little amusement park there and one of the best beaches San Diego has to offer. Now after living here, I still try to go as much as I possibly can!

    Website: LINK

  • Improving the Offline Experience for Viewers and Streamers

    Improving the Offline Experience for Viewers and Streamers

    Reading Time: 2 minutes

    Every day, millions of people come to Twitch to watch and find new channels. To help streamers be more discoverable, and to provide viewers with better recommendations, we’ve been working on tools like tags that help connect people.

    We know that people hear about new channels from sources all over the web, which means that sometimes when they arrive the streamer isn’t online or hosting. Starting today, we’re testing new ways to improve the experience viewers have when they stop by a channel and the streamer isn’t live. We want to help introduce new viewers to the channels they find and make channel pages work smarter for streamers.

    The first set of tests we’ll be launching are intended to let viewers know that the streamer is offline, provide viewers with information about the channel and types of content they’ll find, and encourage them to view VOD content they might enjoy, like a past broadcast or Highlight.

    Our plan is to test and adjust to ensure that we’re making changes that work for every channel on Twitch as we continue to invest in new ways to improve discovery and support streamers in growing their channel.

    We hope that these new features aid in streamers’ growth and we look forward to getting everyone’s feedback as we continue to test these ideas. If you have ideas for us, please tell us here.

    Website: LINK

  • Celebrate Women’s History Month on Twitch

    Celebrate Women’s History Month on Twitch

    Reading Time: 2 minutes

    Twitch is home to an incredibly diverse set of creators and communities and this March, in honor of Women’s History Month and International Women’s Day (March 8), we’re shining the spotlight on some of our favorite women streamers. You’re invited to join the celebration!

    Featured Streamers

    No matter what kind of stream you’re looking for, from competitive gaming to creative arts, our featured women streamers will be doing what they do best on the front page all month long. Tune in to your favorites, check out a stream for the first time, and definitely stop by on International Women’s Day (March 8) when we’ll be featuring women streamers on the front page all day long. Here’s a full schedule of who we’re featuring and when:

    Support 1000 Dreams Fund

    For the second year in a row, we’re partnering with 1000 Dreams Fund (1DF) to raise money for women to get involved in STEM and broadcasting. Last year, the community raised $45,000 and helped support 60 women with 1DF’s Twitch BroadcastHER grant. This specific grant is available only to women who are currently a Twitch Affiliate or Partner. If you’d like to help support 1DF this year, you can join the fundraising efforts on Tiltify.

    Twitch Rivals is also inviting some of the most talented women of CS:GO to compete for pride, glory, and to raise money for 1DF. And Twitch will match every dollar (up to $25,000) raised during the event, so stay tuned because more details like who is competing and when will be announced soon.

    If you have any questions regarding 1000 Dreams Fund or how to sign up to help, you can email charity@twitch.tv to get all your questions answered.

    International Women’s Day Guest Speakers

    On March 8th, join us for a special edition of Twitch Weekly followed by a special one hour panel hosted by our very own Anna Prosser and featuring Katrina Jones, Twitch’s Head of Diversity & Inclusion and other prominent women in tech and gaming.

    Website: LINK