Небольшое предисловие

Меня зовут Юрий, недавно мне исполнилось 17 лет, и я программист. В основном делаю Windows Forms приложения (C#). С марта 2022 года я активно начал заниматься программированием, сначала на PascalABC.NET, а затем перешёл на C# в августе того же года. Все мои работы вы сможете посмотреть на моём GitHub. Не буду долго тянуть, приступаем :)

О создании и распаде команды

Начну с того, что я хоть и программист, по факту это лишь моё основное хобби. Учусь я в техникуме (тогда ещё 1-й курс) на специальность «Эксплуатация и ремонт сельскохозяйственной техники и оборудования», проще говоря, механик, но даже здесь мне удалось найти людей, у которых есть тяга не только к играм, но и к их разработке. Всё началось с середины декабря 2022 года. На своём потоке я нашёл двух людей (геймдизайнера и сценариста), а с поварского курса я взял одного человека для поиска багов в будущей игре. Я соответственно являлся главным программистом в нашей команде, а значит и самой главной её частью. В период с декабря 2022 по февраль 2023 года мы сделали 4 Пре-Альфы игры жанра Shoot 'em up.

Всё шло хорошо до середины января, ведь именно отсюда начался спешный распад команды :( Начались ссоры со сценаристом игры, наш тестер долго не мог проверить игру на наличие багов для их дальнейшего исправления, геймдизайнер тоже стал понемногу сдавать позиции, и я не исключение. У меня пропало какое-либо желание и мотивация доделывать игру до конца, и поэтому в начале февраля я объявил о роспуске команды и заморозке проекта. Исходники данной игры, к сожалению, были утеряны, остались только одни скриншоты и Дневник разработки игры, который я настоятельно советую вам прочитать.

Скриншот из самой последней Пре-Альфы.
Скриншот из самой последней Пре-Альфы.

О разработке совершенно новой игры в одиночку

Прошло почти два месяца после роспуска команды и заморозки проекта, мне хотелось пополнить свой GitHub каким-нибудь хорошим проектом и поэтому я снова решил вернуться к созданию игры жанра Shoot 'em up, но уже в стиле Space Invaders, а не Galag'и и под самый конец марта данная игрушка вышла в свет. Несомненно, опыт работы в команде и предыдущий опыт создания игры похожего жанра помог мне написать игру за пару вечеров. Если вдруг захотите посмотреть исходный код игры и поиграть в неё, милости прошу.

Скриншот FX Space Shooter.
Скриншот FX Space Shooter.

А с вами был Yura_FX, спасибо, что дочитали данную статью до конца :)

Комментарии (7)


  1. s207883
    27.07.2023 06:38
    +2

    По части игр не скажу, но в плане c#, ещё учиться и учиться. Но начало хорошее ????

    Можно начать с разделения логики и представления и выноса общего кода в отдельные функции, а то очень много дублирования.


  1. Shavadrius
    27.07.2023 06:38
    +2

    Молодец, стоит с чего-то начинать)

    Единственное что статья вообще неинформативная получилась: нет обзора инструментов, нет алгоритмов, лишь один скриншот.

    Згалянул в гитхаб и сразу бросилось в глаза как ты работаешь с массивом enemies... Используй циклы и код сократится втрое...


  1. DeXPeriX
    27.07.2023 06:38
    +2

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

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


  1. amateur80lvl
    27.07.2023 06:38

    А ещё есть хорошая книжка, пригодится для следующих статей - Розенталь, Справочник по правописанию и литературной правке. Читать лучше сразу с раздела о литературной правке. Например, в этом издании - где-то с параграфа 230 http://www.evartist.narod.ru/text1/20.htm


  1. naumenkoff
    27.07.2023 06:38
    +1

    Если ты с августа 2022 сидишь на Windows Forms, пора выйти из зоны комфорта и перейти на Unity, если тебя интересуют игры; WPF / Avalonia - если тебя интересует Desktop!

    Посмотрев твой код, могу сказать что он очень плохой, особенно для почти года обучения C#, конечно же, если ты собираешься работать программистом, а если нет - то и неважно. Во многих твоих проектах, ты в ручную выключаешь или скрываешь кучу элементов, например, нужно скрыть 40 элементов - ты пишешь 40 строчек кода. Но ведь есть свойство Name у каждого контрола, так и просится какой нибудь префиксный/постфиксный способ поиска, ведь есть общая коллекция элементов, а ещё существуют контейнеры, в которые ты можешь группировать элементы, которые тебе необходимо скрыть - создаёшь панельку, закидываешь на неё кнопочки (привязываешь их к панельке) и просто скрываешь панель, а все дочерние элементы автоматически скорются. Изучи асинхронность и самое важное - ООП.

    Windows Forms легкий для входа, это наркотик. Слишком долго сидишь - привыкаешь к нему и уже никуда не хочется. Если предложить тебе где жить - в современной квартире (WPF) с очень хорошим ремонтом (возможность кастомизации, XAML, MVVM) или в сталинке (Windows Forms), с ужасным ремонтом, гнилым туалетом и ванной, тараканами и кривыми стенами (UX/UI Design, функционал), что выберешь ты? Очевидно, каждый бы выбрал современную квартиру с хорошим ремонтом - ведь какой смысл брать старую квартиру в кредит? И да, можно сказать, что ты взял старую квартиру в кредит, со всеми последствиями кредита и старых домов. Я рекомендую тебе начать изучать Unity (тебя же тянет к играм) или WPF/Avalonia (Desktop разработка)


    1. Yura_FX Автор
      27.07.2023 06:38
      +1

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


  1. fndrey357
    27.07.2023 06:38

    Всегда придерживался мнения, что информации в статье должно быть меньше, чем в комментариях. Тогда интересно.