Уроки мого першого року кодування в прямому ефірі на Twitch

Я вперше провів потокове передавання в липні минулого року. Замість ігор, якими займається більшість стримерів на Twitch, я хотів транслювати роботу з відкритим кодом, яку я роблю в свій особистий час. Я працюю над апаратними бібліотеками NodeJS досить добре (більшість із них - власні). Враховуючи те, що я вже був у ніші на Twitch, чому б не бути в ще меншій ніші, як апаратне забезпечення, що працює на JavaScript;) Я підписався на власний канал і відтоді регулярно транслюю.

Звичайно, я не перший це роблю. Handmade Hero був одним із перших програмістів, котрий я дивився код в Інтернеті, за яким швидко перейшли розробники Vlambeer, які розробляли Nuclear Throne в прямому ефірі на Twitch. Мене особливо зачарував Вламбер.

Те, що мене підштовхнуло до бажання побажати, що я можу це зробити, насправді це робить Нолан Лоусон, мій друг. Я дивився, як одного вихідного він транслював свою роботу з відкритим кодом, і це було приголомшливо. Він пояснив усе, що робив у дорозі. Все. Відповідаючи на проблеми з GitHub, виявляючи помилки, налагоджуючи код у гілках, ви називаєте це. Я знайшов це захоплюючим, оскільки Нолан підтримує бібліотеки з відкритим кодом, які отримують багато користі та активності. Його життя з відкритим кодом дуже відрізняється від мого.

Ви навіть можете побачити цей коментар, який я залишив під його відео:

Я сам провів це через тиждень чи трохи пізніше, після налаштування мого каналу Twitch і прокладання шляху через використання OBS. Я вважаю, що працював над Avrgirl-Arduino, над яким досі часто працюю під час потокової передачі. Це був бурхливий перший потік. Я дуже нервував, і я допізна спав, репетируючи все, що збирався робити напередодні ввечері.

Крихітна кількість глядачів, яку я отримав тієї суботи, насправді обнадіювала, тому я продовжував це робити. У ці дні у мене більше тисячі послідовників, і чудова частина з них - постійні відвідувачі, яких я називаю "ноопкат фам".

Нам дуже весело, і я люблю називати частини кодування в прямому ефірі "масовим багатокористувацьким програмуванням онлайн-пар". Я справді зворушений добротою та дотепністю всіх, хто приєднувався до мене кожні вихідні. Одним із найвеселіших моментів, який я мав, було, коли один із знаменитих зазначив, що моя плата Arduino не працює з моїм програмним забезпеченням, оскільки мікрочіп відсутній на платі:

Я багато разів виходив з потоку, лише з’ясувавши у своїй поштовій скриньці, що хтось надіслав запит на вилучення якоїсь роботи, про яку я вже згадував, що не маю часу для початку. Я можу чесно сказати, що мою роботу з відкритим кодом змінили на краще, завдяки щедрості та заохоченню моєї спільноти Twitch.

Я маю набагато більше сказати про переваги, які мені принесла трансляція на Twitch, але це, мабуть, для іншого повідомлення в блозі. Натомість я хочу поділитися уроками, якими я навчився, для всіх, хто хотів би спробувати кодування в прямому ефірі таким чином для себе. Нещодавно кілька розробників запитали, як вони можуть розпочати роботу, тому я публікую ту саму пораду, яку я їм дав!

По-перше, я посилаю вас на керівництво під назвою «Потік та пошук успіху на Twitch», який мені дуже допоміг. Це зосереджено на Twitch та ігрових потоках, але все ще є відповідні розділи та чудові поради. Я рекомендую прочитати це спочатку, перш ніж розглядати будь-які інші подробиці щодо запуску вашого каналу (наприклад, вибір обладнання або програмного забезпечення).

Нижче наведено власну пораду, яку я здобув на власних помилках та мудрій мудрості товаришів-стримерів (ви знаєте, хто ви!).

Програмне забезпечення

Існує багато безкоштовного програмного забезпечення для потокового передавання. Я використовую Open Broadcaster Software (OBS). Він доступний на більшості платформ. Мені здалося справді інтуїтивним вставати і йти, але іншим часом потрібно трохи часу, щоб дізнатися, як це працює. Ваш пробіг може відрізнятися! Ось знімок екрану того, як сьогодні виглядає налаштування моєї «сцени робочого столу» OBS (натисніть, щоб збільшити зображення):

Ви по суті перемикаєтеся між "сценами" під час трансляції. Сцена - це сукупність `` джерел '', нашаруваних і складених між собою. Джерелом можуть бути такі речі, як камера, мікрофон, робочий стіл, веб-сторінка, живий текст, зображення, список можна продовжувати. OBS дуже потужний.

На цій настільній сцені вище я виконую все своє кодування в режимі реального часу, і в основному я живу тут протягом усього потоку. Я використовую iTerm і vim, а також маю зручне для переключення вікно браузера, щоб шукати документацію та аналізувати речі на GitHub тощо

Нижній чорний прямокутник - це моя веб-камера, тому люди бачать, як я працюю, і мають більш особистий зв’язок.

У мене є кілька "ярликів" для моїх сцен, багато з яких пов'язані зі статистикою та інформацією у верхньому банері. Банер просто додає індивідуальності та є приємним постійним джерелом інформації під час трансляції. Це зображення, яке я зробив у GIMP, і ви імпортуєте його як джерело на своїй сцені. Деякі ярлики - це статистика, яка витягується з текстових файлів (наприклад, найсвіжіший підписник). Інша етикетка - це спеціальна, яку я зробив, яка показує температуру та вологість повітря в приміщенні, з якого я течу.

У моїх сценах також встановлені `` попередження '', які показують милі банери у верхній частині мого потоку щоразу, коли хтось стежить за грошима чи дарує гроші. Для цього я використовую веб-службу Stream Labs, імпортуючи її як джерело веб-сторінки браузера на сцену. Stream Labs також створює текстовий файл моїх останніх підписників, який відображатиметься на моєму банері.

У мене також є екран очікування, який я використовую, коли збираюся вийти в ефір:

Мені додатково потрібна сцена для введення секретних токенів або ключів API. Він показує мене на веб-камері, але приховує робочий стіл за допомогою розважальної веб-сторінки, тому я можу працювати в приватному житті:

Як бачите, я не сприймаю речі занадто серйозно під час трансляції, але мені подобається мати хорошу настройку для своїх глядачів, щоб отримати максимум від мого потоку.

Але тепер для справжнього секрету: я використовую OBS, щоб обрізати нижній та правий краї екрана, зберігаючи те саме співвідношення розміру відео, що очікує Twitch. Це залишає мені місце для перегляду моїх подій (наступних подій тощо) внизу, а також перегляду та відповіді на вікно чату мого каналу праворуч. Twitch дозволяє вам "вискакувати" чат у новому вікні, що дійсно корисно.

Ось так справді виглядає мій повний робочий стіл :

Я почав робити це кілька місяців тому і не оглядався назад. Я навіть не впевнений, що мої глядачі розуміють, що саме так працює моя установка. Думаю, вони сприймають як належне, що я бачу все, хоча я не бачу, що насправді транслюється в прямому ефірі, коли я зайнятий програмуванням!

Можливо, вам цікаво, чому я використовую лише один монітор. Це тому, що двох моніторів було занадто багато, щоб керувати усім, що я робив під час трансляції. Я швидко це зрозумів і з того часу затримався на одному екрані.

Апаратне забезпечення

Я використовував дешеві речі, щоб почати, і повільно купував приємніші речі, коли зрозумів, що потокове передавання буде тим, чим я затримався. Використовуйте все, що є у вас, починаючи роботу, навіть якщо це ваш вбудований мікрофон та камера.

В даний час я використовую веб-камеру Logitech Pro C920 та синій мікрофон Yeti на ручці мікрофона з мікрофонним ударом. Зрештою, цілком варті грошей, якщо вам доведеться їх витратити. Це мало значення для якості моїх потоків.

Я використовую великий монітор (27 "), оскільки, як я вже згадував раніше, використання двох моніторів мені просто не підходило. Мені не вистачало речей у чаті, оскільки я недостатньо дивився на другий екран ноутбука тощо, т. Д. Ваш milage тут може відрізнятися, але мати все на одному екрані було ключовим для мене, щоб звертати увагу на все, що відбувається.

Це майже все на апаратній стороні; У мене не дуже складна настройка.

Якщо вам було цікаво, мій стіл виглядає цілком нормально, за винятком неприємного нависаючого мікрофона:

Поради

Цей останній розділ містить кілька загальних порад, які я підібрав, які зробили мою трансляцію кращою та приємнішою в цілому.

Панелі

Витратьте трохи часу на створення чудових панелей. Панелі - це маленькі вікна вмісту внизу сторінки кожного каналу. Я бачу їх як нові вікна профілю MySpace (ха-ха, але насправді). Ідеями для панелей можуть бути такі речі, як правила чату, інформація про час трансляції, який комп’ютер та обладнання ви використовуєте, ваша улюблена порода котів; все, що створює особистий контакт. Шукайте ідеї на інших каналах (особливо популярних)!

Приклад однієї з моїх панелей:

Чат

Чат дійсно важливий. Ви будете отримувати ті самі запитання знову і знову, коли люди приєднуються до вашого потоку наполовину, тому наявність макросів у чаті дійсно може допомогти. "Над чим ви працюєте?" - це найпоширеніше запитання під час кодування. У мене є ярлик "команд" для чату, який я зробив за допомогою Nightbot. Це дасть пояснення чогось, що я ввів заздалегідь, ввівши невелику команду з одного слова, як ! Whatamidoing

Коли люди задають питання або залишають приємні коментарі, розмовляйте з ними! Подякуйте, скажіть їх ручку Twitch, і вони дійсно оцінять увагу та визнання. Це СУПЕР важко тримати в курсі, коли ви вперше починаєте трансляцію, але багатозадачність стане простішою, коли ви робите більше. Спробуйте взяти кілька секунд кожні пару хвилин, щоб переглянути в чаті нові повідомлення.

Під час програмування поясніть, що ви робите . Багато говорити. Жартувати. Навіть коли я застряю, я скажу: "о, лайно, я забуваю, як користуватися цим методом lemme Google it hahaha", і люди завжди приємні, і іноді вони навіть читатимуть разом із вами і допомагатимуть вам. Це весело та цікаво, і люди не перестають спостерігати.

Я швидко втрачаю інтерес, коли переглядаю потоки програмування, де стример сидить мовчки, вводячи код, ігноруючи чат та попередження про нові фоловери.

Дуже ймовірно, що 99% людей, які знайдуть шлях до вашого каналу, будуть доброзичливими та цікавими. Я іноді отримую троля, але інструменти модерації, пропоновані Twitch та Nightbot, дійсно допомагають це стримувати.

Час підготовки

Автоматизуйте налаштування наскільки це можливо. Мій термінал - iTerm, і він дозволяє вам зберігати розташування вікон та розміри шрифтів, щоб ви могли їх відновити пізніше. У мене є одне розташування вікон для потокового передавання та одне для потокового передавання. Це величезна економія часу. Я вдарив одну команду, і все ідеального розміру і в потрібному положенні, готовий до роботи.

Є й інші програми, які автоматизують розміщення всіх вікон ваших додатків, подивіться, чи не допоможе хтось із них.

Зробіть розмір шрифту справді великим у своєму терміналі та редакторі коду, щоб усі могли бачити.

Регулярність

Будьте регулярними зі своїм графіком. Я транслюю лише раз на тиждень, але завжди одночасно. Повідомте людей, якщо у вас немає можливості передавати трансляцію протягом очікуваного часу, який ви зазвичай робите. Це створило для мене постійну аудиторію. Деякі люди люблять рутину, і це точно так само, як наздоганяти друга. Ви знаходитесь у соціальному колі зі своєю спільнотою, тож поводьтеся з цим так.

Я хочу частіше вести трансляцію, але знаю, що через поїздки не можу взяти на себе зобов’язання частіше одного разу на тиждень. Я намагаюся придумати спосіб передавати у високій якості трансляцію в дорозі, або, можливо, просто поспілкуватися та зберегти програму для мого звичайного недільного потоку. Я все ще намагаюся це зрозуміти!

Незграбність

Коли ви почнете, це буде дивно. Ви будете нервувати через людей, які спостерігають за вашим кодом. Це нормально! На початку я це дуже відчував, хоча маю досвід публічних виступів. Я відчував, що мені ніде сховатися, і це мене лякало. Я подумав, "всі будуть вважати, що мій код поганий, і що я поганий розробник". Це модель мислення, яка переслідувала мене всю мою кар’єру, хоча це не є нічим новим. Я знав, що за допомогою цього я не міг тихо переробити код перед тим, як перейти на GitHub, що, як правило, набагато безпечніше для моєї репутації розробника.

Я дізнався багато нового про свій стиль програмування завдяки прямому кодуванню на Twitch. Я дізнався, що я точно тип "змусити це працювати, потім зробити його читабельним, а потім зробити швидким". Я більше не репетирую напередодні ввечері (я відмовився від цього після 3 або 4 потоків одразу на початку), тому я пишу досить грубий код на Twitch і з цим повинен бути добре. Я пишу свій найкращий код, залишаючись наодинці зі своїми думками і не дивлячись на чат + розмову вголос, і це нормально. Я забуваю підписи методів, які я використовував тисячу разів, і роблю "безглузді" помилки майже в кожному потоці. Для більшості це не продуктивне середовище, щоб бути в кращому випадку.

Моя спільнота Twitch ніколи не засуджує мене за це, і вони мені дуже допомагають. Вони розуміють, що я багатозадачність, і справді чудово підходять до прагматичних порад та пропозицій. Іноді вони визволяють мене, а інколи мені доводиться пояснювати їм, чому їх пропозиція не спрацює. Це насправді як звичайне парне програмування!

Я думаю, що підхід "бородавки та всі" до цього середовища є силою, а не слабкістю. Це робить вас більш зручними, і важливо показати, що немає такого поняття, як ідеальний програміст або ідеальний код. Це, мабуть, досить освіжаюче для нових кодерів і приниження для мене як більш досвідченого кодера.

Висновок

Якщо ви хотіли перейти до кодування в реальному часі на Twitch, я рекомендую вам спробувати! Сподіваюся, ця публікація допомогла вам, якщо ви гадали, з чого почати.

Якщо ви хочете приєднатися до мене по неділях, ви можете слідкувати за моїм каналом на Twitch :)

На останньому етапі я хотів би особисто подякувати Маттіасу Йоханссону за його мудрість та заохочення на початку моєї подорожі. Він був неймовірно щедрим, і його канал FunFunFunction на YouTube є постійним джерелом натхнення.

Оновлення: купу людей запитували про мою клавіатуру та інші частини моєї робочої станції. Ось повний перелік того, що я використовую. Дякуємо за інтерес!