40

LEVEL UP! В этот раз Unity, C# и Hyper Casual. Опыт, советы и история. Indie Gamedev Development, от идеи до продакшена

Привет, разработчики! Меня вы можете знать(узнать) по серии постов про мою первую игру и первый неуспешный неуспех, вот последний:
"Пикабу-эффект". Слитые 300$ на мотивированные скачивания и App Removed после пары часов в топе.


Немного расскажу вам всякого про GameDev и меня в нём, постараюсь наполнить чем-то лаконичным, интересным и хоть немного полезным.

LEVEL UP! В этот раз Unity, C# и Hyper Casual. Опыт, советы и история. Indie Gamedev Development, от идеи до продакшена Gamedev, Unity, Unity3D, Инди, Indiedev, Игры на Android, Игры на iOS, Игры, Гифка, Длиннопост

Что ж, забавно конечно теперь смотреть на свою первую игрульку спустя время, вроде и неловко за такое, а вроде и какая-то теплота и ностальгия в душе. Хоть и не так давно это было, но Unity сильно поменял моё представление об уровне и качестве игр, которые я могу делать в одиночку (прошлую, напомню, делал нативно в андроид студии на джаве).




Да, как я и обмолвился о своих планах в последних постах(10 месяцев назад), я перешел на игровой движок. Выбор оказался простым, а эффект сильным. Такой значительной разницей в лёгкости работы я был удивлен(деленной на качество и скорость). Сразу скажу, 3d брать не стал, наверняка в 3d делать игры тяжелее.

LEVEL UP! В этот раз Unity, C# и Hyper Casual. Опыт, советы и история. Indie Gamedev Development, от идеи до продакшена Gamedev, Unity, Unity3D, Инди, Indiedev, Игры на Android, Игры на iOS, Игры, Гифка, Длиннопост

После небольшого перерыва, взялся кодить дальше. Юнити осваивал по видеоурокам, начал с этого: https://www.youtube.com/watch?v=14g8mA4lVQs. И по кусочкам разбирался с другими темами с разных каналов, покажу, какие нашел.



Англоязычные:

- https://www.youtube.com/user/Brackeys - безусловно Brackeys.

- https://www.youtube.com/channel/UC9Z1XWw1kmnvOOFsj6Bzy2g - оооочень много интересной и полезно инфы и опыта.

- https://www.youtube.com/channel/UCIabPXjvT5BVTxRDPCBBOOQ - развлекательно-информационный канал про геймдев.
https://www.youtube.com/user/SykooTV - еще один.



Из русскоязычных я бы выделил вот эти:

- https://www.youtube.com/user/HuaweiSonicHelp

- https://www.youtube.com/user/4GameFree

некоторые фичи и компоненты делал полностью по этим видеоурокам, остальные излишне развлекательные и не особо полезные в практическом плане.


Короче, подписан и откусывал знания я именно с этих каналов.

LEVEL UP! В этот раз Unity, C# и Hyper Casual. Опыт, советы и история. Indie Gamedev Development, от идеи до продакшена Gamedev, Unity, Unity3D, Инди, Indiedev, Игры на Android, Игры на iOS, Игры, Гифка, Длиннопост

После 2х недель обучения сразу сел за практику и начал делать то, ссылку на что вы найдете в конце.


Идею игры придумывал еще неделю. В прошлой игре я занял самую слабую по всем показателям нишу викторин, поэтому в этот раз решил взять самый популярный сейчас жанр гиперкэж. Ну и буду честен дальше, пошел на SensonTower и начал искать популярные игры с высоким показателями Revenue, чтобы сделать что-то похожее на них. Нашел, Ball Blast от вуду, и самому понравилось, и топ ревенюе у неё тогда был(90к $ в месяц). Платформу выбрал iOS и android.




Придумал, что сделаю такую же, только самоидентичную и в горизонтальной ориентации. Ну и начал. Делал по вечерам и выходным (работал и все еще работаю). Где-то за месяц накидал прототип, потом на 3 месяца выпал из жизни и вообще ничего не делал по игре, развеялся, собрался с мыслями. И вернулся, вернулся, и за 3 месяца вечеров и выходных закончил работу. Скажу, что звучит красиво, но если вы новичок и только задумываетесь об игровой индустрии,  не совершайте ошибку многих и не романтизируйте GameDev, я не приходил после работы домой и не делал игру под сериалы и с бокалом вина, работать и учиться пришлось много и усердно. Мои блокнотные записи с просчетами баланса и прочим прототипированием на бумаге выглядели так(на фото примерно половина):

LEVEL UP! В этот раз Unity, C# и Hyper Casual. Опыт, советы и история. Indie Gamedev Development, от идеи до продакшена Gamedev, Unity, Unity3D, Инди, Indiedev, Игры на Android, Игры на iOS, Игры, Гифка, Длиннопост

Ну-с, перейду к советам, которыми хотелось бы поделиться, опыта много, но постарался выбрать из него тот, который оказался для меня неявным и на поиск которого я потратил время.


1) Ооооочень с неожиданной стороны подкрался подводный камень. Регистрация аккаунта разработчика в App Store. У Apple с осени 2019 года появилась проблема во внутреннем эквайринге, и оплату за аккаунт просто не снимает с карточки(с любой, совсем с любой). Подробнее можно почитать тут: https://vc.ru/dev/101224-apple-developer-program-problemy-s-.... 
Проблема есть до сих пор, и многие с ней сталкиваются, я тоже столкнулся и застрял на этом этапе на 2 недели(мне еще мало, некоторые по 2-3 месяца мучаются). Решение - писать и общаться с суппортом, проблему действительно решают, но придется поговорить письмами. Советую сразу описывать проблему и просить перевести на Senior Adviser-а. А у него уже просить либо Wire Transfer(банковский перевод) либо чтобы они вручную сняли с вашей карты оплату. Я решил вторым вариантом.
Поэтому, советую начинать регистрировать аккаунт в dev.Apple раньше.




2) Снова Apple, застрял надолго. Если при попытке загрузки билда в App Store вас автоматически реджектит и приходит письмо что вы используете устаревший UIWebView в проекте, а вы его не используете - то просто обновите юнити, и все пройдет)). Это же касается и «очень странных проблем», касающихся не конкретно вашего кода, а поведения JDK, NDK и разных SDK. 




3) Снова Apple, на этот раз попался в самом конце, уже когда игра попала в релиз, встроеные покупки. Внутренняя система в App Store Connect довольно запутанная и необычная, для того, кто имеет с ней дело в первый раз. Да, в интернете есть множество гайдов и туторов, даже официальный неплохой. Но как раз из-за запутанности порядка правильных действий, какой-то можно упустить + некоторые моменты вообще не описаны и неинтуитивно понятны, и ответы приходится искать на stackoverflow и черпать из ответом людей.


Оказалось, что для всех внутренних покупок нужно приложить скриншот этой покупки из игры для каждого айдишника, и описание. Я этого не понял, и пришлось быстро всё чинить, иначе покупки не работали.(тестовые из sandbox-a работали прекрасно и без задоринки, не подумайте).


К слову сказать, при отправке иcправленной версии, я воспользовался функцией ускоренной проверки в App Store, вот ссылка на форму, которую не так просто найти самостоятельно: https://developer.apple.com/contact/app-store/?topic=expedit...


Эта штука работает, и работает отлично, я указал причину critical bug-fix и версию проверили за пол дня, отреджектили, я внёс исправления, снова отправил, и версии получила статус Approved уже через час! То есть баг был исправлен и залит в магазин в течении одного дня, прекрасный результат!


4) Скачайте себе asset в Unity на автосейв. Почему-то сам движок в такое не умеет. Сами понимаете после чего я установил его себе..




5) В юнити есть прекрасный Unity Collaborate, с которым очень просто и удобно(и бесплатно) работать с разных рабочих мест или с кем-то. 




6) Большое количество Rigidbody сильно тормозит сцену, особенно заметно на слабых устройствах. Если вы управляете объектом через Translate, то в Rigidbody ставьте ему body type - kinematic, иначе для них будет продолжать высчитываться физика и грузить процессор. 




7) Отключайте Raycast Target у элементов UI, которые не должны реагировать на нажатия. При каждом нажатии на экран, движок будет пробегаться по всем всем элементам UI которые есть на сцене и у которых включен Raycast. Мне это неплохо помогло.


8) Группа в телеграмме unity3d.ru. Не бойтесь задавать там вопросы, там хорошие ребята и часто помогают, познакомился с хороши людьми именно там, и именно там встретил человека, который бесплатно и помог мне с музыкой и звуками. Это как форум, но только не приходится ждать ответа днями, либо тебе кто-то поможет, либо спроси еще раз через пару часов. Там же у них есть и группа геймдев-юристов и маркетологов, короче, полезное место.




9) Не знаю, правильно ли называть это советом, но скажу так, хоть опыт геймдева в андроид студии был интересным, но лучше бы я начала сразу с юнити)). Было бы гораздо эффективнее и удобнее.
Если ваша цель создавать игры, подобные этой и многим подобным( а у меня изначально была именно такая цель), то начинайте сразу с юнити, это легко, быстро и интересно!

LEVEL UP! В этот раз Unity, C# и Hyper Casual. Опыт, советы и история. Indie Gamedev Development, от идеи до продакшена Gamedev, Unity, Unity3D, Инди, Indiedev, Игры на Android, Игры на iOS, Игры, Гифка, Длиннопост
LEVEL UP! В этот раз Unity, C# и Hyper Casual. Опыт, советы и история. Indie Gamedev Development, от идеи до продакшена Gamedev, Unity, Unity3D, Инди, Indiedev, Игры на Android, Игры на iOS, Игры, Гифка, Длиннопост
LEVEL UP! В этот раз Unity, C# и Hyper Casual. Опыт, советы и история. Indie Gamedev Development, от идеи до продакшена Gamedev, Unity, Unity3D, Инди, Indiedev, Игры на Android, Игры на iOS, Игры, Гифка, Длиннопост

Еще хотелось бы рассказать небольшую историю про графику в игре. Абсолютно всё графику, пушки, юай и фоны и иконку нарисовала моя 15-летняя сестра в Adobe Illustrator. Она всегда любила рисовать, на бумаге, а я подкинул ей идею изучить адоуб. Сестра попробовала, и у неё все получилось, и очень сильно превзошло мои ожидания. Мы отлично сработалоись, я получил очень простую в организации работу с художником, а Катя получила первый практический опыт в деле, которое ей нравится, который так трудно получить в школах и универах. Получила огромное количества интереса и первые честно заработанные деньги)). Это событие стало очень неожиданным и крайне важным для меня и для неё, укрепило наши немного слабые отношения и многому обоих научило. И я очень счастлив по этому поводу!

Друзья, на этом пока что всё. Задавайте вопросы, буду отвечать.




И отдельно хочу сказать спасибо всему сообществу и всем вам за то, что вы так тепло отреагировали тогда на мои истории. Ваша поддержка играет большую роль в моей вере в себя и то что я делаю. Контент был не особо интересный и качественный, но вы поддержали, а я потом, если честно, все 10 месяцев это вспоминал и представлял как напишу сюда после про свою игру, когда выпущу её. Вот и написал.




Вот тут можно бесплатно скачать и посмотреть на мою игру (аккаунт в гугл плей новый, старый сломался):


ссылка в Google Play: https://play.google.com/store/apps/details?id=com.PsilosoftG...


ссылка в App Store:

https://apps.apple.com/us/app/ball-blast-reborn/id1512992991...


Всем, кто дочитал, хороших и продуктивных выходных! Спасибо за внимание.

LEVEL UP! В этот раз Unity, C# и Hyper Casual. Опыт, советы и история. Indie Gamedev Development, от идеи до продакшена Gamedev, Unity, Unity3D, Инди, Indiedev, Игры на Android, Игры на iOS, Игры, Гифка, Длиннопост

Правила сообщества

ОБЩИЕ ПРАВИЛА:

- Уважайте чужой труд и используйте конструктивную критику

- Не занимайтесь саморекламой, пишите качественные и интересные посты

- Никакой политики


СТОИТ ПУБЛИКОВАТЬ:

- Посты о Вашей игре с историей её разработки и описанием полученного опыта

- Обучающие материалы, туториалы

- Интервью с опытными разработчиками

- Анонсы бесплатных мероприятий для разработчиков и истории их посещения;
- Ваши работы, если Вы художник/композитор и хотите поделиться ими на безвозмездной основе

НЕ СТОИТ ПУБЛИКОВАТЬ:

- Посты, содержащие только вопрос или просьбу помочь
- Посты, содержащие только идею игры

- Посты, единственная цель которых - набор команды для разработки игры

- Посты, не относящиеся к тематике сообщества

Подобные посты по решению администрации могут быть перемещены из сообщества в общую ленту.

ЗАПРЕЩЕНО:

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

- Выдавать чужой труд за свой

Подобные посты будут перемещены из сообщества в общую ленту, а их авторы по решению администрации могут быть внесены в игнор-лист сообщества.


О РАЗМЕЩЕНИИ ССЫЛОК:

Ссылка на сторонний ресурс, связанный с игрой, допускается только при следующих условиях:

- Пост должен быть содержательным и интересным для пользователей, нести пользу для сообщества

- Ссылка должна размещаться непосредственно в начале или конце поста и только один раз

- Cсылка размещается в формате: "Страница игры в Steam: URL"