Tumgik
adamhhutchins · 5 years
Text
The importance of mental health for every streamer
Tumblr media
May is Mental Health Awareness Month in the United States, but today we’re talking to streamers everywhere.
Streaming on Twitch can be a fulfilling career or hobby — an outlet to share your passions and connect with people all around the world. Your energy is what makes Twitch home for millions of people, but putting yourself out there can sometimes come with mental health challenges. Recognizing and addressing those challenges has been, and will always be, one of our top priorities.
Mental health can be a difficult topic to broach, so this month we’ve partnered with The National Alliance on Mental Illness to bring you 5 mental health tips for content creators. From setting a schedule to finding support groups, the tips below are a great place to begin taking care of yourself or helping others.
And as always, our Mental Health Support & Information page is a great resource for hotlines specializing offering support around depression, self-harm, substance abuse, eating disorders, and more.
5 Mental Health Tips for Online Content Creators By Ross Kerr, The National Alliance on Mental Illness
Creating content and connecting with an online audience presents unique challenges. The level of consistency and engagement required to maintain your brand and following can be demanding. It can also be difficult to navigate between personal and work life when they are so often mixed. Aspects of the work that usually bring personal fulfillment may at times feel like a stressful, overwhelming grind.
If you feel the stress you’re facing is negatively affecting you, there are ways you can improve your mental health.
Connect with Social Supports
Life doesn’t have to be single-player — and it shouldn’t be. Connection is such an important aspect of mental health. Reaching out to others who have shared experiences can help build a network of support and fight loneliness. Another approach is seeking out a mentor who understands the unique challenges of what you do. This person can be a listening ear when times are hard. They can help you overcome difficult situations and feel more equipped for the challenges ahead.
Establish Set Coping Methods
There may be days when your internet connection slows down to a halt or a piece of content you just made accidentally gets deleted. Situations like this can make anyone feel frustrated. It’s important to consider your coping skills for when things don’t go as planned. Coping skills such as deep breathing, reading or exercise can help you release stress and gain perspective on these tough moments.
Set Your Office Hours
Content creation often means working long hours. There’s no one telling you to go home, especially since you are most likely already at home. Setting definitive work hours can help you create a structure that allows for time to unplug, which can significantly reduce stress. It can also help you to feel more refreshed during your set work hours. And as a bonus, having a regular schedule where your audience can expect you to livestream or post content can also contribute towards building an engaged community.
Prioritize a Hobby
For many working in this space, their hobby has turned into a career. But it’s important to have a positive outlet that doesn’t have the pressure of a career, something that is just for fun and just for you. Pursuing new hobbies or making time for old ones can provide a much-needed distraction. Whether it’s playing “Magic: The Gathering” at the local comic shop or going rock climbing, the change of focus can help take your mind off work-related stress.
Take A Break
If you find yourself pushing through every day and feeling less inspired or overwhelmed: take a break. Whether it’s 30 minutes to get a breather or a week-long vacation, breaks are essential. Work can be hard, but it shouldn’t be painful. While there can be pressure to stay connected in order to build or maintain a following, it’s not as important as your mental health, and you need to set your own limits. Also, taking a step back gives you the opportunity to evaluate what you can change to feel better long-term.
Keep in mind that experiencing these challenges is not a failure. You should never blame yourself for having concerns about your mental health. And whether these challenges are a part of your full-time job or a side gig after work, you are not facing them alone.
The National Alliance on Mental Illness, is the nation’s largest grassroots mental health organization dedicated to building better lives for the millions of Americans affected by mental illness.
The importance of mental health for every streamer was originally published in Twitch Blog on Medium, where people are continuing the conversation by highlighting and responding to this story.
0 notes
adamhhutchins · 5 years
Text
Twitch Developer Tour Roundup
Tumblr media
What an incredible start to our 2019 Twitch Developer Tour!
We traveled to four countries where we met tons of awesome developers and members of the TwitchDev community.
We’d like to thank everyone that came out to join us in Tel Aviv, Berlin, Paris, and London!
We’d also like to thank all of our partners, including StreamElements, Hypetalk, Wargaming, Bossa Studios, Altoar, Ubisoft, and Jagex. As well as the community meetup organizers that partnered with us in each region — GameIS in Tel Aviv, gamesweekberlin, Indie Game Developer Group Paris, and BAME in Games in London.
Tumblr media
For those of you who were not able to join us on tour, you can read more about each event and stay tuned as we are excited to be announcing more cities very soon!
Tel Aviv
Gil Megidish joined us from HypeTalk and Reem Sherman from StreamElements to give insightful talks about how they integrate with Twitch. We had a packed house in Tel Aviv, and enjoyed awesome views from the AWS office and the city’s warm weather!
Tumblr media
Berlin
In Berlin Christian Bergmann and Zoltan Sipos joined us from Wargaming, Ricardo Rego from Bossa Studios, and James Van Eden — Altoar. (If you don’t already know Altoar, check out his awesome Extension success story now!)
We had such a great time hosting our Dev event in Berlin with TwitchCon Europe and partnering with gamesweekberlin. We really felt the love from the whole Twitch community, and can’t wait for TwitchCon North America in September.
Tumblr media
Paris
In Paris, Sebastien Domergue from Ubisoft spoke about the benefits of integrating with Twitch. We really enjoyed hearing from him as well as others in the region on what they currently do with TwitchDev. Also, check out our super cool event space, inside Mozilla, Paris!
Tumblr media
London
We closed out our first leg of the 2019 tour in London at our EU HQ with Neil McLarty from Jagex, Deborah Mensah-Bonsu from Space Ape Games, and Nicki Klein from Amazon Web Services.
We heard three very different talks about different aspects of Twitch and different ways these teams have worked with Twitch and TwitchDev. It was so cool to have everyone in the Twitch office to connect with our speakers, staff, and partners.
Tumblr media
We are excited to be coming to a city near you; stay tuned as we announce new tour cities in the near future.
Until then, 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!
Twitch Developer Tour Roundup was originally published in Twitch Blog on Medium, where people are continuing the conversation by highlighting and responding to this story.
0 notes
adamhhutchins · 5 years
Text
Bake a Cake with Twitch!
Three Years of Food & Drink
https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fplayer.vimeo.com%2Fvideo%2F332285690%3Fapp_id%3D122963&dntp=1&url=https%3A%2F%2Fvimeo.com%2F332285690&image=https%3A%2F%2Fi.vimeocdn.com%2Fvideo%2F777950525_1280.jpg&key=a19fcc184b9711e1b4764040d3dc5c07&type=text%2Fhtml&schema=vimeo
vimeo
We’re celebrating the third anniversary of the launch of Food & Drink on Twitch with a full day of some of the sweetest culinary activities this Friday, April 26. Join us as we cook, bake, and salud with some of your favorite streamers, and join in the fun by cooking along and tweeting your creations to us @Twitch and tagging us on Instagram.
LadyHana — 1:00 am PT
JackieMFood — 2:00 am PT
Tinkerleo — 3:00 am PT
Siri — 4:00 am PT
Jae_Benny — 5:00 am PT
HappyChefTV — 7:00 am PT
WorkingChef — 8:00 am PT
RoryPlays — 9:00 am PT
AnnaGeeks — 10:00 am PT
Goldamsel — 11:00 am PT
CHEFJOHNREED — 12:00 pm PT
Alygator– 1:00 pm PT
ChefLethalPlays — 3:00 pm PT
TheHungerService — 4:00 pm PT
Rattenni — 5:00 pm PT
VioletStClaire — 6:00 pm PT
CannibalQueen — 7:00 pm PT
healthyaddict — 8:00 pm PT
trulyyoulee — 9:00 pm PT
ChefdeParty — 10:00 pm PT
Tumblr media
We love Food and Drink Channel!
Bake a Cake with Twitch! was originally published in Twitch Blog on Medium, where people are continuing the conversation by highlighting and responding to this story.
0 notes
adamhhutchins · 5 years
Text
Get more Path of Exile loot with your Twitch Prime membership
Tumblr media
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.
Get more Path of Exile loot with your Twitch Prime membership was originally published in Twitch Blog on Medium, where people are continuing the conversation by highlighting and responding to this story.
0 notes
adamhhutchins · 5 years
Text
All the news from TwitchCon Europe
Tumblr media
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.
Tumblr media
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.
Tumblr media
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.
Tumblr media
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.
Tumblr media
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.
Tumblr media
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.
Tumblr media
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.
Tumblr media
All the news from TwitchCon Europe was originally published in Twitch Blog on Medium, where people are continuing the conversation by highlighting and responding to this story.
0 notes
adamhhutchins · 5 years
Text
The world’s best youth soccer players are coming to Twitch
Tumblr media
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.
The world’s best youth soccer players are coming to Twitch was originally published in Twitch Blog on Medium, where people are continuing the conversation by highlighting and responding to this story.
0 notes
adamhhutchins · 5 years
Text
Go memory ballast: How I learnt to stop worrying and love the heap
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:
These type of changes often involve diving into and understanding things one is not familiar with.
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 Scale 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 that 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:
At steady state, our application was triggering ~8–10 garbage collection (GC) cycles a second (400–600 per minute).
>30% of CPU cycles were being spent in function calls related to GC
During traffic spikes the number of GC cycles would increase
Our heap size on average was fairly small (<450Mib)
Tumblr media
Visage application GC cycles per second
Tumblr media
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:
https://medium.com/media/f5a075029b1c99197f459bb482d5501b/href
Reading the above code you may have two immediate questions:
Why on earth would you do that?
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:
Tumblr media
Log base 2 scale graph showing GC cycles per minute
So this looks good, what about CPU utilization?
Tumblr media
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:
https://medium.com/media/93f0449130b07022abb5c7c930f73fcb/href
We’ll run the program and then inspect with ps:
https://medium.com/media/dd8682719aeffc40596a01624ab0429e/href
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:
https://medium.com/media/6cf28ab721869457433e65e81b2e65d1/href
Again inspecting with ps:
https://medium.com/media/9a6d203eaeedb15b4095b487963476f1/href
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:
https://medium.com/media/423d574cfd70e41cb4d179b713b80996/href
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:
https://medium.com/media/2dec5c3296642dab48d4746b22a7cc5d/href
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:
Check that the goroutine is not doing something non pre-emptible (i.e., the system goroutine)
Perform GC mark work
Check if the goroutine still has an allocation debt, otherwise return
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.
Tumblr media
Execution trace during a GC cycle
The trace shows which goroutines are running on which processor. Anything labeled app-code is a goroutine running useful code for our application (e.g., logic to serve an API request). Notice, how besides the four dedicated procs running the GC code, our other goroutines are being delayed and forced to do MARK ASSIST (i.e.runtime.gcAssistAlloc) work.
Tumblr media
Profile from same application as above, not during a GC cycle
Contrast that with this profile from the same running application not during a GC cycle. Here, our goroutines are spending most of their time running our application code as expected.
So by simply reducing GC frequency, we saw close to a ~99% drop in mark assist work, which translated to a~45% improvement in 99th percentile API latency at peak traffic.
Tumblr media
You may be wondering why Go would choose such a strange design (using assists) for its GC, but it actually makes a lot of sense. The GC’s main function is to ensure that we keep the heap to a reasonable size and don’t let it grow unbound with garbage. This is easy enough in a stop-the-world (STW) GC, but in a concurrent GC, we need a mechanism to ensure that the allocations happening during the GC cycle don’t grow without bound. Having each goroutine pay the allocation tax proportional to what it wants to allocate in the GC cycle is a pretty elegant design in my opinion.
For a really comprehensive write up of this design choice, see this Google Doc.
In (sweeping) summary
We noticed our applications were doing a lot of GC work
We deployed a memory ballast
It reduced GC cycles by allowing the heap to grow larger
API latency improved since the Go GC delayed our work less with assists
The ballast allocation is mostly free because it resides in virtual memory
Ballasts are easier to reason about than configuring a GOGC value
Start with a small ballast and increase with testing
Some final thoughts
Go does a great job of abstracting away many runtime specific details from the programmer. This is great and probably works really well for most programmers and applications.
When you start pushing the boundaries of your application environment, be it compute, memory, or IO, there is no substitute for lifting up the hood, taking a look around, and figuring out why the engine is not running efficiently.
When you need to do this, and you probably will, it sure helps to have a set of tools like the ones Go provides that let you discover the bottleneck quickly.
Acknowledgements
I’d like to thank Rhys Hiltner for his invaluable help in investigating and digging into many Go runtime and GC intricacies. Also thank you to Jaco Le Roux, Daniel Bauman, Specner Nelson, and Rhys again, for help editing and proofreading this post.
References
Richard L. Hudson — The Journey of Go’s Garbage Collector
Mark Pusher — Golang’s Real-time GC in Theory and Practice
Austin Clements — Go 1.5 concurrent garbage collector pacing
Go memory ballast: How I learnt to stop worrying and love the heap was originally published in Twitch Blog on Medium, where people are continuing the conversation by highlighting and responding to this story.
0 notes
adamhhutchins · 5 years
Text
A New Way For Streamers & Viewers to Interact on Twitch
Tumblr media
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.
Tumblr media
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:
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.
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.
Tumblr media
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.
Tumblr media
The new Face Masks Twitch Extension in action.
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
Note: The Face Masks Beta program is only available to Twitch Partner or Affiliate streamers using Streamlabs OBS.
If you have questions or want to learn more head over to Streamlabs or click here to download the Streamlabs OBS.
If you’re a developer and want to learn more about monetizing Twitch Extensions, click here.
A New Way For Streamers & Viewers to Interact on Twitch was originally published in Twitch Blog on Medium, where people are continuing the conversation by highlighting and responding to this story.
0 notes
adamhhutchins · 5 years
Text
Creating Monetization Opportunities for Developers and Streamers
Tumblr media
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.
Tumblr media
Streamlabs Face Masks Tier 3 Subscription
Tumblr media
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. 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!
Tumblr media
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.
Tumblr media
Latest Followers
Now allows followers to celebrate their allegiance with Bits by highlighting how long they have been following a streamer.
Tumblr media
Twitch Picks
Now streamers can customize their polls and allow viewers to vote with Bits.
Tumblr media
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!
Creating Monetization Opportunities for Developers and Streamers was originally published in Twitch Blog on Medium, where people are continuing the conversation by highlighting and responding to this story.
0 notes
adamhhutchins · 5 years
Text
Twitch for Game Developers
How to integrate Twitch into any part of the game development lifecycle
Tumblr media
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.
Tumblr media
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.
Tumblr media
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:
A strategy for growing hours watched and revenue on Twitch.
Ways to increase pre-orders of games.
A strategy to re-engage lapsed players and re-engage players for live services.
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.
Tumblr media
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:
Tumblr media
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).
Tumblr media
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.
Tumblr media
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.
Tumblr media
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.
https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fclips.twitch.tv%2Fembed%3Fclip%3DSwissMildDillBIRB%26autoplay%3Dfalse&url=https%3A%2F%2Fclips.twitch.tv%2FSwissMildDillBIRB&image=https%3A%2F%2Fclips-media-assets2.twitch.tv%2FAT-cm%257C360204722-preview.jpg&key=a19fcc184b9711e1b4764040d3dc5c07&type=text%2Fhtml&schema=twitch
twitch_clip
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.
Tumblr media
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:
Tumblr media
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.
Tumblr media
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.
Tumblr media
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.
Tumblr media
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:
Tumblr media
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.
https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fclips.twitch.tv%2Fembed%3Fclip%3DAbrasiveEsteemedKangarooPeteZaroll%26autoplay%3Dfalse&url=https%3A%2F%2Fwww.twitch.tv%2Fdarkosto%2Fclip%2FAbrasiveEsteemedKangarooPeteZaroll&image=https%3A%2F%2Fclips-media-assets2.twitch.tv%2F25426342368-offset-11990-preview.jpg&key=a19fcc184b9711e1b4764040d3dc5c07&type=text%2Fhtml&schema=twitch
twitch_clip
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.
Tumblr media
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.
https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fplayer.twitch.tv%2F%3F%2521branding%3D%26autoplay%3Dfalse%26video%3Dv360392471&url=https%3A%2F%2Fwww.twitch.tv%2Fvideos%2F360392471%3Ft%3D01m57s&image=https%3A%2F%2Fstatic-cdn.jtvnw.net%2Fs3_vods%2Fbf6853951936bd4bdacb_twitchdev_30925481024_1001467995%2F%2Fthumb%2Fthumb360392471-640x360.jpg&key=a19fcc184b9711e1b4764040d3dc5c07&type=text%2Fhtml&schema=twitch
twitch
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.
Tumblr media
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.
Tumblr media
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:
A strategy for growing hours watched and revenue on Twitch with Extensions, Bounty Board, and Twitch Prime.
Steps to increase pre-orders of games through beta campaigns, launch campaigns complete with major trade show announcements, and interactive announce Extensions.
A strategy to re-engage lapsed players with Twitch Prime, Extensions, Drops, and esports events.
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:
Get even more examples and information in our full Game Developer Playbook: bit.ly/TwitchGameDevPlaybook
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.
Visit the dev.twitch.tv site for documentation and how-to guides.
Ready to build interactive experiences on Twitch? Start now!
Twitch for Game Developers was originally published in Twitch Blog on Medium, where people are continuing the conversation by highlighting and responding to this story.
0 notes
adamhhutchins · 5 years
Text
Twitch Prime members get up to one year of Nintendo Switch Online
Tumblr media
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.
Twitch Prime members get up to one year of Nintendo Switch Online was originally published in Twitch Blog on Medium, where people are continuing the conversation by highlighting and responding to this story.
0 notes
adamhhutchins · 5 years
Text
Squad Stream: The next way to play and watch together
Tumblr media
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.
Tumblr media
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):
3/27, 4:00 PM - 6:00 PM: shroud, just9n, and Skadoodle streaming Apex Legends
3/27, 8:00 PM - 10:00 PM: Anthony_Kongphan, Grimmmz, and Caliverse streaming Battlefield V
3/27, 10:00 PM - 12:00 AM: Loserfruit, Crayator, AngelMelly, and mrfreshasian streaming Fortnite
3/28, 1:00 PM - 3:00 PM: antphrodite, Ellektrikk, MaryJLeeee, and monkeyism streaming tarot card readings
3/29, 8:00 AM - 10:00 AM: kennyS, shoxiejesuss, SmithZz, and jackzj streaming CS:GO
3/29, 3:00 PM - 5:00 PM: twosenseless, Shticky, iinnkone, and VooDoo_val streaming Art
4/2, 4:30 PM - 6:30 PM: Northernlion, Last_Grey_Wolf, DanGheesling, and michaelalfox streaming Satisfactory
4/2, 6:00 PM - 8:00 PM: Ellohime, CobaltStreak, and Diction
4/3, 2:00 PM - 4:00 PM: pokimane, LilyPichu, DisguisedToast, and Yassuo streaming League of Legends
4/4, 10:00 PM - 12:00 AM: GassyMexican, BurkeBlack, and CletusBueford streaming Sea of Thieves
4/6, 8:00 PM - 10:00 PM: Xmiramira, itsmeTroi, Keeyuh, and MsAshRocks streaming The Sims 4
4/7, 4:00 PM - 6:00 PM: TheHungerService, BanzaiBaby, DomesticDan, and WorkingChef streaming Cooking
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.
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 Twitch mobile app. 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.
Squad Stream: The next way to play and watch together was originally published in Twitch Blog on Medium, where people are continuing the conversation by highlighting and responding to this story.
0 notes
adamhhutchins · 5 years
Text
Twitch Developer Tour + gamesweekberlin = better together!
Tumblr media
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
Twitch Developer Tour + gamesweekberlin = better together! was originally published in Twitch Blog on Medium, where people are continuing the conversation by highlighting and responding to this story.
0 notes
adamhhutchins · 5 years
Text
Twitch Extension Challenge: And the winners are…
Tumblr media
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 live announcement show with special guests now! (Yes, that’s a unicorn onesie. 🦄)
https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fplayer.twitch.tv%2F%3F%2521branding%3D%26autoplay%3Dfalse%26video%3Dv399571368&url=https%3A%2F%2Fwww.twitch.tv%2Fvideos%2F399571368&image=https%3A%2F%2Fstatic-cdn.jtvnw.net%2Fs3_vods%2F3de74359ca2dad143fe6_twitchdev_33327025552_1151576073%2Fthumb%2Fthumb1-640x360.jpg&key=a19fcc184b9711e1b4764040d3dc5c07&type=text%2Fhtml&schema=twitch
twitch
People’s Choice
Warp Post, created by Matt Jakubowski
Tumblr media
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
Tumblr media
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
Tumblr media
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
Tumblr media
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
Tumblr media
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
Tumblr media
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
Tumblr media
This Extension is basically subtitles for viewers. 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
Tumblr media
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 was a total of 93 participants in the challenge so there’s so 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!
Twitch Extension Challenge: And the winners are… was originally published in Twitch Blog on Medium, where people are continuing the conversation by highlighting and responding to this story.
0 notes
adamhhutchins · 5 years
Text
Meet Our Twitch Ambassadors!
Meet our Twitch Ambassadors!
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.
Tumblr media
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.
Meet Our Twitch Ambassadors! was originally published in Twitch Blog on Medium, where people are continuing the conversation by highlighting and responding to this story.
0 notes
adamhhutchins · 5 years
Text
Now it’s easier than ever to MeetUp
Tumblr media
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!
Now it’s easier than ever to MeetUp was originally published in Twitch Blog on Medium, where people are continuing the conversation by highlighting and responding to this story.
0 notes
adamhhutchins · 5 years
Text
Meet your Twitch Sings: Stream Star Semi-Finalists
Tumblr media
They came. They sang. And they brought the house down.
After watching all of the incredible Twitch Sings: Stream Star auditions, narrowing the field down to only eight semi-finalists was a tough job. They all made us laugh, cry, or sing along, and all brought their unique energy to the competition, but these eight just had a little something extra.
So without further ado, meet your Twitch Sings: Stream Star Semi-Finalists! Make sure to check out their channel pages and follow them so you don’t miss a note.
MeganLenius — USA
A Twitch music community stalwart, MeganLenius has been wowing us for quite some time now. A true double threat, you can find her rocking out on guitar and blowing everyone away with her incredible vocals. Everyone watching the Semi-Finals is in for a treat when she takes the stage.
RaquelLily — USA
Musician. Writer. Producer. That’s RaquelLily. From the first time we heard her, we were impressed. And when she’s not on Twitch, you can catch her playing guitar, rocking live shows, and recording her own original music.
MermaidUnicorn — Canada
MermaidUnicorn can play over 40 different instruments. We can’t even name 40 instruments. With her powerful vocals and a personality as colorful as her hair, we can’t wait to see (and hear) what she brings to the Semi-Finals.
NucciKabucci — USA
With his impressive levels of enthusiasm and charisma, if NucciKabucci doesn’t put a smile on your face, you may want to check if you have a mouth. This gamer with a knack for singing and impressions is going to be a blast to watch.
LaraLoft — Germany
Singing, gaming, voice acting…LaraLoft is pretty darn good at everything. This The Voice of Germany veteran is bringing her talents to Twitch Sings: Stream Star and we can’t wait to watch her do her thing.
Narindipity — USA
Narindipity personifies what this competition is all about. Following your dreams no matter what you’re facing. She put her entire heart and soul into this, and her silky smooth vocals prove it.
BrianBBright — USA
Brian has been bringing the fire vocals since the early days of the Twitch Sings beta. And with a repertoire that ranges from Andrea Bocelli to Eminem, we can confirm he has some serious range.
LTChicken — USA
A true entertainer, LTChicken’s audition put a huge smile on our face. He expertly combined his passion for streaming and his passion for music and we’re glad he’s joining us in the Semi’s.
So, who’s going to TwitchCon Europe to compete in the finals? That’s up to you, dear audience. All eight semi-finalists will compete on Friday March 22 at 11AM PT, live on /Twitch. You, the community will vote for the four finalists via extension, so make sure you don’t miss out on Sings history.
And to all our semi-finalists, congratulations on making it this far. The determination, talent, and guts you’ve shown are truly inspiring. We’ll see you in the Semi-Finals!
Meet your Twitch Sings: Stream Star Semi-Finalists was originally published in Twitch Blog on Medium, where people are continuing the conversation by highlighting and responding to this story.
0 notes