Небольшое предисловие
Меня зовут Юрий, недавно мне исполнилось 17 лет, и я программист. В основном делаю Windows Forms приложения (C#). С марта 2022 года я активно начал заниматься программированием, сначала на PascalABC.NET, а затем перешёл на C# в августе того же года. Все мои работы вы сможете посмотреть на моём GitHub. Не буду долго тянуть, приступаем :)
О создании и распаде команды
Начну с того, что я хоть и программист, по факту это лишь моё основное хобби. Учусь я в техникуме (тогда ещё 1-й курс) на специальность «Эксплуатация и ремонт сельскохозяйственной техники и оборудования», проще говоря, механик, но даже здесь мне удалось найти людей, у которых есть тяга не только к играм, но и к их разработке. Всё началось с середины декабря 2022 года. На своём потоке я нашёл двух людей (геймдизайнера и сценариста), а с поварского курса я взял одного человека для поиска багов в будущей игре. Я соответственно являлся главным программистом в нашей команде, а значит и самой главной её частью. В период с декабря 2022 по февраль 2023 года мы сделали 4 Пре-Альфы игры жанра Shoot 'em up.
Всё шло хорошо до середины января, ведь именно отсюда начался спешный распад команды :( Начались ссоры со сценаристом игры, наш тестер долго не мог проверить игру на наличие багов для их дальнейшего исправления, геймдизайнер тоже стал понемногу сдавать позиции, и я не исключение. У меня пропало какое-либо желание и мотивация доделывать игру до конца, и поэтому в начале февраля я объявил о роспуске команды и заморозке проекта. Исходники данной игры, к сожалению, были утеряны, остались только одни скриншоты и Дневник разработки игры, который я настоятельно советую вам прочитать.
О разработке совершенно новой игры в одиночку
Прошло почти два месяца после роспуска команды и заморозки проекта, мне хотелось пополнить свой GitHub каким-нибудь хорошим проектом и поэтому я снова решил вернуться к созданию игры жанра Shoot 'em up, но уже в стиле Space Invaders, а не Galag'и и под самый конец марта данная игрушка вышла в свет. Несомненно, опыт работы в команде и предыдущий опыт создания игры похожего жанра помог мне написать игру за пару вечеров. Если вдруг захотите посмотреть исходный код игры и поиграть в неё, милости прошу.
А с вами был Yura_FX, спасибо, что дочитали данную статью до конца :)
Комментарии (7)
Shavadrius
27.07.2023 06:38+2Молодец, стоит с чего-то начинать)
Единственное что статья вообще неинформативная получилась: нет обзора инструментов, нет алгоритмов, лишь один скриншот.
Згалянул в гитхаб и сразу бросилось в глаза как ты работаешь с массивом enemies... Используй циклы и код сократится втрое...
DeXPeriX
27.07.2023 06:38+2При разработке Вы наверняка встречали какие-нибудь технические сложности, которые в итоге смогли побороть. Было бы интересно прочитать именно про это. С примерами кода и объяснениями что и почему.
По поводу распада команды - результат ожидаемый. Мало кто представляет, насколько это тяжело - сделать игру. И что это не развлечение, а тяжёлая и иногда нудная работа. И что сожрёт это далеко не два вечера времени... Советую делать игры водиночку. И только когда будет много опыта и уверенности в себе - добавлять в команду таких же людей.
amateur80lvl
27.07.2023 06:38А ещё есть хорошая книжка, пригодится для следующих статей - Розенталь, Справочник по правописанию и литературной правке. Читать лучше сразу с раздела о литературной правке. Например, в этом издании - где-то с параграфа 230 http://www.evartist.narod.ru/text1/20.htm
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 разработка)
Yura_FX Автор
27.07.2023 06:38+1Благодарю за такой познавательный комментарий, постараюсь учесть Ваши советы при создании следующих проектов :) Насчёт тяги к играм, она определённо у меня есть, мои последние три проекта - это как раз игры, обычный софт я пока решил не разрабатывать, так как уже дофига его сделал в 22-ом году. Насчёт разработки игр на каком-либо движке хочу сказать, что мне лично нравится делать игры с нуля, без движка и т.д. От этого я опять же лично получаю кайф))
fndrey357
27.07.2023 06:38Всегда придерживался мнения, что информации в статье должно быть меньше, чем в комментариях. Тогда интересно.
s207883
По части игр не скажу, но в плане c#, ещё учиться и учиться. Но начало хорошее ????
Можно начать с разделения логики и представления и выноса общего кода в отдельные функции, а то очень много дублирования.