Привет, разработчики! Меня вы можете знать(узнать) по серии постов про мою первую игру и первый неуспешный неуспех, вот последний:
"Пикабу-эффект". Слитые 300$ на мотивированные скачивания и App Removed после пары часов в топе.
Немного расскажу вам всякого про GameDev и меня в нём, постараюсь наполнить чем-то лаконичным, интересным и хоть немного полезным.
Что ж, забавно конечно теперь смотреть на свою первую игрульку спустя время, вроде и неловко за такое, а вроде и какая-то теплота и ностальгия в душе. Хоть и не так давно это было, но Unity сильно поменял моё представление об уровне и качестве игр, которые я могу делать в одиночку (прошлую, напомню, делал нативно в андроид студии на джаве).
Да, как я и обмолвился о своих планах в последних постах(10 месяцев назад), я перешел на игровой движок. Выбор оказался простым, а эффект сильным. Такой значительной разницей в лёгкости работы я был удивлен(деленной на качество и скорость). Сразу скажу, 3d брать не стал, наверняка в 3d делать игры тяжелее.
После небольшого перерыва, взялся кодить дальше. Юнити осваивал по видеоурокам, начал с этого: 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
некоторые фичи и компоненты делал полностью по этим видеоурокам, остальные излишне развлекательные и не особо полезные в практическом плане.
Короче, подписан и откусывал знания я именно с этих каналов.
После 2х недель обучения сразу сел за практику и начал делать то, ссылку на что вы найдете в конце.
Идею игры придумывал еще неделю. В прошлой игре я занял самую слабую по всем показателям нишу викторин, поэтому в этот раз решил взять самый популярный сейчас жанр гиперкэж. Ну и буду честен дальше, пошел на SensonTower и начал искать популярные игры с высоким показателями Revenue, чтобы сделать что-то похожее на них. Нашел, Ball Blast от вуду, и самому понравилось, и топ ревенюе у неё тогда был(90к $ в месяц). Платформу выбрал iOS и android.
Придумал, что сделаю такую же, только самоидентичную и в горизонтальной ориентации. Ну и начал. Делал по вечерам и выходным (работал и все еще работаю). Где-то за месяц накидал прототип, потом на 3 месяца выпал из жизни и вообще ничего не делал по игре, развеялся, собрался с мыслями. И вернулся, вернулся, и за 3 месяца вечеров и выходных закончил работу. Скажу, что звучит красиво, но если вы новичок и только задумываетесь об игровой индустрии, не совершайте ошибку многих и не романтизируйте GameDev, я не приходил после работы домой и не делал игру под сериалы и с бокалом вина, работать и учиться пришлось много и усердно. Мои блокнотные записи с просчетами баланса и прочим прототипированием на бумаге выглядели так(на фото примерно половина):
Ну-с, перейду к советам, которыми хотелось бы поделиться, опыта много, но постарался выбрать из него тот, который оказался для меня неявным и на поиск которого я потратил время.
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) Не знаю, правильно ли называть это советом, но скажу так, хоть опыт геймдева в андроид студии был интересным, но лучше бы я начала сразу с юнити)). Было бы гораздо эффективнее и удобнее.
Если ваша цель создавать игры, подобные этой и многим подобным( а у меня изначально была именно такая цель), то начинайте сразу с юнити, это легко, быстро и интересно!
Еще хотелось бы рассказать небольшую историю про графику в игре. Абсолютно всё графику, пушки, юай и фоны и иконку нарисовала моя 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...
Всем, кто дочитал, хороших и продуктивных выходных! Спасибо за внимание.