Мой "Hello, world" в Unity
Говорят, первой программой у каждого разработчика должен быть вывод «Hello, world» в консоль. С программой так было и у меня, в далеком 2007 году, когда я поступил в колледж на специальность "Автоматизация вычислительных систем" и писал я эту программу на Visual basic
// в конце статьи бонус
Ваша первая программа была такой же?
Ну а первой моей настоящей игрой стал мой RedGuy :D. Его я и хочу вам сегодня представить!
Когда я отучился в колледже — я сразу забросил программирование и до сего дня развивался совершенно в другую, но около IT специальность. Я бизнес-аналитик. Однако я постоянно чувствовал тягу к созданию своего ПО, своей игры, своего сайта и вот решил попробовать себя в том, что больше всего из этого увлекает.
Купил курс и начал клепать игры, ни одну не доделывал, просто обучался Unity и C#. А вот на этом платформере решил остановиться и попытаться реализовать всё что приходило в голову.
Какие механики я хотел реализовать?
стрельба
прыгать
- конечно же бегать
прыгучие поверхности, типа батута
- лазать по лестницам
- подбирать монетки и учитывать их в счёт игры
- убивать монстров и умирать от них
- иметь количество жизней, которое отнимается при смерти
- умирать от шипов или каких то еще препятствий
- сохранять состояние уровня при перезагрузке от смерти, но обновлять при окончании всех жизней
- переход с одного уровня на другой
- звуки музыка
Все ассеты я взял из обучающего курса, они являются бесплатными для некоммерческого использования. Звуки находил на бесплатных сервисах, подрезал (как цветочки) и изменял их (как своё отношение к биде)
Особенно горжусь своей работой над музыкой. Она зациклена до запуска игры и в момент запуска красиво переключается на другую мелодию
Энтузиазма у меня было хоть отбавляй и в целом весь проект пилился очень легко, однако были и вещи, который изрядно выбешивали:
Префабы
Пока я сообразил как они работают, как изменяются дочерние/родительские элементы и пока не привык применять изменения на дочке к родительскому префабу — постоянно ловил кучу косяков, чуть не поседел
Синглтоны
Это то, что я до сих пор не поборол. Реализовал у себя, дебажил 10 часов и достиг нужного эффекта, но в голове всё равно каша
Корутины, долбанные корутины!
Эта хрень прям знатно меня потаскала, пока не заработала как надо. Как и с синглтонами — пока не до конца понял как с этим работать, но понял зачем
Самый лютый вызов
Но самым сложным для меня оказалось научить персонажа спрыгивать с лестницы вбок, здесь я даже прибегнул к помощи всех своих знакомых, кто хоть как то шарит в теме xD
О самой игре
Бегаешь, стреляешь в монстров, собираешь монеты и идешь от точки респауна до выхода. В игре всего 3 уровня. Игра скорее воплощение всех задумок для получения ОС, исправления багов и тем самым — прокачки себя как разработчика
Первым игроком стала моя дорогая жена. При всей её любви к компьютерным играм, она никогда не играла в платформеры и моя игра стала для неё настоящим вызовом, а для меня — отличным способом собрать ОС от замотивированного, но неопытного игрока
Весь игровой мир нарисован тайлом с установленными правилами рисования. Это оказалось безумно удобно. Один раз настроил и не паришься
Что дальше?
Теперь я хочу попробовать создать похожий платформер с собственным ассетом для игрового персонажа, мира и мобов, наполняющих его, но все ассеты и логику за меня напишут нейросети. Позволю себе лишь минимальные корректировки ну и настройки в самом Unity. Потом добавлю в игру интересные РЕВОЛЮЦИОННЫЕ (xD) механики и кучу пасхалок
Но на самом то деле я уже здесь прибегал к помощи ChatGPT и он очень помогал мне тогда, когда в сообществе помочь не могли
Оставлю здесь ссылку на игру, если кто хочет заценить. Буду рад обратной связи и описанием найденных багов!
Обязательно поделюсь с вами, когда из этого что то получится. Спасибо за внимание!
Поделюсь с вами всеми полезностями что для себя надыбал
- Крутой сайт с ассетами платными и бесплатными
- Курс Unity 2D C# по которому я учился
- Тут качал шрифты
- Курс геймдева Unity от CourseHunter, который мне рекомендовали, но сам еще не смотрел его
- Ультра крутая обучалка C# с проверками знаний и заданиями
- Интересная статья про реализацию классного прыжка в платформере на Unity
- Нейросетка DALL-E для рисования. В ней можно намутить себе ассеты, я уже проверил, получается!
- Самый лучший помощник - ChatGPT
Всем пока!