«Объясняю каждую строчку» — It's alive! Первый отчёт

It's alive!<br /> Robot chicken<br />
It's alive!
Robot chicken

Подвожу итоги первых стримов и описываю то, какую форму приняла передача за первую неделю своего существования.

FAQ

???

Передача на ютубе, где я в прямом эфире разрабатываю игру. И объясняю подробно, как я это делаю, и какими инструментами пользуюсь. И под инструментами я понимаю не только Visual Studio и Monogame, но и идеи, которые помогают делать код лучше. Ну, хотя бы не безбрежно отвратительным. Подробнее тут:

Ой, а это не на Unity?

Нет, это не на Unity. Это на Monogame. Это не на Unity, потому что я не шарю за Unity. Шарю ли я за Monogame? Есть немного (там много и не надо). Если вам интересно, что это такое, то об этом я уже целый лонг-рид писал:

Что игра из себя будет представлять, какие планы на будущее?

Буду делать твин-стик шутер. Детальный план есть только на ближайшее будущее. Чуть ниже я его дам.

А теперь пару вопросов чуть детальнее.

И как далеко продвинулась работа?

Пока недалеко. Всё, что у меня есть, это спрайт игрока, который я двигаю (геймпадом или клавиатурой, что настраивается с помощью текстового файла) по уровню, на котором три мины. И они не причиняют вреда игроку, да. Камера двигается следом за игроком ещё.

Да, я понимаю, что такой прототипчик можно накидать за час-полтора. Почему же тогда так неторопливо? Ну, смотрите название канала. Я попутно объясняю, что я делаю, не стесняясь, если надо, прочитать в меру занудную лекцию на тему "что это за идея?" или "почему именно так?".

Плюс к тому, дзен постоянного рефакторинга. Например, на третьем стриме мне предлагали решить проблему просто передвинув парочку строчек в другое место, положившись на нетривиальное предположение. Но вместо этого, я потратил лишних минут 30-40 на то, чтобы отрефакторить "по фэн-шую" и нисколь об этом не жалею.

Но ничего страшного. Когда у меня кончатся вещи, которые мне прям вот срочно надо объяснить, дело должно пойти чуть быстрее. Хотя кого я обманываю, такие вещи не кончаются, если есть кому слушать =)

Пока план такой:

  • Подшлифовать перетаскивание камеры
  • Сделать столкновения с минами
  • Добавить стрельбу (уничтожающую мины)
  • Добавить хит-пойнты всем действующим лицам
  • Добавить врагов, играющих в догонялки с игроком
  • Добавить стены и "непроникающие" столкновения

А где это всё?

Ну-с, по порядку: канал на ютубе, где уже есть три стрима по 2-3 часа каждый.

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

Репозиторий на гит-хабе:

Каждый коммит или сделан на стриме или имеет комментарий по поводу того, как и зачем он появился. И у каждого коммита есть комментарий с ссылкой на видео (с тайм-кодом!).

Дискорд-сервер:

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

Паблик вконтакте:

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

А теперь важный вопрос уже к читателям/зрителям

Как часто мне стоит клепать такие посты с промежуточными итогами?
Хоть после каждого стрима
Раз в неделю
Раз в две недели
Раз в месяц
Ещё реже

И последнее:

Следующий стрим в понедельник 11 марта в 21:00 по Москве. Залетайте на канал, за час "до" должна будет прилететь уведомляшка. Буду рад всех видеть. Кстати, кто смотрел, поделитесь, пожалуйста, впечатлениями в комментариях. Мне самому интересно, как это всё со стороны выглядит.

2424
15 комментариев

Нууууу, мне кажется, ты указал достаточно ресурсов, где можно оценить твой материал. Все, кому ты/твоя работать интересны, смогут подписаться и следить. Тут уже стоит писать.

3
Ответить

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

Ответить

Смотрю по часу-полтора перед компом, повторяю, изучаю. Лайкаю. Стримы очень длинные, потом на следующий день досматриваю. Не хватает меня на 3 часа.

Ответить

Стрим мне был интересен, не смотря на то, что с MonoGame знаком. Я бы подумал еще над форматом, пока есть моменты, которые вводят в ступор: сколько-то минут потратить на код, от которого потом ничего не останется; очень часто было, когда ничего не происходит (автор писал на бумажке или просто делал рефакторинг) и ты, как зритель, ждешь, — ну в общем есть то, что не подготовленного зрителя может спугнуть.

Ответить

Написать идеальный код сразу получается чуть реже, чем никогда. А постоянный рефакторинг необходимая часть рабочего процесса. Иначе потом всё потонет в говнокоде. Можно было бы сначала писать код чуть получше, может быть, но тогда бы пришлось сидеть пол-стрима с ручкой и бумажкой, занимаясь предварительным планированием.

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

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

Ответить

Я думаю что это делается для наглядного "Как делать не надо". А потом автор ещё рассказывает как это правильно вынести по феншую, и поясняет почему это нужно сделать.

Тут всё таки есть разница - когда человек просто показывает как кодить на си шарпе, и когда человек показывает рабочий процесс создания приложения по канонам ООП. Люди которые не шарят в программировании - вряд ли заинтересуются и смогут оценить то, что делает автор (им бы попроще - посмотреть, как просто писать код).

Ответить

Ну в целом мне понравилось, что действительно объясняешь ООП и всё такое. То есть я программирование чуток шарю (и си шарп немного знаю), поэтому мне особенно интересно именно когда ты из своего опыта какие-то фишки рассказываешь. Я думаю, что как раз две вещи особенно ценны на твоих стримах: это показать и объяснить как по заповедям ООП выстраивать программу, и второе - это вещи которые ты рассказываешь исходя из своего опыта (например мне понравилось, как ты рассказал про Single и float - в чём техническая разница, и почему ты юзаешь Single, а не float ).

Ну только по организации и проведению стрима не стоит волноваться, а то ты когда начинаешь на вебку нервничать, я сам малёх напрягаюсь. :)

Ответить