"Объясняю каждую строчку" - отчёт за март месяц
Тот упоротый чувак, который делает видеоигру на стримах, возвращается с очередным отчётом. Практика показала, что от ежемесячных отчётов толку больше будет.
Что тут происходит?
Вместо того, чтобы валять дурака на стримах, я решил заняться в сети чем-нибудь полезным. Например, поучить людей программированию. Ну, или скорее поучиться самому. А ещё сделать полноценную видеоигру. А ещё заработать денег, покорить ютуб, захватить мир, купить себе квартиру (в порядке возрастания сложности). Но и валять попутно дурака нам никто не запретит, конечно.
Обычно я стараюсь стримить в понедельник, в среду и в субботу. Но иногда это может меняться. В любом случае, на ютубе трансляция всегда создаётся заранее.
Присоединиться к веселью:
Присоединиться к веселью по настоящему:
Присоединиться к сообществу:
Следующий эфир в понедельник, в 20:00.
И что есть на данный момент?
Не так уж и много. Кроме игрока, который научился стильно двигаться и мощно стрелять, на экране имеются враги двух типов: мины, которые наносят урон, когда на них налетаешь, и охотники, которые летят за тобой по красивой дуге, выписывая виражи, когда от них уворачиваешься.
Ещё из не самых заметных, но очень важных достижений: практически всё, что касается баланса (хит-пойнты, урон, скорость, скорострельность, ускорение, размер хит-бокса, небо, аллах), вынесено в JSON-файл, где это дело можно править, не лазая в исходный код.
Чё так мало?
Во-первых, выбрана изначально такая низкоуровневая вещь, как Monogame, где очень многое надо делать самому. Например, контроль столкновений я делал сам, прямо на глазах у всей честной компании. После чего с помощью юнит-тестов убеждался, что там всё правильно отрабатывает вплоть до самого распоследнего пикселя.
Во-вторых, я привык делать всё тщательно, в долгую. То есть, не тяп-ляп, а с расчётом на то, что в будущем на этом фундаменте будут красивые уровни, весёлые пострелушки, цветущие яблони и дальше по списку.
В-третьих, попрошу обратить внимание на то, как называется наша передача. Я время от времени, особенно в начале, прерывался, чтобы провести очередную лекцию.
Статистика
- 12 стримов и один маленький, тестовый, на полчасика
- 1 день, 8 часов, 13 минут, 23 секунды видео, где я отважно программирую, борясь с особенностями языка, особенностями фреймворка и своей глупостью
- 2 часа, 28 минут, 43 секунды - средняя длительность видео
- 646 строк кода на данный момент есть в проекте, если не врёт Visual Studio
- файлов с кодом
- 26 юнит-тестов, что не очень много, но они все пригодились
- 46 коммитов в репозитории на гитхабе
- 46 комментариев к коммитам со ссылкой на видео, где я делаю этот коммит
- 1 статья на хабре написана по итогам уже случившегося веселья. Если вам интересен язык C#, то вот она: https://habr.com/ru/post/445804/
- 1 баг на DTF, оказывается, был исправлен. Я о том, что АЛЛИЛУЙЯ, РЕШЁТКА БОЛЬШЕ НЕ ПРЕВРАЩАЕТСЯ В СРАНЫЙ ХЭШ-ТЕГ
- 1 день рождения на стриме отмечен
- 1 конкурс проведён
- 2 сигны выписаны
- 1 безумный челлендж за донаты назначен. Потому что глупо игнорировать такой инструмент маркетинга. Ну, и потому что это весело.
- 2 000 000 рублей - цена этого челленджа.
- 17854 буквы "А" подряд содержит книга, которую я прочитаю полностью вслух на стриме, если случится чудо и эта сумма будет собрана. Хотя вряд ли, конечно, это случится в ближайшее время.
Умные слова, которые услышали те, кто не испугались и не разбежались
Я ещё стрима два назад хотел дать где-нибудь вконтакте список того, что я успел пообъяснять на этих стримах. А тут такой повод. Сразу скажу: за указанными вещами следуйте в описание. Там всё самое интересное отмечено тайм-кодами.
Плейлист на ютубе с уже прошедшими стримами:
- 1 выпуск - Что такое объект и класс (очень коротко и криво), инкапсуляция, Single responsibility principle.
- 2 выпуск - Полиморфизм и наследование (тоже так себе, на последующих стримах, на практике было объяснено лучше), обработка исключений
- 3 выпуск - Наследование (примеры использования + некоторые вопросы с ним связанные), свойства (кусочно)
- 4 выпуск - Использование уже имеющихся атрибутов в C#, введение в юнит-тестирование, Reference-типы и Value-типы в .NET (ключевое слово struct в C#)
- 5 выпуск - События и делегаты, перегрузка методов
- 6 выпуск - Дженерики, которые, увы, начались в этом проекте с немного мозгодробильного примера. И рефлексия, которая в итоге нам не понадобилась.
- 7 выпуск - Code-convention связанные с событиями, методы расширения и LINQ (Select, Where и чуть-чуть SelectMany).
- 8 выпуск - Первый стрим, на котором мне не пришлось объяснять ничего нового. Но ссылку на пару мелочей с тайм-кодами я оставил.
- 9 выпуск - Тоже мелочь. Nullable, опетор ? : и кое-чего нового о делегатах.
- 10 выпуск - Ошибки округления в вещественных числах.
- 11 выпуск - Где и как лучше хранить данные, о том, почему предпочёл JSON, о некоторых нюансах глобализации, которые могут больно стукнуть по лбу. Ну и попытался порассказывать о SOLID, (конкретно, о буквах O и L)
- 12 выпуск - Тронули буквы I и D из SOLID. Натолкнулись на ограничения, связанные с дженериками. К букве I оттуда мы ещё вернёмся на следующем стриме.
Ещё что-нибудь?
Да, хочу спросить у народа, который тут в этих делах более-менее опытный. Где можно набрать звуковых эффектов? Я знаю, что есть места, где можно скачать какой-нибудь прилично звучащий "пыщь-пыщь", за который потом к тебе не приедет зондер-команда копирастов. Но какие из этих мест вы мне посоветуете?
ПыСы: Следующий стрим тут, в понедельник, в 20:00: