Чем интересно и полезно создание игр
Обучение через развлечение.
https://d2xzmw6cctk25h.cloudfront.net/post/950/og_cover_image/c8b566c1a38a1ee345f1ff2c1661ce81
Многих из нас в профессию программиста привела детская любовь к играм и головоломкам. Поэтому нет ничего удивительного, что едва получив свои первые знания, мы начинаем придумывать им развлекательное применение. Вот 5 игр, которые помогут вам пройти путь от новичка до зрелого программиста (и будущего создателя игровых бестселлеров).
Быки и коровы
Суть игры: ваш соперник, будь то компьютер или друг, загадывает 4-значное число, состоящее из неповторяющихся цифр. Ваша задача — угадать его за ограниченное число ходов. В качестве подсказок выступают “коровы” (цифра угадана, но её позиция — нет) и “быки” (когда совпадает и цифра и её позиция). То есть если загадано число “1234”, а вы называете “6531”, то результатом будет 1 корова (цифра “1”) и 1 бык (цифра “3”) .
Чем полезно: создание игры не потребует от вас углубленного знания языка, а сам язык может быть практически любой. При этом вам придётся использовать практически все базовые упражнения с циклами и операторами, да и на выходе получится весьма интересная игра.
Как усложнить: сохранение результатов, круговое соревнование на несколько игроков, режим турнира, игра по сети.
Текстовый квест
Суть игры: строгих принципов нет, это может быть как линейный сюжет, требующий минимальных действий от игрока, так и полностью интерактивная забава, где количество возможных исходов исчисляется десятками. Классический пример первого типа — телевизионное шоу “Кто хочет стать миллионером?”, второго типа — настольная игра “Dungeons & Dragons”.
Чем полезно: плох тот программист, который никогда не пытался создать некое подобие ИИ. Текстовые квесты как нельзя лучше для этого подходят, ведь здесь придётся просчитывать вероятности, оперировать данными и прогнозировать дальнейшие действия. Можно обойтись и без этого, но в любом случае придётся научиться работать с классами, объектами и модулями.
Как усложнить: нет ничего более сложного в ИИ, чем возможность импровизировать.
Крестики-нолики
Суть игры: перед вами минимальное игровое поле 3 х 3 клетки. Каждому игроку присваивается своя фигура (крестик или нолик), после чего они поочередно заполняют ими поле. Первый ход за крестиками. Побеждает тот, кто соберёт 3 своих фигуры в ряд (по горизонтали, вертикали или диагонали).
Чем полезно: Переход от текстовых приложений к графическому интерфейсу, хоть и на достаточно примитивном уровне. С точки зрения самого кода, в простейшем случае создатель игры потратит уйму времени на описание всевозможных однотипных ситуаций, просто набив руку. Но есть и сложный путь создания функционального кода.
Как усложнить: увеличение размеров поля, регулировка сложности.
Пятнашки (Змейка)
Суть игры: Пятнашки (она же “Игры в 15”) — головоломка, цель которой за минимальное количество ходов упорядочить костяшки с нанесёнными числами от 1 до 15, расположенные на игровом поле 4 х 4 с одной свободной ячейкой. Собственно упорядочение должно происходить перемещением костяшек на соседнюю пустую ячейку.
Змейка — игра, в которой игровой объект (собственно, змейка), перемещаясь по игровому полю в вертикальном и горизонтальном направлениях, увеличивает свою длину после столкновения с единичными объектами (едой). Суть игры заключается в необходимости избегать препятствия, границы игрового поля, а также собственный “хвост”.
Чем полезно: переход на новый уровень в графической составляющей, при этом алгоритмы действий и их анализ остаются относительно простыми.
Как усложнить: манипуляции с игровым полем и временем.
Арканоид (Бильярд)
Суть игры: взаимодействие большого числа объектов, каждое из которых обладает своими уникальными физическими и инерционными характеристиками.
Чем полезно: качественная работа с графическими объектами, которая должна учитывать точную форму, траекторию движения, скорость, массу и т. д. Главная проблема — расчётное значение редко бывает целым, в отличии от количества пикселов, поэтому необходимо оперировать погрешностями и создавать модели поведения, включающие несколько факторов.
Как усложнить: просто попробуйте сделать арканоид с классическими бонусами и изменением скорости полёта шарика. Бильярд сделать русским, а также учитывать взаимодействие шаров с покрытием.
Интересна веб-разработка? Приглашаем вас на бесплатный интенсив по веб-разработке для чайников!
А какие игры написали вы? На каком языке? Давайте делиться исходниками.
Источник
Сделать игру интересной не всегда удается даже крупным студиям. Однако мы можем поделиться с вами парой секретов.
Придумать и разработать интересную игру сложно, потому что нужно учесть очень много факторов, начиная с сюжета и графики и заканчивая геймплеем. Кроме того, есть несколько компонентов, которые должны быть в каждой игре, — без них она не сможет увлечь пользователей.
Но сначала нам нужно понять, почему одни игры интересные, а другие — нет.
ДИСКЛЕЙМЕР
Создание игр — тонкое искусство, в котором нельзя гарантировать, что все пройдет как по маслу. Иногда проект не спасает даже наличие всех нужных компонентов.
Евгений Кучерявый
Пишет о разработке сайтов, в свободное время создает игры. Мечтает открыть свою студию и выпускать ламповые RPG.
Одни ценят в играх сюжет или графику, в то время как другие предпочитают хорошую боевую систему и открытый мир. Однако даже если в игре есть всё это, она может быстро наскучить или вообще не зацепить.
Потому что важны не только игровые механики, но и следующие компоненты:
- цель;
- путь;
- ритм;
- награда;
- баланс;
- отклик;
- интрига.
Давайте посмотрим, что это такое и чем оно помогает игре.
Цель — это то, чего добивается игрок или какая перед ним поставлена задача. Иногда главный герой должен спасти мир или защитить родину на войне, но бывают и такие игры, где нужно найти выход из психиатрической лечебницы или отомстить за убийство семьи.
Какой бы ни была цель, игрок должен понимать, почему ее нужно достичь. То есть он должен видеть, что это важно для его персонажа и что у него есть мотивация. Например, если он мстит за жену и детей, то нужно показать, что они действительно были близки — проводили время вместе и радовались. Тут хорошо работают контрасты: когда сначала показывают счастливого героя в кругу семьи, а потом его же, но уже в депрессии из-за утраты.
Даже если речь идет о спасении мира, то это тоже должно касаться персонажа — а следовательно, и игрока — лично. Высокие побуждения героя никого не впечатлят, потому что это избито. Нужно что-то большее, чем всеобщее благо, — собственные интересы.
Например, иногда персонаж понимает, что если умрут все, то вместе с ними и он. Или же им движет жажда славы или наживы, а может, герой просто следует за своей любовью и параллельно успевает всех спасти. Как бы то ни было, необходимо показать чувства, которые знакомы игроку, чтобы он мог ассоциировать себя с главным героем.
ВАЖНО!
Игру нужно рассчитывать на определенную аудиторию — кому-то интересно играть за вора, который хочет стать лучшим в своем деле, но кому-то больше по душе боевые действия для захвата мира.
Если цели не будет совсем, то игра быстро надоест, если вообще сможет привлечь к себе внимание. Однако иногда цель может быть не вполне очевидной либо игрок сам должен ее найти. Например, в Minecraft пользователи сами решают, чем им заняться и чего добиваться.
Путь — это то, что проходит персонаж, чтобы достичь цели. На пути должны появляться всяческие препятствия, которые мешают просто прийти и забрать то, что тебе нужно. Эти преграды не должны быть слишком сложными, потому что иначе игрок почувствует себя беспомощным и не захочет продолжать. С другой стороны, слишком просто тоже быть не должно, потому что тогда станет скучно.
В пути игрок должен познакомиться с игровыми механиками — понять, как устроена боевая система, что можно купить и продать, как можно перемещаться по локациям — и овладеть ими. Например, он должен научиться мастерски убивать врагов.
Также на протяжении пути персонаж должен меняться: если изначально он хотел мести, то к концу может простить врага, потому что поймет, что месть не сделает его счастливее. Или, например, он был верным рыцарем, но постепенно начал сомневаться в своих покровителях, потому что увидел их темные стороны.
Существует такое понятие, как ядро геймплея (или ядерные механики, ядерный цикл) — это повторяющиеся механики, с которыми игроку придется сталкиваться все время. Часто можно встретить такую схему: игрок убивает врага, прокачивается и идет убивать врага посильнее, чтобы прокачаться еще лучше и снова пойти на нового врага.
Однако если вся игра будет строиться только вокруг прокачки, то это однообразие действий быстро надоест. Представьте, что вы слушаете музыку, в которой нет ничего, кроме трех повторяющихся нот. Интереса хватит на пару минут, но потом уже станет тошно.
Чтобы этого не случилось, в игру нужно добавить ритм или динамику: это чередование действий, которые должен выполнить персонаж. Например, сначала немного сражений, потом исследование локации, решение головоломки, снова поединок, разговор с ключевым для сюжета персонажем и так далее.
Если человек будет занят одним делом слишком долго, ему быстро надоест, и он не захочет больше играть.
В Fable: The Lost Chapters игрок мог пойти рыбачить, если ему надоедало сражаться с монстрами и бандитами.
Легче всего добавить динамику в линейные игры, потому что в них разработчик сам решает, какая задача будет поставлена перед игроком и когда. Если же в игре открытый мир, то занятие себе выбирает игрок. Он может слишком долго собирать ресурсы или отстраивать убежище, и уберечь его от этого невозможно. Единственное, что можно сделать, — добавить столько возможностей, чтобы найти занятие по душе можно было всегда.
Чтобы человек получал удовольствие, его нужно поощрять. Причем делать это нужно не только в конце, когда цель уже достигнута, но и на протяжении всей игры.
Например, в RPG многие игроки стараются полностью изучить локацию перед тем, как двигаться дальше. Если они зашли в пещеру и убили всех врагов, то после этого обыщут там каждый угол и только потом выйдут на поверхность.
Это хорошая возможность, чтобы спрятать где-нибудь сундук с новой броней или золотом.
Также награда не обязательно должна быть материальной. Можно раскрыть дополнительную часть сюжета или просто показать что-то забавное.
В GTA III на одной из стен можно найти надпись «Вообще-то здесь вас быть не должно».
Если же игрок не найдет ничего, то он будет разочарован, и это может оттолкнуть его от игры:
«Я потратил кучу времени, чтобы всё тут осмотреть, но ничего не нашел. Ну и зачем мне дальше этим заниматься?»
Также награждать нужно, когда игрок совершенствует свои навыки. Например, можно сделать игру немного сложной в начале, но, потом, если игрок продвинется до определенного места, наградить его чем-нибудь.
Это вызовет у него дополнительный интерес, поэтому он будет и дальше прокачивать свои навыки (речь о навыках игрока, а не персонажа), чтобы получить еще большую награду.
Многие игры грешат тем, что игрок сначала умирает от одного удара, а потом, когда находит хорошие предметы и прокачивается, сам становится непобедимой машиной смерти. Это плохо, потому что сначала играть слишком сложно, а потом — слишком легко. Разработчики Diablo III решили эту проблему: там враги становятся сильнее, когда развивается сам игрок.
Иногда баланс нарушает награда, которая не соответствует приложенным усилиям. Например, в Skyrim есть квест «Легенда о Красном Орле», который долго проходится и обещает игроку легендарное оружие.
Убив не один десяток врагов и пройдя все необходимые локации, игрок обнаруживает довольно слабый меч.
Уже в начале игры можно самостоятельно выковать более мощное оружие
Это очень сильно разочаровывает, потому что ожидания не соответствуют реальности. Такие моменты отталкивают от игры.
Любые действия игрока должны иметь видимый эффект. Нажми на кнопку — получишь результат. При этом персонаж должен не просто ударить, если нажата левая кнопка мыши, но и сам удар должен зависеть от того, что находится поблизости.
Например, если задеть врага, то тот должен скорчиться и немного отскочить. Если же попасть в стену, то оружие героя должно отлететь.
Выбор в диалогах должен влиять на сюжет или на отношения с другими персонажами. Если никакого отклика не будет, то пользователь будет чувствовать, что его действия ничего не меняют, — а это не то, зачем людям нужны игры.
В жизни у нас нет возможности узнать, что мы делаем всё правильно. Нет никаких индикаторов, которые бы показывали, что мы стали лучше или двигаемся в том направлении, в котором нас ждет наилучшее развитие событий.
В игре же можно показывать уровень, шкалу опыта, характеристики и прочее, что поможет человеку увидеть, что он становится лучше. Этот прием хорошо работает, потому что нам нравится видеть свой прогресс.
Другой вариант — рейтинги. Можно показывать, сколько очков набрал игрок и сколько набирают другие. Тогда можно будет сравнить свой результат с результатом других. Попадание на первое место в рейтинге тоже может стать дополнительной целью.
Можно показывать, сколько игроков удалось оставить позади
Раньше никто не беспокоился об интриге, потому что игры были в новинку и в основном подкупали графикой и геймплеем. Но сейчас многие хотят чего-то большего — как раз того, из-за чего им будет любопытно и интересно играть.
Если раньше можно было сказать игроку: «Вот враг, убей его», то сейчас такая прямота выглядит натужно и топорно. Гораздо лучше дать игроку намеки и свободу выбора, чтобы он сам догадался, кому можно доверять, а кому нет.
Разгадав загадку, человек получит удовольствие: ведь он увидел то, что было показано неявно. Если же не сможет разобраться сам, то удовольствие ему принесет неожиданный поворот.
Также интригу можно добавить в дизайн локаций, чтобы игрок не знал, что поджидает его в следующей комнате. Для этого нужно всего лишь не расставлять орды монстров за каждой дверью.
В Outlast 2 игрок никогда не знает, что ожидает его за углом или даже в собственной голове
Эти компоненты кажутся простыми, но добавить их все в игру очень и очень сложно. Часто это связано с тем, что у разработчика замыливается глаз из-за долгой работы над одним и тем же проектом. Многие вещи, не совсем понятные игроку, создателю могут казаться очевидными, потому что он видел их уже не одну тысячу раз.
Чем дольше идет разработка, тем печальнее становится ситуация. Поэтому очень важно не терять способности видеть проект глазами пользователя. Один из способов сделать это — использовать для создания игр специальные движки, упрощающие работу с «физикой» объектов. Тогда разработчик сможет меньше возиться с кодом и больше внимания уделять логике игры. Пример такого движка — Unity, удобный инструмент, позволяющий создать небольшую игру буквально за несколько дней.
Научиться работать с этим инструментом вы можете, записавшись на наш курс «Профессия Разработчик игр на Unity».
Годичный учебный курс с полным погружением в профессию разработчика игр. Вы изучите основы геймдизайна, научитесь разрабатывать 2D-, 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…
Âñåì, êòî äî÷èòàë, õîðîøèõ è ïðîäóêòèâíûõ âûõîäíûõ! Ñïàñèáî çà âíèìàíèå.
Источник