Leçons de ma première année de codage en direct sur Twitch

J'ai essayé le streaming pour la première fois en juillet dernier. Au lieu de jouer, ce que font la majorité des streamers sur Twitch, je voulais diffuser le travail open source que je fais dans mon temps personnel. Je travaille un peu sur les bibliothèques matérielles NodeJS (la plupart sont les miennes). Étant donné que j'étais déjà dans un créneau sur Twitch, pourquoi ne pas être dans un créneau encore plus petit, comme le matériel alimenté par JavaScript;) Je me suis inscrit à ma propre chaîne et je suis régulièrement en streaming depuis.

Bien sûr, je ne suis pas le premier à faire ça. Handmade Hero a été l'un des premiers programmeurs à regarder du code en ligne, rapidement suivi par les développeurs de Vlambeer qui ont développé Nuclear Throne en direct sur Twitch. J'étais particulièrement fasciné par Vlambeer.

Ce qui m'a fait basculer sur le point de souhaiter que je puisse le faire pour le faire est crédité à Nolan Lawson, un de mes amis. Je l'ai regardé diffuser son travail open source un week-end, et c'était génial. Il a expliqué tout ce qu'il faisait en cours de route. Tout. Répondre aux problèmes sur GitHub, trier les bogues, déboguer le code dans les branches, vous le nommez. J'ai trouvé cela fascinant, car Nolan maintient des bibliothèques open source qui sont très utilisées et actives. Sa vie open source est très différente de la mienne.

Vous pouvez même voir ce commentaire que j'ai laissé sous sa vidéo:

Je l'ai essayé moi-même une semaine ou deux plus tard, après avoir configuré ma chaîne Twitch et me suis frayé un chemin en utilisant OBS. Je crois avoir travaillé sur Avrgirl-Arduino, sur lequel je travaille encore fréquemment en streaming. C'était un premier jet difficile. J'étais très nerveux et j'étais resté éveillé tard à répéter tout ce que j'allais faire la veille.

Le petit nombre de téléspectateurs que j'ai eu ce samedi était vraiment encourageant, alors j'ai continué. Ces jours-ci, j'ai plus d'un millier d'adeptes, et un joli sous-ensemble d'entre eux sont des visiteurs réguliers que j'appelle «la fam noopkat».

Nous nous amusons beaucoup, et j'aime appeler les parties de codage en direct «programmation en couple massivement multijoueur en ligne». Je suis vraiment touché par la gentillesse et l'esprit de tous ceux qui me rejoignent chaque week-end. L'un des moments les plus amusants que j'ai vécus a été celui où l'un des membres de la famille a souligné que ma carte Arduino ne fonctionnait pas avec mon logiciel car la puce électronique était absente de la carte:

Je me suis déconnecté plusieurs fois d'un flux, seulement pour trouver dans ma boîte de réception que quelqu'un a envoyé une pull request pour un travail dont j'avais mentionné que je n'avais pas le temps de commencer. Je peux honnêtement dire que mon travail open source a été amélioré, grâce à la générosité et aux encouragements de ma communauté Twitch.

J'ai tellement plus à dire sur les avantages que le streaming sur Twitch m'a apporté, mais c'est probablement pour un autre article de blog. Au lieu de cela, je souhaite partager les leçons que j'ai apprises à tous ceux qui voudraient essayer le codage en direct de cette manière pour eux-mêmes. Récemment, quelques développeurs m'ont demandé comment commencer, alors je publie les mêmes conseils que je leur ai donnés!

Tout d'abord, je vous relie à un guide intitulé "Streaming and Finding Success on Twitch" qui m'a beaucoup aidé. Il se concentre spécifiquement sur Twitch et les flux de jeu, mais il y a encore des sections pertinentes et de bons conseils. Je vous recommande de lire ceci avant de considérer d'autres détails sur le démarrage de votre chaîne (comme les choix d'équipement ou de logiciel).

Mon propre conseil est ci-dessous, que j'ai acquis de mes propres erreurs et de la sage sagesse de mes collègues streamers (vous savez qui vous êtes!).

Logiciel

Il existe de nombreux logiciels de streaming gratuits pour diffuser en continu. J'utilise le logiciel Open Broadcaster (OBS). Il est disponible sur la plupart des plateformes. J'ai trouvé très intuitif de se lever et de partir, mais d'autres prennent parfois un certain temps pour apprendre comment cela fonctionne. Votre kilométrage peut varier! Voici une capture d'écran de la configuration de ma `` scène de bureau '' OBS à ce jour (cliquez pour agrandir l'image):

Vous basculez essentiellement entre les «scènes» pendant le streaming. Une scène est une collection de «sources», superposées et composées les unes avec les autres. Une source peut être des choses comme une caméra, un microphone, votre bureau, une page Web, du texte en direct, des images, la liste est longue. OBS est très puissant.

Cette scène de bureau ci-dessus est l'endroit où je fais tout mon codage en direct, et je vis principalement ici pendant la durée du flux. J'utilise iTerm et vim, et j'ai également une fenêtre de navigateur à portée de main pour accéder à la documentation et trier les choses sur GitHub, etc.

Le rectangle noir du bas est ma webcam, donc les gens peuvent me voir travailler et avoir une connexion plus personnelle.

J'ai une poignée d'étiquettes pour mes scènes, dont beaucoup sont liées aux statistiques et aux informations dans la bannière du haut. La bannière ajoute simplement de la personnalité et constitue une belle source d'informations persistante pendant le streaming. C'est une image que j'ai créée dans GIMP, et vous l'importez en tant que source dans votre scène. Certaines étiquettes sont des statistiques en direct extraites de fichiers texte (comme le plus récent suiveur). Une autre étiquette est une étiquette personnalisée que j'ai faite qui montre la température et l'humidité en direct de la pièce d'où je diffuse.

J'ai également mis en place des «alertes» dans mes scènes, qui montrent de jolies bannières au-dessus de mon flux chaque fois que quelqu'un suit ou fait un don d'argent. J'utilise le service Web Stream Labs pour ce faire, en l'important en tant que source de page Web du navigateur dans la scène. Stream Labs crée également un fichier texte en direct pour mes abonnés récents à afficher dans ma bannière.

J'ai également un écran de veille que j'utilise lorsque je suis sur le point d'être en direct:

J'ai également besoin d'une scène pour saisir des jetons secrets ou des clés API. Il me montre sur la webcam mais cache mon bureau avec une page Web divertissante, afin que je puisse travailler en toute confidentialité:

Comme vous pouvez le voir, je ne prends pas les choses trop au sérieux lors du streaming, mais j'aime avoir une bonne configuration pour que mes téléspectateurs tirent le meilleur parti de mon flux.

Mais maintenant, un vrai secret: j'utilise OBS pour rogner les bords inférieur et droit de mon écran, tout en gardant le même rapport de taille vidéo que ce que Twitch attend. Cela me laisse de l'espace pour regarder mes événements (suivis, etc.) en bas, et regarder et répondre à la boîte de discussion de ma chaîne sur la droite. Twitch vous permet de `` faire apparaître '' la boîte de discussion dans une nouvelle fenêtre, ce qui est vraiment utile.

Voici à quoi ressemble vraiment mon bureau complet :

J'ai commencé à faire cela il y a quelques mois et je n'ai pas regardé en arrière. Je ne suis même pas sûr que mes téléspectateurs se rendent compte que c'est ainsi que fonctionne ma configuration. Je pense qu'ils tiennent pour acquis que je peux tout voir, même si je ne peux pas voir ce qui est réellement diffusé en direct lorsque je suis occupé à programmer!

Vous vous demandez peut-être pourquoi je n'utilise qu'un seul moniteur. C'est parce que deux moniteurs étaient trop difficiles à gérer en plus de tout ce que je faisais en streaming. J'ai compris cela rapidement et je suis resté avec un écran depuis.

Matériel

J'ai utilisé des trucs moins chers pour commencer, et j'ai lentement acheté des trucs plus sympas en réalisant que le streaming allait être quelque chose avec lequel je resterais. Utilisez tout ce que vous avez lors de la mise en route, même s'il s'agit du microphone et de la caméra intégrés de votre ordinateur portable.

De nos jours, j'utilise une webcam Logitech Pro C920 et un microphone Blue Yeti sur un bras de microphone avec un micro choc. Ça vaut vraiment le coup à la fin si vous en avez à dépenser. Cela a fait une différence dans la qualité de mes streams.

J'utilise un grand écran (27 "), car, comme je l'ai mentionné plus tôt, l'utilisation de deux moniteurs ne fonctionnait tout simplement pas pour moi. Il me manquait des éléments dans le chat parce que je ne regardais pas suffisamment le deuxième écran de l'ordinateur portable, etc. le kilométrage peut varier ici, mais avoir tout sur un seul écran était essentiel pour que je fasse attention à tout ce qui se passe.

C'est à peu près tout du côté du matériel; Je n'ai pas de configuration très compliquée.

Si vous étiez intéressé, mon bureau a l'air assez normal à l'exception du microphone qui se profile désagréable:

Conseils

Cette dernière section contient quelques conseils généraux que j'ai choisis, qui ont rendu mon flux meilleur et plus agréable dans l'ensemble.

Panneaux

Passez du temps à créer de superbes panneaux. Les panneaux sont les petites zones de contenu au bas de la page de chaîne de chacun. Je les vois comme les nouvelles boîtes de profil MySpace (lol mais vraiment). Les idées de panneau peuvent être des choses comme les règles de chat, des informations sur le moment où vous diffusez, quel ordinateur et équipement vous utilisez, votre race de chat préférée; tout ce qui crée une touche personnelle. Regardez d'autres canaux (en particulier les plus populaires) pour des idées!

Un exemple d'un de mes panneaux:

Bavarder

Le chat est vraiment important. Vous allez avoir les mêmes questions encore et encore au fur et à mesure que les gens rejoindront votre flux à mi-parcours, donc avoir des `` macros '' de chat peut vraiment aider. "Sur quoi travailles-tu?" est la question la plus fréquemment posée lors du codage. J'ai des «commandes» de raccourci de chat pour cela, que j'ai créées avec Nightbot. Il mettra une explication de quelque chose que j'ai entré à l'avance, en tapant une petite commande d'un mot comme ! Whatamidoing

Lorsque les gens posent des questions ou laissent de bons commentaires, répondez-leur! Dites merci, dites leur poignée Twitch, et ils apprécieront vraiment l'attention et la reconnaissance. C'est TRÈS difficile de rester au courant lorsque vous commencez à diffuser, mais le multitâche deviendra plus facile à mesure que vous en ferez plus. Essayez de prendre quelques secondes toutes les deux minutes pour regarder le chat pour les nouveaux messages.

Lors de la programmation, expliquez ce que vous faites . Beaucoup parler. Faire des blagues. Même quand je suis coincé, je dirai, "oh, merde, j'oublie comment utiliser cette méthode lemme Google ça hahaha" et les gens sont toujours gentils et parfois ils liront même avec vous et vous aideront. C'est amusant et engageant, et garde les gens à regarder.

Je perds rapidement tout intérêt lorsque je regarde des flux de programmation où le streamer est assis en silence en tapant du code, ignorant le chat et leurs nouvelles alertes d'abonnés.

Il est fort probable que 99% des personnes qui trouvent leur chemin sur votre chaîne seront amicales et curieuses. Je reçois occasionnellement des trolls, mais les outils de modération proposés par Twitch et Nightbot aident vraiment à décourager cela.

Temps de préparation

Automatisez votre configuration autant que possible. Mon terminal est iTerm, et il vous permet d'enregistrer les dispositions des fenêtres et les tailles de police afin que vous puissiez les restaurer ultérieurement. J'ai une disposition de fenêtre pour le streaming et une pour le non streaming. C'est un gain de temps énorme. J'ai frappé une commande et tout est de la taille parfaite et dans la bonne position, prêt à partir.

Il existe d'autres applications qui automatisent tous les emplacements de fenêtre de votre application, regardez si l'une d'entre elles pourrait également vous aider.

Augmentez la taille de votre police dans votre terminal et dans l'éditeur de code pour que tout le monde puisse la voir.

Régularité

Soyez régulier avec votre horaire. Je ne diffuse qu'une fois par semaine, mais toujours en même temps. Faites savoir aux gens si vous ne parvenez pas à diffuser pendant une heure prévue que vous faites normalement. Cela m'a valu une audience régulière. Certaines personnes aiment la routine et c'est exactement comme retrouver un ami. Vous êtes dans un cercle social avec votre communauté, alors traitez-la de cette façon.

Je souhaite diffuser plus souvent, mais je sais que je ne peux pas m'engager plus d'une fois par semaine à cause des voyages. J'essaie de trouver un moyen de diffuser en haute qualité sur la route, ou peut-être simplement d'avoir des discussions occasionnelles et d'enregistrer la programmation pour mon flux régulier du dimanche. J'essaie toujours de comprendre ça!

Maladresse

Ça va vous sembler bizarre quand vous commencez. Vous allez vous sentir nerveux à l'idée que les gens vous regardent coder. C'est normal! J'ai ressenti cela très fortement au début, même si j'ai une expérience de prise de parole en public. J'avais l'impression que je n'avais nulle part où me cacher et cela m'effrayait. J'ai pensé: «tout le monde va penser que mon code est mauvais et que je suis un mauvais développeur». C'est un schéma de pensée qui m'a tourmenté toute ma carrière , ce n'est pas nouveau. Je savais qu'avec cela, je ne pouvais pas refactoriser discrètement le code avant de passer à GitHub, ce qui est généralement beaucoup plus sûr pour ma réputation de développeur.

J'ai beaucoup appris sur mon style de programmation en codant en direct sur Twitch. J'ai appris que je suis définitivement du type «faites-le fonctionner, puis rendez-le lisible, puis faites-le vite». Je ne répète plus la nuit précédente (j'ai abandonné cela après 3 ou 4 flux au début), alors j'écris du code assez grossier sur Twitch et je dois être d'accord avec ça. J'écris mon meilleur code quand je suis seul avec mes pensées et que je ne regarde pas une boîte de discussion + que je parle à haute voix, et ce n'est pas grave. J'oublie les signatures de méthode que j'ai utilisées mille fois et je fais des erreurs «stupides» dans presque tous les flux. Pour la plupart, ce n'est pas un environnement productif pour être à votre meilleur.

Ma communauté Twitch ne me juge jamais pour cela, et ils m'aident beaucoup. Ils comprennent que je suis multitâche et sont vraiment doués pour les conseils et suggestions pragmatiques. Parfois, ils me renflouent, et d'autres fois je dois leur expliquer pourquoi leur suggestion ne fonctionnera pas. C'est vraiment comme la programmation en binôme ordinaire!

Je pense que l'approche «verrues et tout» de ce médium est une force, pas une faiblesse. Cela vous rend plus compréhensible et il est important de montrer qu'il n'y a pas de programmeur parfait ou de code parfait. C'est probablement assez rafraîchissant pour les nouveaux codeurs de voir, et de m'humilier en tant que codeur plus expérimenté.

Conclusion

Si vous avez voulu vous lancer dans le codage en direct sur Twitch, je vous encourage à l'essayer! J'espère que cet article vous a aidé si vous vous demandez par où commencer.

Si vous souhaitez me rejoindre le dimanche, vous pouvez suivre ma chaîne sur Twitch :)

Sur ma dernière note, j'aimerais personnellement remercier Mattias Johansson pour sa sagesse et ses encouragements dès le début de mon parcours de streaming. Il était incroyablement généreux et sa chaîne YouTube FunFunFunction est une source d'inspiration continue.

Mise à jour: plusieurs personnes m'ont posé des questions sur mon clavier et d'autres parties de mon poste de travail. Voici la liste complète de ce que j'utilise. Merci pour l'intérêt!