Pouke iz moje prve godine programiranja uživo na Twitchu

Potaknuo sam streaming prvi put prošlog srpnja. Umjesto igranja igara, kao što to radi većina streamersa na Twitchu, želio sam strujati rad otvorenog koda koji radim u svoje osobno vrijeme. Poprilično radim na hardverskim knjižnicama NodeJS (većina ih je moja). S obzirom na to da sam već bio u niši na Twitchu, zašto ne bih bio u još manjoj niši, poput hardvera s JavaScript-om;) Registrirao sam se za svoj kanal i od tada redovito emitiram.

Naravno da nisam prva koja je to učinila. Handmade Hero bio je jedan od prvih programera koji sam gledao kôd na mreži, a brzo su ga slijedili programeri iz Vlambeera koji su Nuclear Throne razvili uživo na Twitchu. Oduševio me Vlambeer posebno.

Ono što me prevrnulo od želje da to mogu učiniti zapravo je zasluga Nolana Lawsona, mog prijatelja. Gledao sam ga kako je jednog vikenda strujao svoje radove otvorenog koda i bilo je sjajno. Objasnio je sve što je radio usput. Sve. Odgovorite na probleme na GitHub-u, iskušavanje grešaka, otklanjanje pogrešaka u kodovima u granama. Smatrao sam to fascinantnim, jer Nolan održava biblioteke otvorenog koda koje se puno koriste i koriste. Njegov život otvorenog koda vrlo se razlikuje od mog.

Možete čak vidjeti i ovaj komentar koji sam ostavio ispod njegovog videa:

Dao sam mu priliku tjedan dana kasnije, nakon postavljanja Twitch kanala i probijanja kroz upotrebu OBS-a. Vjerujem da sam radio na Avrgirl-Arduinu, na kojem još uvijek često radim tijekom streaminga. Bio je to grub prvi tok. Bila sam vrlo nervozna i ostajala sam do kasno uvježbavajući sve što ću raditi prethodne noći.

Mali broj gledatelja koje sam dobio te subote bio je zaista ohrabrujući, pa sam nastavio. Ovih dana imam više od tisuću sljedbenika, a lijepa podskupina njih redoviti su posjetitelji koje nazivam "noopkat fam".

Puno se zabavljamo, a dijelove kodiranja uživo volim nazivati ​​"masovnim programiranjem mrežnih parova za više igrača". Zaista sam dirnuta ljubaznošću i duhovitošću svih koji su mi se pridružili svakog vikenda. Jedan od najsmješnijih trenutaka koje sam imao bio je kada je jedan od obitelji istaknuo da moja Arduino ploča ne radi s mojim softverom jer na ploči nedostaje mikročip:

Mnogo sam se puta odjavljivao sa streama, da bih u svojoj pristigloj pošti otkrio da je netko poslao zahtjev za povlačenjem za neki posao za koji sam spomenuo da nisam imao vremena za pokretanje. Iskreno mogu reći da je moj rad s otvorenim kodom promijenjen nabolje, zahvaljujući velikodušnosti i poticaju moje zajednice Twitch.

Imam još toliko toga za reći o prednostima koje mi je donio streaming na Twitchu, ali to je vjerojatno za drugi post na blogu. Umjesto toga, želim podijeliti lekcije koje sam naučio sa svima drugima koji bi htjeli isprobati kodiranje uživo na ovaj način za sebe. Nedavno me nekoliko programera pitalo kako mogu započeti, pa objavljujem isti savjet koji sam im dao!

Prvo, povezujem vas s vodičem pod nazivom "Streaming i pronalaženje uspjeha na Twitchu" koji mi je puno pomogao. Konkretno je usmjeren na Twitch i igraće streamove, ali još uvijek postoje relevantni odjeljci i sjajni savjeti. Preporučio bih da ovo pročitate prije nego što uzmete u obzir bilo koje druge pojedinosti o pokretanju vašeg kanala (poput izbora opreme ili softvera).

U nastavku su moji vlastiti savjeti koje sam stekao na vlastitim greškama i mudroj mudrosti kolega streamara (znate tko ste!).

Softver

Postoji puno besplatnog softvera za streaming za streaming. Koristim Open Broadcaster Software (OBS). Dostupan je na većini platformi. Smatrao sam da je stvarno intuitivno ustajati i odlaziti, ali drugima ponekad treba vremena da nauče kako to funkcionira. Vaša kilometraža može varirati! Evo snimke zaslona kako danas izgleda moja postavka OBS-a za "scenu radne površine" (kliknite za veću sliku):

U osnovi se prebacujete između "scena" tijekom strujanja. Prizor je zbirka 'izvora' koji su međusobno slojeviti i složeni. Izvor mogu biti stvari kao što su kamera, mikrofon, radna površina, web stranica, tekst uživo, slike, popis se nastavlja. OBS je vrlo moćan.

Na ovoj radnoj površini iznad radim svo svoje životno kodiranje i uglavnom ovdje živim dok traje stream. Koristim iTerm i vim, a također imam prikladan prozor za preglednik kako bih potražio dokumentaciju i trijaže stvari na GitHubu itd.

Donji crni pravokutnik moja je web kamera, tako da me ljudi mogu vidjeti kako radim i imaju osobniju vezu.

Imam pregršt 'oznaka' za svoje scene, od kojih su mnoge povezane sa statistikom i informacijama u gornjem natpisu. Natpis samo dodaje osobnost i lijep je trajni izvor informacija tijekom strujanja. To je slika koju sam napravio u GIMP-u, a vi je uvozite kao izvor na svojoj sceni. Neke su oznake statistika uživo koja se povlači iz tekstualnih datoteka (kao što je najnoviji sljedbenik). Druga oznaka je prilagođena koju sam napravio i koja prikazuje temperaturu i vlažnost zraka u sobi iz koje strujim.

Također imam postavljena "upozorenja" na svojim scenama, koja prikazuju slatke natpise na vrhu mog streama kad god netko slijedi ili donira novac. Za to koristim web uslugu Stream Labs, uvozeći je kao izvor web stranice preglednika na scenu. Stream Labs također stvara moju nedavnu sljedbenicu tekstualnu datoteku uživo za prikaz u mom natpisu.

Također imam zaslon u stanju čekanja koji koristim kad ću biti u živo:

Dodatno trebam scenu za vrijeme unosa tajnih tokena ili API ključeva. Prikazuje me na web kameri, ali sakriva radnu površinu sa zabavnom web stranicom, tako da mogu raditi u privatnosti:

Kao što vidite, ne shvaćam stvari previše ozbiljno prilikom streaminga, ali volim imati dobre postavke za svoje gledatelje kako bi izvukli najviše iz mog streama.

Ali sada za stvarnu tajnu: koristim OBS za izrezivanje donjeg i desnog ruba zaslona, ​​zadržavajući isti omjer veličine videozapisa kakav očekuje Twitch. To mi ostavlja prostor za gledanje mojih događaja (slijedi, itd.) Na dnu, te gledanje i odgovaranje na okvir za chat mog kanala s desne strane. Twitch vam omogućuje da "iskočite" chatbox u novom prozoru što je stvarno korisno.

Ovako stvarno izgleda moja puna radna površina :

Počeo sam to raditi prije nekoliko mjeseci i nisam se osvrtao. Nisam siguran ni da moji gledatelji shvaćaju da tako funkcionira moja postavka. Mislim da uzimaju zdravo za gotovo da mogu sve vidjeti, iako ne mogu vidjeti što se zapravo prenosi uživo kad sam zauzet programiranjem!

Možda se pitate zašto koristim samo jedan monitor. To je zato što je dva monitora bilo previše za upravljanje povrh svega ostalog što sam radio tijekom streaminga. To sam brzo shvatio i od tada se držim jednog zaslona.

Hardver

Za početak sam koristio jeftinije stvari, a polako sam kupovao ljepše stvari jer sam shvatio da će streaming biti nešto s čime se zadržavam. Koristite sve što imate kad započnete, čak i ako je riječ o ugrađenom mikrofonu i kameri vašeg prijenosnog računala.

Danas koristim Logitech Pro C920 web kameru i Blue Yeti mikrofon na ruci mikrofona s mikrofonom. Potpuno vrijedan novca na kraju ako ga imate za potrošiti. To je promijenilo kvalitetu mojih streamova.

Koristim veliki monitor (27 "), jer kao što sam već spomenuo, korištenje dva monitora jednostavno mi nije išlo. Nedostajale su mi stvari u chatu jer nisam dovoljno gledao na drugi zaslon laptopa, itd. Itd. milage se ovdje mogu razlikovati, ali imati sve na jednom zaslonu bilo je ključno za mene da obratim pažnju na sve što se događa.

To je uglavnom s hardverske strane; Nemam baš kompliciranu postavku.

Ako ste bili zainteresirani, moj stol izgleda prilično normalno, osim neugodnog nazirućeg mikrofona:

Savjeti

Ovaj posljednji odjeljak sadrži nekoliko općih savjeta koje sam uzeo, a koji su moj stream u cjelini učinili boljim i ugodnijim.

Paneli

Provedite neko vrijeme na stvaranju sjajnih ploča. Paneli su mali okviri sa sadržajem na dnu stranice svih kanala. Vidim ih kao nove okvire MySpace profila (hahah, ali stvarno). Ideje za panel mogu biti stvari kao što su pravila chata, informacije o tome kad strimujete, koje računalo i opremu koristite, vaša omiljena pasmina mačaka; sve što stvara osobni dodir. Potražite ideje na drugim kanalima (posebno popularnim)!

Primjer jedne od mojih ploča:

razgovor

Razgovor je zaista važan. Dobivat ćete ista pitanja iznova i iznova dok se ljudi pridružuju vašem streamu na pola puta, tako da im makronaredbe za chat stvarno mogu pomoći. "Na čemu radiš?" je najčešće pitanje koje postavljam dok kodiram. Za to imam prečac za chat, koji sam napravio s Nightbotom. Stavit će objašnjenje nečega u što sam ušao prije vremena, upisivanjem male naredbe od jedne riječi poput ! Whatamidoing

Kad ljudi postavljaju pitanja ili ostavljaju lijepe komentare, obratite im se! Zahvalite se, recite njihovu Twitch ručku i zaista će cijeniti pažnju i priznanje. Ovo je SUPER teško ostati u tijeku kad prvi put započnete s streamingom, ali multitasking će biti lakši što više radite. Pokušajte odvojiti nekoliko sekundi svakih nekoliko minuta da biste u chatu potražili nove poruke.

Tijekom programiranja objasnite što radite . Puno pričati. Šaliti se. Čak i kad zaglavim, reći ću, "oh, sranje, zaboravim kako se koristi ova metoda, Google to hahaha", a ljudi su uvijek dragi, a ponekad će i čitati zajedno s vama i pomagati vam. Zabavno je i zanimljivo, a ljude i dalje gleda.

Brzo gubim zanimanje kad gledam programirane streamove gdje streamer sjedi u tišini i tipka kôd, zanemarujući chat i upozorenja novih sljedbenika.

Velika je vjerojatnost da će 99% ljudi koji pronađu put do vašeg kanala biti ljubazni i znatiželjni. Povremeno dobijem trol, ali alati za moderiranje koje nude Twitch i Nightbot stvarno pomažu to obeshrabriti.

Vrijeme pripreme

Automatizirajte svoje postavke što je više moguće. Moj terminal je iTerm i omogućuje vam spremanje rasporeda prozora i veličina fonta kako biste ih kasnije mogli vratiti. Imam jedan raspored prozora za streaming i jedan za non streaming. To je ogromna ušteda vremena. Pogodio sam jednu naredbu i sve je savršene veličine i u pravom položaju, spremno za rad.

Postoje i druge aplikacije koje automatiziraju sve položaje prozora vaših aplikacija, pogledajte hoće li ijedna od njih također pomoći.

Neka vaša veličina fonta bude zaista velika u vašem terminalu i uređivaču koda kako bi svi mogli vidjeti.

Pravilnost

Budite redoviti sa svojim rasporedom. Stream samo jednom tjedno, ali uvijek u isto vrijeme. Obavijestite ljude ako ne budete mogli strimovati tijekom očekivanog vremena koje inače radite. Ovo me povezalo s redovnom publikom. Neki vole rutinu i to je točno kao da stignete prijatelja. Vi ste u društvenom krugu sa svojom zajednicom, pa se tako ponašajte prema njoj.

Želim češće strujati, ali znam da se zbog putovanja ne mogu obvezati više od jednom tjedno. Pokušavam smisliti način visokokvalitetnog streaminga na putu ili možda samo povremeno razgovarati i spremiti programe za svoj redoviti nedjeljni stream. Još uvijek pokušavam ovo shvatiti!

Nespretnost

Čudno će se osjećati kad započnete. Bit ćete nervozni zbog ljudi koji vas gledaju kako kodirate. To je normalno! To sam na početku jako osjećao, iako imam iskustvo javnog nastupa. Osjećao sam se kao da se nemam kamo sakriti i to me uplašilo. Pomislio sam, "svi će misliti da je moj kod loš i da sam loš programer". Ovo je misaoni obrazac koji me mučio cijelu karijeru , nije ništa novo. Znao sam da s ovim ne mogu tiho refaktorirati kôd prije nego što pređem na GitHub, koji je općenito puno sigurniji za moju reputaciju programera.

Kodiranjem uživo na Twitchu naučio sam puno o svom programskom stilu. Naučio sam da sam definitivno tip „natjeraj da uspije, pa učini čitljivim, pa brzo“. Više ne vježbam noć prije (odustao sam od toga nakon 3 ili 4 strima odmah na početku), tako da na Twitch pišem prilično grub kôd i moram to prihvatiti. Napišem svoj najbolji kôd kad sam sam sa svojim mislima i ne gledam okvir za razgovor + govorim naglas, i to je u redu. Zaboravljam potpise metoda koje sam koristio tisuću puta i radim 'glupe' pogreške u gotovo svakom pojedinom toku. Za većinu to nije produktivno okruženje da biste bili najbolji.

Moja Twitch zajednica me nikad ne osuđuje zbog toga i puno mi pomažu. Razumiju da radim više zadataka i sjajni su u pragmatičnim savjetima i prijedlozima. Ponekad me spašavaju, a drugi put im moram objasniti zašto njihov prijedlog neće uspjeti. To je zapravo poput redovnog programiranja u paru!

Mislim da je pristup "bradavicama i svemu" ovom medijumu snaga, a ne slabost. To vas čini relativnijim i važno je pokazati da ne postoji savršen programer ili savršeni kôd. Vjerojatno je prilično osvježavajuće za nove kodere i ponižavajuće za mene kao iskusnijeg kodera.

Zaključak

Ako ste se željeli baviti kodiranjem uživo na Twitchu, savjetujem vam da isprobate! Nadam se da vam je ovaj post pomogao ako ste se pitali odakle početi.

Ako mi se želite pridružiti nedjeljom, možete pratiti moj kanal na Twitchu :)

U svojoj posljednjoj bilješci, želio bih osobno zahvaliti Mattiasu Johanssonu na njegovoj mudrosti i ohrabrenju na početku mog strujanja. Bio je nevjerojatno velikodušan, a njegov FunFunFunction YouTube kanal kontinuirani je izvor inspiracije.

Ažuriranje: gomila ljudi pitao je za moju tipkovnicu i ostale dijelove moje radne stanice. Ovdje je potpuni popis onoga što koristim. Hvala na interesu!