{"id":3879,"url":"\/distributions\/3879\/click?bit=1&hash=3ae3cc7f0de7b3e8392a20caa7b030b077b14da533fc17553614433c391a1402","title":"\u041a\u0443\u0434\u0430 \u0443\u0442\u0435\u043a\u0430\u0435\u0442 \u043c\u043e\u0439 \u0431\u044e\u0434\u0436\u0435\u0442 \u043d\u0430 \u0440\u0435\u043a\u043b\u0430\u043c\u0443?","buttonText":"\u041a \u043c\u043e\u0448\u0435\u043d\u043d\u0438\u043a\u0430\u043c","imageUuid":"f14d918a-59c9-5701-b718-30025e0ce469","isPaidAndBannersEnabled":false}
Gamedev
chelovekbeznika

«Объясняю каждую строчку»: разработка игры в прямом эфире

Черновой вариант логотипа шоу.
Интернеты

Всем привет. Возможно, вы помните меня по двум предыдущим статьям, которые относительно неплохо зашли. Рад, если это так. Это облегчит дело.

TL;DR - Буду на стримах делать простую двухмерную игру, попутно обучая всех зрителей искусству программирования. И обучаясь ему, конечно же. Будет образовательно-развлекательное шоу, где я попытаюсь донести до людей доброе, разумное, вечное по заветам Стива Макконнела и Роберта Мартина. За деталями следуйте в полную статью.

Канал на ютубе

Дискорд сервер, где я вместе со зрителями буду всё согласовывать.

Если у вас в голове возникли некоторые закономерные вопросы, читайте дальше.

WTF?

Да, я действительно собираюсь делать видеоигру на стримах.

Кто?

Профессиональный программист, который стал программистом, чтобы делать игры. На работе, правда, делаю не игры. Так уж получилось. Потому что игры хотелось делать свои, а не, условно, программировать сжатие яиц коня на морозе по сто часов в неделю в условной рокстар. А чтобы делать свои, надо было ещё и научиться рисовать. В общем, об этой моей трагедии я уже рассказывал в первой статье. Ссылка выше.

Пять лет опыта работы именно в индустрии. Если брать всё время, что я программирую, то получится слишком много. Прелесть программирования я познал ещё раньше прелести онанизма. Правда, более-менее прилично начал делать вещи только года два-три назад, когда развил в себе немного чувство прекрасного. И очень жалею, что не начал прививать себе его раньше. И я хочу это исправить если не для себя, то хотя бы для других новичков.

Я, к сожалению, ни разу не гуру разработки ПО. Но как говорится, хочешь в чём-то разобраться, попробуй объяснить это другим. Кроме донатов, я хочу собрать с этого шоу и опыта, чтобы перейти на новый уровень в профессиональном плане.

Если кому интересно по языкам: сишарпист, немножко эрлангист и, в домашнее время, немножко пайтонист.

Почему?

С чего меня вообще дёрнуло податься в стримеры? Вопрос стоит ставить по-другому: как так получилось, что я до сих пор не стримлю? Объясню почему. Те, кому вся эта предыстория как зайцу стоп-сигнал, смело проматывайте до следующего заголовка.

Когда-то я купил себе микрофон. Мне почему-то стрельнуло в голову, что я должен сделать аудио-версии нескольких любимых статей из ЖЖ. Зачем? Я предпочитаю даже не искать ответа на подобные вопросы. Скажем так, те самые аудиоверсии я сделал, но позже это дело подзабросил. А микрофон остался. На данный момент аккуратно пестую мечту сделать полную аудиоверсию великой книги Сорокина "Норма", но это так, лирика.

Чуть позже мне стрельнуло в голову попробовать себя в производстве видеоконтента и я купил себе приличную вебку. Покупать камеру жаба чуть-чуть душила. Что это был за видеоконтент? Ну, когда-нибудь я расскажу об этом, но не здесь и не сейчас. Он всё-таки, больше Канобу подходит, раз уж на то пошло.

Прибавьте к наличию нормальной вебки, нормального микрофона и тот факт, что я купил себе нормальное кресло. Нет, не ради стримов, просто захотелось комфорта.

Ещё задолго до этого я "приобрёл" несколько гнусавый голос и привычку очень громко разговаривать. Ещё я считаю себя умным и харизматичным. Что? Мне это говорили не только мама и бабушка.

С таким набором хлама, личностного и материального, моё вхождение в стройные ряды "бездельников-онлайн" стало неизбежным, как мировая революция. И, надо сказать, я ещё бодро так держался. Но случилось кое-что, что заставило меня сделать это шоу.

Первое. Я вспомнил, что когда-то хотел делать игры.

И откладывал это до того момента, когда я найду время, чтобы научиться рисовать. Что, конечно же, случиться в каком-то далёком будущем, когда я обзаведусь собственным жильём и смогу... В общем, то будущее было каким-то слишком далёким. И я бы, может быть, смирился и забил. Если бы мне не напомнили.

Второе. Я вспомнил, что люблю учить людей программированию.

Да, есть за мной такое. Я бы может быть даже пошёл в преподаватели в университете, если бы речь не шла о госконторе, где, пожалуйста, давайте больше не будем об этом, в этой статье я хочу обойтись без мата, правда. Но да, я люблю объяснять людям вещи связанные с программированием.

Третье. Я расстался со значительной суммой денег.

Вроде как временно. Я верю, что мне эти деньги вернутся. Но знаю, что вернутся не скоро. А жаба душит вот прям щас! Материальный подсрачник - хорошее дополнение ко всяким духовным движениям.

Самое смешное, что первое, второе и третье случились благодаря одному человеку. Вот из всего этого и родилась идея моего шоу. Когда-нибудь я расскажу подробности, потому что там была такая веселуха, что Джим Джефрис курит в сторонке в долгий, нервный затяг.

Что?

Итак, я буду в прямом эфире делать простенькую двухмерную игру на Monogame. И это будет игра о похождениях отважных геометрических фигур. Причины моего выбора, надеюсь, очевидны. Прям вот в прямом эфире буду открывать Visual Studio и накидывать код в си-шарп (найдите способ употреблять символ решётки без превращение его в хэштег, пожалуйста).

Кстати, результат будет храниться в открытом репозитории на гитхабе, чуть что. Можно "форкать себе", скачивать и играться. Там, правда, только код. Ассеты (господи, да какие там ассеты, с моими навыками), возможно, выложу куда-нибудь на облачко. Вот ссылка на репозиторий:

Там пока пусто, конечно.

Результат будет запускабельным с самого первого билда. И от билда к билду игра будет по чуть-чуть "разрастаться". Как пример: сначала сделать, чтобы игрок не проходил сквозь стену. Потом так, чтобы он не проходил сквозь стены. Потом добавлю, например, стрельбу или двойной прыжок. А потом отрефакторю код, потому что это надо делать постоянно, а я уже три коммита этого не делал.

Почему без диз-дока? Потому что стихийный процесс, как мне кажется, будет интереснее. Как минимум потому, что зрители могут по дороге сгенерировать кучу идей. Этакий Early Access для самых отбитых. Плюс к тому, я уже не один раз строил себе какие-то планы, а потом всё забрасывал из-за того, что не очень хорошо понимал с какой стороны за это взяться.

Что до жанра, то тут ещё могут быть варианты. Я по этому случаю даже опрос сделаю. Чисто консультативный. Да, вы всё правильно поняли, я даже с жанром специально определятся не стал. Будем решать вместе.

Какую по жанру игру начать делать на стримах?
Top-down шутер.
Платформер.
Run'n'gun.
Tower defense - сравнительно скучный вариант, но пусть. Возможно, меня понесёт и я чуть попозже вколхожу туда элементы RTS.
Другое (нет, не метроидвания, пожалуйста, я хочу сделать хоть что-то до пенсии).
Показать результаты
Переголосовать
Проголосовать

Как?

Как я себе представляю процесс? Я ставлю себе какую-то локальную задачу. Например, сделать так, чтобы главгерой не проходил сквозь стены. Героически её решаю, попутно объясняя, почему я решаю её именно так. После этого я сохраняю эти изменения в git и заливаю их на github. Каждый стрим начинается с "в предыдущих сериях", где я быстренько пробегаюсь по предыдущим коммитам.

Я питаю надежду, что буду как Боб Росс с благостно-одухотворённым видом вещать какие-то простые для меня вещи, которые будут удивлять и вдохновлять зрителей. Буду этаким просветителем, открывающим красоту программирования людям.

На деле же, скорее всего, я буду как Ник из "Картавого футбола", громко и с жестикуляцией доказывать зрителям, что я натурал без дефектов речи и действительно понимаю, что я делаю. Но я люблю "Картавый футбол", так что этот вариант меня тоже устроит.

Я не гарантирую, что по моим стримам можно будет научиться программированию. Но я сделаю всё, чтобы заинтересовать всех, кто ещё не заинтересован, и помочь всем, кто уже заинтересовался и начал его изучать. Возможно, некоторое представление о том, что именно я буду рассказывать, даст этот репозиторий, который я сделал для одного знакомого, чтобы показать, как сделать код менее загадочным:

Где?

Ютуб. Уже успел проверить, что при качестве 1080p можно рассмотреть исходный код. Как и на 720p. Тем, у кого дно-интернет или экранчик телефона, мои соболезнования. Я постараюсь всё озвучить, а код потом можно будет почитать на гит-хабе.

Для координации и присмотра за уже имеющейся толпой людей наука ничего лучше дискорд-сервера не придумала. Там, думаю, и будет происходить основной движ вокруг шоу.

А вот где привлекать новых людей, это отдельный вопрос, над которым надо много думать. Пока что мне приходит в голову только делать время от времени посты на DTF с апдейтами. Но слишком часто их делать тоже нельзя. Можно ещё попробовать сунуться на Хабр. Завести и продвигать свои сообщества в соцсетях. Буду рад выслушать ваши рекомендации в комментариях.

Когда?

Чем чаще смогу, тем лучше. Думаю, надо проводить хотя бы два стрима в неделю по два часа.

Если я вдруг смогу сделать свой режим дня чуть менее всратым, то освободятся будние вечера. Так как я имею некоторые надежды на этот счёт, то запилю ещё один опрос:

Когда вы готовы смотреть меня в будние дни? (мой часовой пояс: +3, чуть что)
18-20
20-22
22-24
00-02 (послушать меня на ночь)
Показать результаты
Переголосовать
Проголосовать

Ну, и само собой, у меня остаются выходные. Утро отпадает по любому. Но вот после обеда или поздно вечерком можно будет постримить.

Первый стрим проведу, как только на дискорд-сервер набьётся достаточно народу, чтобы согласовать с ними время. Собственно, я через Дискорд-сервер всегда буду предупреждать всех о времени ближайшего начала стрима. Скажу честно, я уже в нетерпении.

Остальные вопросы:

Будем решать в комментариях.

Ещё раз все нужные ссылки:

UPDATE:

Был проведён тестовый нулевой стрим. Там я рассказал о том, что мы используем VS2017 Community Mode, Monogame, поставленный на него и git.

Так же я рассказал о том, что я буду делать top-down shooter. Или, правильнее, twin-stick shooter. В любом случае, там будет вид сверху и много стрельбы. Ссылка на полутестовый эфир:

0
51 комментарий
Написать комментарий...
Уватнитель

НЕЕЕЕТ! Только не платформер! Top-Down шутер гораздо более интересен и информативен в плане взаимодействий между игроком и противниками. И вообще сам контроллер Top-Down гораздо более вариативный, нежели платформер. Если будут еще и подтягивания на препятствия и прочие лазательные штуки, то вообще цены не будет. Всё это потом легко, кому надо, можно будет и в платформерное измерение перевести.

Ответить
Развернуть ветку
sarcastic hand

Автор конечно неприкрытый графоман, но такие статьи в рубрике геймдев меня радуют больше, нежели что-то типа... ну вы сами поняли 90% контента этой рубрики (яростно послан случайным читателем на более технические ресурсы типа девелоперских форумов), когда в ней не то что каких-то листингов кода не видно, не видно даже попыток обсосать теорию, того или иного механизма на котором строится какой-либо аспект игры, и идет подмена понятий и замещение личными ощущениями от "физики@геймлея", того как на самом деле это было реализовано. Мои слова не в коем случае не укор, просто хотелось бы видеть больше именно технической части с пруфами, а не рассуждений "это работает вот так имхо". Закидывайте ваши статьи кодом, пусть всем будет так же плохо как и вам смайлик_садистской_содомии.

Ответить
Развернуть ветку
Антон Осадчий

Батенька, да вы тоже графоман ;)

Ответить
Развернуть ветку
Аккаунт заморожен

Комментарий недоступен

Ответить
Развернуть ветку
Никита Баженов

Интересненько!

Ответить
Развернуть ветку
chelovekbeznika
Автор

Так, раз уж спросили:
Ютуб просит один день выждать, поэтому стрим завтра. В 22 часа по Москве. Ссылка на ютуб канал в статье, в начале и в конце.
Если вдруг случится чудо, и они разрешает сегодня до вечера, проведём сегодня в 22 часа.

Ответить
Развернуть ветку
Badex

Тогда я очень заинтересован. Всегда лучше схватывал, когда объясняют "вживую", учебники как то мне совсем не заходят, даже самые хваленые. Я щас программирую всякую элементарщину в Visual Basic. Спасибо за ваши будущие старания)

Ответить
Развернуть ветку
chelovekbeznika
Автор

В тот момент, когда я уже перестал надеяться, мне удалось прорваться обходными путями! Спасибо всем, кто пришёл. Следующий в среду в 21:30 по Москве.
Ссылка на первый стрим с кучей вкусных тайм-кодов в описании.
https://www.youtube.com/watch?v=yLBIvYNZcLE

Ответить
Развернуть ветку
Badex

Я так понимаю это совсем не для новичков?) Хватит ли знаний первого курса общих сведений по ООП, что бы понимать хоть что то?)

Ответить
Развернуть ветку
chelovekbeznika
Автор

Это отдельный челлендж для меня, скажем так. Я хочу сделать так, чтобы то, что я делаю было понятно даже людям без опыта программирования. Но предыдущий опыт будет, конечно же, очень кстати. Идеально - помочь тем, кто изучает программирование параллельно с просмотром моих стримов.

Ответить
Развернуть ветку
Сергей Соколов

"по заветам Стива Макконнела и Роберта Мартина"
Я так понял, автор будет не просто что-то тяпляпать, а стараться сделать правильную (но сложную) программную архитектуру , но при этом всё разъяснять, что и как?
Я бы послушал и посмотрел на программиста с опытом :)

Ответить
Развернуть ветку
chelovekbeznika
Автор

Правильная и сложная - взаимоисключающие понятия (сложность надо держать на минимуме). А в остальном всё верно понято. И архитектура будет разрастаться по мере надобности. А это означает много рефакторинга в процессе.
Да, я с опытом, но в то же время понимаю, что мне до мастеров ещё далеко.

Ответить
Развернуть ветку
Авиационный Паша

Движок? Язык?

Ответить
Развернуть ветку
Rudolf Cunningham

Да. Да.

Ответить
Развернуть ветку
1 комментарий
Sergey Saltuganov
Когда вы готовы смотреть меня в будние дни?

Часовой пояс не указан.
Неужто часовой пояс Дефолт Сити?

Ответить
Развернуть ветку
chelovekbeznika
Автор

Минск. +3. Да, дефолт-сити.

Ответить
Развернуть ветку
2 комментария
Михаил Молоков

Сегодня первый стрим?

Ответить
Развернуть ветку
chelovekbeznika
Автор

Было бы классно, но я вчера ночью только канал создал. А они требуют выждать около суток, прежде чем разрешат прямые эфиры проводить.

Ответить
Развернуть ветку
chelovekbeznika
Автор

Я через Дискорд-сервер планирую это согласовать.

Ответить
Развернуть ветку
Alexander Mikhaylov

записи же будут на ютубе?

Ответить
Развернуть ветку
chelovekbeznika
Автор

Само собой.

Ответить
Развернуть ветку
2 комментария
Dr Stragehate

Странно, что в комментариях пока нет ни одного Кирилла

Ответить
Развернуть ветку
Иракли Чарбадзе

Ты мог бы договорится с дтф и стримить и на их канале на твиче/юутб/вк, они вроде искали стримеров, вот тебе и аудитория, они уже пишут музыку и "учат" пиксель арту в прямом эфире

Ответить
Развернуть ветку
chelovekbeznika
Автор

Там просили примеры стримов =)
А если серьёзно, перед тем, как идти на поклон к DTF надо из себя хоть что-то представлять. Вот над этим и буду работать.

Ответить
Развернуть ветку
Арнольд Валерьянович

Блин, нет времени читать. Когда стрим и по какой ссылке?)

Ответить
Развернуть ветку
Александр Рыбалка

Пару месяцев назад пришла в голову та же идея, только я собирался фигачить rts в уе4. Но подзабил, потому что режим, работа, универ, девушка. Удачи тебе, братюнь, если зайдет, я возможно таки запилю свой (хотя, это, скорее, зависит от моих заморочек)

Ответить
Развернуть ветку
Сергей Соколов

Сложная - я имел ввиду - с наследованием классов, абстрактными классами, интерфейсами и прочие. :)

Я, если что - уже подписался на ютуб канал ^_^

Ответить
Развернуть ветку
Artur Beglaryan

Где ты там в Минске обитаешь?)

Ответить
Развернуть ветку
Аня Табаева

Уже собираетесь бить разработчика за плохую игру? )

Ответить
Развернуть ветку
2 комментария
Alty

А почему не на Твиче?

Ответить
Развернуть ветку
Paul McWin

Проголосовал за top-down шутер, но было бы интересно увидеть изометрический рогалик)
А платформеры... ну хз, на ютубе и так бесконечная куча уроков по ним.

Ответить
Развернуть ветку
Daniil Chebotkov

Вот это планы на жизнь у человека!

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Andrew Stupin

ЯП C# будет?

Ответить
Развернуть ветку
chelovekbeznika
Автор

Да.

Ответить
Развернуть ветку
Юрий Владимирович

Ждём, держите в курсе, но с тех точки, действительно интереснее топ-даун шутер.

Ответить
Развернуть ветку
chelovekbeznika
Автор

Господа, мне только что всё разрешили. Поэтому я прямо сейчас проведу тестовый получасовой стрим. Не бойтесь, важного ничего не пропустите. Расскажу о том, какие программы буду использовать и объясню выбор жанра.

Что же до самого "мяса", то бишь непосредственно до разработки, то тут без изменений. Понедельник, 22:00.
https://www.youtube.com/channel/UC90GNOUDTklc8gUUxRY4nGw/live

Ответить
Развернуть ветку
chelovekbeznika
Автор

Стрим прошёл относительно успешно. Спасибо всем, кто поучаствовал.

Ответить
Развернуть ветку
Дмитрий Середкин

Может через рестрим и на твич запустить стрим?

Ответить
Развернуть ветку
Кани Лэнг

Если честно, так себе идея вести запись и стрим в принципе на фоне "бегущего человека") Шум как от стиральной машины

Ответить
Развернуть ветку
chelovekbeznika
Автор

Идея теста была спонтанной и наши планы из-за этого наслоились. Сегодня все в доме знают, что в 22:00 у меня стрим, а значит я имею моральное право отгонять людей от беговой дорожки. И когда я возьмусь за свой спортинвентарь (гантеля на 10 кг) тренировки на дорожке кое-кому пригодятся.

Ответить
Развернуть ветку
chelovekbeznika
Автор

Увы, опаздываю. Прямо сейчас страница начала эфира выпадает у меня с 500-ой ошибкой. И это пиздец, товарищи =(

Ответить
Развернуть ветку
chelovekbeznika
Автор

Хм... Оставлю тут комментарий о том, что скоро начну второй эфир. В 21:30, как и обещал.
https://www.youtube.com/channel/UC90GNOUDTklc8gUUxRY4nGw/live

Ответить
Развернуть ветку
chelovekbeznika
Автор

Провёл второй эфир. Не скажу, что очень успешно, но сдаваться не планирую. МЮ смог, и у меня получится.

Ответить
Развернуть ветку
Читать все 51 комментарий
null