دروس من سنتي الأولى في البرمجة الحية على Twitch

جربت البث لأول مرة في يوليو الماضي. بدلاً من اللعب ، وهو ما تفعله غالبية اللافتات على Twitch ، أردت بث العمل مفتوح المصدر الذي أقوم به في وقتي الشخصي. أنا أعمل على مكتبات أجهزة NodeJS إلى حد ما (معظمها خاص بي). نظرًا لأنني كنت بالفعل في مكانة مناسبة على Twitch ، فلماذا لا أكون في مكانة أصغر ، مثل الأجهزة التي تعمل بنظام JavaScript ؛) اشتركت في قناتي الخاصة ، وأقوم بالتدفق بانتظام منذ ذلك الحين.

بالطبع لست أول من يفعل ذلك. كان Handmade Hero أحد المبرمجين الأوائل الذين شاهدتهم على الإنترنت ، وتبعهم سريعًا المطورين في Vlambeer الذين طوروا Nuclear Throne مباشرة على Twitch. لقد كنت مفتونًا بـ Vlambeer بشكل خاص.

ما دفعني إلى حافة الرغبة في أن أفعل ذلك فعلاً يُنسب إلى نولان لوسون ، صديق لي. شاهدته وهو يبث عمله مفتوح المصدر في عطلة نهاية أسبوع ، وكان رائعًا. شرح كل شيء كان يفعله على طول الطريق. كل شىء. الرد على المشكلات على GitHub ، فرز الأخطاء ، تصحيح الأخطاء البرمجية في الفروع ، سمها ما شئت. لقد وجدتها رائعة ، حيث يحتفظ نولان بمكتبات مفتوحة المصدر تتمتع بالكثير من الاستخدام والنشاط. حياته مفتوحة المصدر مختلفة تمامًا عن حياتي.

يمكنك حتى مشاهدة هذا التعليق الذي تركته أسفل الفيديو الخاص به:

لقد قمت بتجربته بنفسي بعد أسبوع أو نحو ذلك ، بعد أن قمت بإعداد قناة Twitch الخاصة بي وأخذت في طريقي من خلال استخدام OBS. أعتقد أنني عملت على Avrgirl-Arduino ، والذي ما زلت أعمل عليه كثيرًا أثناء البث. لقد كان الدفق الأول الخام. كنت متوترة للغاية ، وقد بقيت حتى وقت متأخر أتدرب على كل شيء كنت سأفعله في الليلة السابقة.

كان العدد الضئيل من المشاهدين الذين تلقيتهم يوم السبت مشجعًا حقًا ، لذلك واصلت ذلك. في هذه الأيام ، لدي أكثر من ألف متابع ، ومجموعة فرعية جميلة منهم من الزوار المنتظمين الذين أسميهم "فام noopkat".

لدينا الكثير من المرح ، وأود أن أطلق على أجزاء الترميز المباشر "البرمجة الزوجية متعددة اللاعبين عبر الإنترنت". لقد تأثرت حقًا بلطف وذكاء كل من ينضم إلي في نهاية كل أسبوع. إحدى أكثر اللحظات المضحكة التي مررت بها كانت عندما أشار أحد أفراد العائلة إلى أن لوحة Arduino الخاصة بي لا تعمل مع برنامجي لأن الشريحة الدقيقة كانت مفقودة من اللوحة:

لقد قمت بتسجيل الخروج من الدفق عدة مرات ، فقط لأجد في صندوق الوارد الخاص بي أن شخصًا ما أرسل طلب سحب لبعض الأعمال التي أشرت إليها لم يكن لدي الوقت الكافي للبدء. أستطيع أن أقول بصراحة إن عملي مفتوح المصدر قد تغير إلى الأفضل ، بفضل كرم وتشجيع مجتمع Twitch الخاص بي.

لدي الكثير لأقوله حول الفوائد التي جلبها لي البث على Twitch ، ولكن هذا ربما يكون لمدونة أخرى. بدلاً من ذلك ، أريد مشاركة الدروس التي تعلمتها لأي شخص آخر يرغب في تجربة البرمجة الحية بهذه الطريقة لأنفسهم. لقد سألني عدد قليل من المطورين مؤخرًا كيف يمكنهم البدء ، لذلك أقوم بنشر نفس النصيحة التي قدمتها لهم!

أولاً ، أقوم بربطك بدليل بعنوان "البث والعثور على النجاح على Twitch" والذي ساعدني كثيرًا. إنه يركز على Twitch وتدفقات الألعاب على وجه التحديد ، ولكن لا تزال هناك أقسام ذات صلة ونصائح رائعة هناك. أوصي بقراءة هذا أولاً قبل التفكير في أي تفاصيل أخرى حول بدء قناتك (مثل خيارات المعدات أو البرامج).

نصيحتي الخاصة أدناه ، والتي اكتسبتها من أخطائي الخاصة والحكمة الحكيمة لزملائي اللافتات (أنت تعرف من أنت!).

البرمجيات

هناك الكثير من برامج البث المجانية المتاحة للبث باستخدامها. أنا أستخدم Open Broadcaster Software (OBS). إنه متاح على معظم المنصات. لقد وجدت أنه من البديهي حقًا النهوض والذهاب ، لكن البعض الآخر يستغرق بعض الوقت أحيانًا لمعرفة كيفية عمله. قد تختلف الأميال الخاصة بك! إليك لقطة شاشة لما يبدو عليه إعداد "مشهد سطح المكتب" الخاص بي في OBS اعتبارًا من اليوم (انقر للحصول على صورة أكبر):

تقوم بشكل أساسي بالتبديل بين "المشاهد" أثناء البث. المشهد عبارة عن مجموعة من "المصادر" مقسمة إلى طبقات ومركبة مع بعضها البعض. يمكن أن يكون المصدر أشياء مثل الكاميرا والميكروفون وسطح المكتب وصفحة الويب والنص المباشر والصور ، والقائمة تطول. OBS قوي جدا.

مشهد سطح المكتب أعلاه هو المكان الذي أقوم فيه بكل عمليات الترميز المباشر ، وأعيش هنا في الغالب طوال مدة البث. أنا أستخدم iTerm و vim ، ولدي أيضًا نافذة متصفح في متناول يدي للتبديل إليها من أجل البحث عن الوثائق وفرز الأشياء على GitHub ، إلخ.

المستطيل الأسود السفلي هو كاميرا الويب الخاصة بي ، لذلك يمكن للناس رؤيتي أثناء العمل والحصول على اتصال شخصي أكثر.

لدي عدد قليل من "الملصقات" لمشاهدي ، كثير منها يتعلق بالإحصائيات والمعلومات الموجودة في اللافتة العلوية. يضيف الشعار طابعًا شخصيًا فقط ، وهو مصدر معلومات مستمر لطيف أثناء البث. إنها صورة قمت بإنشائها في برنامج GIMP ، وتقوم باستيرادها كمصدر في مشهدك. بعض التصنيفات عبارة عن إحصائيات مباشرة يتم سحبها من الملفات النصية (مثل أحدث المتابعين). ملصق آخر هو ملصق مخصص قمت بإنشائه يوضح درجة الحرارة والرطوبة الحية للغرفة التي أتدفق منها.

لدي أيضًا "تنبيهات" تم إعدادها في المشاهد الخاصة بي ، والتي تعرض لافتات لطيفة أعلى البث الخاص بي عندما يتابع شخص ما أو يتبرع بالمال. أستخدم خدمة الويب Stream Labs للقيام بذلك ، واستيرادها كمصدر لصفحة ويب للمتصفح إلى المشهد. ينشئ Stream Labs أيضًا ملفًا نصيًا مباشرًا للمتابعين الجدد لعرضه في شعاري.

لدي أيضًا شاشة استعداد أستخدمها عندما أكون على وشك أن أعيش:

أحتاج أيضًا إلى مشهد عندما أقوم بإدخال الرموز المميزة أو مفاتيح واجهة برمجة التطبيقات. يظهر لي على كاميرا الويب ولكنه يخفي سطح المكتب بصفحة ويب مسلية ، حتى أتمكن من العمل في خصوصية:

كما ترى ، لا آخذ الأمور على محمل الجد عند البث ، لكني أحب أن يكون لدي إعدادًا جيدًا للمشاهدين لتحقيق أقصى استفادة من البث.

ولكن الآن للحصول على سر حقيقي: أستخدم OBS لاقتطاع الحواف السفلية واليمنى لشاشتي ، مع الحفاظ على نفس نسبة حجم الفيديو كما يتوقع Twitch. هذا يترك لي مساحة لمشاهدة الأحداث الخاصة بي (ما يلي ، وما إلى ذلك) في الجزء السفلي ، وإلقاء نظرة على مربع الدردشة الخاص بقناتي والرد عليه على اليمين. يتيح لك Twitch "إخراج" مربع الدردشة في نافذة جديدة وهو أمر مفيد حقًا.

هذا ما يبدو عليه سطح المكتب الكامل حقًا :

لقد بدأت في القيام بذلك منذ بضعة أشهر ولم أنظر إلى الوراء. لست متأكدًا من أن المشاهدين يدركون أن هذه هي الطريقة التي يعمل بها الإعداد. أعتقد أنهم يعتبرون أنه يمكنني رؤية كل شيء ، على الرغم من أنني لا أستطيع رؤية ما يتم بثه مباشرة عندما أكون مشغولة بالبرمجة!

قد تتساءل لماذا أستخدم شاشة واحدة فقط. ذلك لأن شاشتين كانتا أكثر من اللازم لإدارة كل شيء آخر كنت أفعله أثناء البث. لقد اكتشفت ذلك بسرعة وتمسكت بشاشة واحدة منذ ذلك الحين.

المعدات

لقد استخدمت أشياء أرخص للبدء ، واشتريت شيئًا لطيفًا ببطء حيث أدركت أن البث سيكون شيئًا تمسكت به. استخدم كل ما لديك عند البدء ، حتى لو كان الميكروفون والكاميرا المدمجان في الكمبيوتر المحمول.

في الوقت الحاضر ، أستخدم كاميرا الويب Logitech Pro C920 وميكروفون Blue Yeti على ذراع الميكروفون مع صدمة ميكروفون. يستحق المال تمامًا في النهاية إذا كان لديك لإنفاقه. لقد أحدثت فرقًا في جودة التدفقات الخاصة بي.

أستخدم شاشة كبيرة (27 بوصة) ، لأنه كما ذكرت سابقًا ، فإن استخدام شاشتين لم يعمل من أجلي. لقد فقدت أشياء في الدردشة لأنني لم أكن أبحث عن شاشة الكمبيوتر المحمول الثانية بشكل كافٍ ، وما إلى ذلك. قد يختلف عدد الأميال هنا ، ولكن وجود كل شيء على شاشة واحدة كان أمرًا أساسيًا بالنسبة لي للانتباه إلى كل ما يحدث.

هذا إلى حد كبير على جانب الأجهزة ؛ ليس لدي إعداد معقد للغاية.

إذا كنت مهتمًا ، فإن مكتبي يبدو طبيعيًا جدًا باستثناء الميكروفون البغيض الذي يلوح في الأفق:

نصائح

يحتوي هذا القسم الأخير على بعض النصائح العامة التي اخترتها ، والتي جعلت البث الخاص بي أفضل وأكثر إمتاعًا بشكل عام.

اللوحات

اقض بعض الوقت في إنشاء لوحات رائعة. اللوحات هي مربعات المحتوى الصغيرة أسفل صفحة قناة الجميع. أراهم على أنهم مربعات ملف تعريف MySpace الجديدة (لكن في الحقيقة لول). يمكن أن تكون أفكار اللوحة أشياء مثل قواعد الدردشة ، ومعلومات حول وقت البث ، والكمبيوتر والمعدات التي تستخدمها ، وسلالة القطط المفضلة لديك ؛ أي شيء يخلق لمسة شخصية. انظر إلى القنوات الأخرى (خاصة القنوات الشعبية) للحصول على أفكار!

مثال على إحدى لوحاتي:

دردشة

الدردشة مهمة حقًا. ستحصل على نفس الأسئلة مرارًا وتكرارًا عندما ينضم الأشخاص إلى البث في منتصف الطريق ، لذا فإن وجود "وحدات ماكرو" للدردشة يمكن أن يساعدك حقًا. "مالذي تعمل عليه؟" هو السؤال الأكثر شيوعًا الذي يتم طرحه أثناء الترميز. لديّ "أوامر" مختصرة للدردشة لذلك ، والتي أنشأتها باستخدام Nightbot. سيضع شرحًا لشيء أدخلته مسبقًا ، عن طريق كتابة أمر صغير من كلمة واحدة مثل !

عندما يسأل الناس أسئلة أو يتركون تعليقات لطيفة ، تحدث إليهم مرة أخرى! قل شكرًا ، قل مقبض Twitch الخاص بهم ، وسوف يقدرون حقًا الاهتمام والتقدير. من الصعب للغاية البقاء على اطلاع عند بدء البث لأول مرة ، ولكن تعدد المهام سيكون أسهل مع قيامك بالمزيد. حاول أن تأخذ بضع ثوانٍ كل دقيقتين للنظر في الدردشة بحثًا عن رسائل جديدة.

عند البرمجة ، اشرح ما تفعله . تكلم كثيرا. قل نكتا. حتى عندما أكون عالقًا ، سأقول ، "أوه ، حماقة ، لقد نسيت كيفية استخدام هذه الطريقة lemme Google it hahaha" والناس دائمًا لطفاء وأحيانًا يقرأون معك ويساعدونك. إنه ممتع وجذاب ، ويحافظ على مشاهدة الناس.

أفقد الاهتمام بسرعة عندما أشاهد تدفقات البرمجة حيث يجلس المشغل في صمت يكتب رمز الكتابة ، متجاهلاً الدردشة وتنبيهات المتابعين الجدد

من المحتمل جدًا أن يكون 99٪ من الأشخاص الذين يجدون طريقهم إلى قناتك ودودين وفضوليين. أحصل على القزم العرضي ، لكن أدوات الإشراف التي يقدمها Twitch و Nightbot تساعد حقًا في تثبيط ذلك.

وقت التحضير

أتمتة الإعداد الخاص بك قدر الإمكان. المحطة الطرفية الخاصة بي هي iTerm ، وهي تتيح لك حفظ ترتيبات النوافذ وأحجام الخطوط حتى تتمكن من استعادتها مرة أخرى لاحقًا. لدي نافذة ترتيب واحدة للبث وواحدة لغير البث. إنه توفير هائل للوقت. لقد قمت بضرب أمر واحد وكل شيء بالحجم المثالي وفي الموضع الصحيح ، وجاهز للانطلاق.

هناك تطبيقات أخرى تعمل على أتمتة جميع مواضع نافذة التطبيق لديك ، يمكنك إلقاء نظرة لمعرفة ما إذا كان أي منها سيساعدك أيضًا.

اجعل حجم الخط كبيرًا حقًا في الجهاز ومحرر التعليمات البرمجية بحيث يمكن للجميع رؤيته.

انتظام

كن منتظمًا مع جدولك الزمني. أقوم بالبث مرة واحدة فقط في الأسبوع ، ولكن دائمًا في نفس الوقت. دع الأشخاص يعرفون ما إذا كنت غير قادر على البث خلال الوقت المتوقع الذي تفعله عادةً. لقد نجح هذا في جذب جمهور منتظم. يحب بعض الناس الروتين وهو تمامًا مثل اللحاق بصديق. أنت في دائرة اجتماعية مع مجتمعك ، لذا تعامل معه بهذه الطريقة.

أرغب في البث أكثر من مرة ، لكنني أعلم أنه لا يمكنني الالتزام بأكثر من مرة في الأسبوع بسبب السفر. أحاول التوصل إلى طريقة للبث بجودة عالية عندما تكون على الطريق ، أو ربما مجرد إجراء محادثات غير رسمية وحفظ البرامج لبث يومي الأحد المعتاد. ما زلت أحاول معرفة ذلك!

الإحراج

ستشعر بالغرابة عندما تبدأ. ستشعر بالتوتر حيال مشاهدة الناس لك برمجية. هذا امر عادي! لقد شعرت بذلك بقوة في البداية ، على الرغم من أنني أمتلك خبرة في التحدث أمام الجمهور. شعرت أنه لا يوجد مكان أختبئ فيه ، وقد أخافني ذلك. اعتقدت أن "الجميع سيعتقدون أن الكود الخاص بي سيئ ، وأنني مطور سيء". هذا نمط فكري أصابني طوال مسيرتي المهنية رغم أنه ليس جديدًا. كنت أعلم أنه بهذا ، لم أتمكن من إعادة صياغة الكود بهدوء قبل الانتقال إلى GitHub ، وهو أمر أكثر أمانًا بشكل عام لسمعتي كمطور.

لقد تعلمت الكثير عن أسلوبي في البرمجة من خلال الترميز المباشر على Twitch. تعلمت أنني بالتأكيد من النوع "اجعله يعمل ، ثم اجعله قابلاً للقراءة ، ثم اجعله سريعًا". لم أعد أتدرب في الليلة السابقة (لقد استسلمت بعد 3 أو 4 تدفقات مباشرة في البداية) ، لذلك أكتب رمزًا تقريبيًا على Twitch ويجب أن أكون على ما يرام مع ذلك. أكتب أفضل كود لدي عندما أكون وحيدًا مع أفكاري ولا أشاهد مربع دردشة + أتحدث بصوت عالٍ ، ولا بأس بذلك. نسيت تواقيع الأسلوب التي استخدمتها ألف مرة ، وأرتكب أخطاء "سخيفة" في كل دفق تقريبًا. بالنسبة لمعظم الناس ، ليست بيئة منتجة لتكون في أفضل حالاتك.

لم يحكم علي مجتمع Twitch أبدًا على هذا ، وهم يساعدونني كثيرًا. إنهم يفهمون أنني أقوم بمهام متعددة ، وهم رائعون حقًا فيما يتعلق بالنصائح والاقتراحات العملية. أحيانًا ينقذوني ، وفي أحيان أخرى يجب أن أشرح لهم سبب عدم نجاح اقتراحهم. إنها حقًا مثل البرمجة الزوجية العادية!

أعتقد أن نهج "الثآليل وكل شيء" لهذه الوسيلة قوة وليس ضعف. يجعلك أكثر ارتباطًا ، ومن المهم أن تُظهر أنه لا يوجد شيء مثل المبرمج المثالي ، أو الكود المثالي. من المحتمل جدًا أن يرى المبرمجون الجدد أمرًا منعشًا للغاية ، وأن أتواضع لنفسي بصفتي مبرمجًا أكثر خبرة.

استنتاج

إذا كنت ترغب في الدخول في البرمجة الحية على Twitch ، فأنا أشجعك على تجربتها! آمل أن يساعدك هذا المنشور إذا كنت تتساءل من أين تبدأ.

إذا كنت ترغب في الانضمام إلي يوم الأحد ، فيمكنك متابعة قناتي على Twitch :)

في ملاحظتي الأخيرة ، أود أن أشكر شخصيًا ماتياس جوهانسون على حكمته وتشجيعه في وقت مبكر من رحلة البث. لقد كان كريمًا بشكل لا يصدق ، وكانت قناته FunFunFunction على YouTube مصدرًا مستمرًا للإلهام.

تحديث: مجموعة من الأشخاص يسألون عن لوحة المفاتيح وأجزاء أخرى من محطة العمل الخاصة بي. فيما يلي القائمة الكاملة لما أستخدمه. شكرا على الاهتمام!