Найти тему
NEONRELA STUDIO

Как не надо делать игры для Яндекс Игр.

Оглавление
Тьма Больницы. Игра на Яндекс.Играх(https://yandex.ru/games/app/285095?lang=ru)
Тьма Больницы. Игра на Яндекс.Играх(https://yandex.ru/games/app/285095?lang=ru)
  • Мне пришла в голову идея создать свою собственную игру в 3D, осенью 2023 года, а именно 30 ноября. Я был новичком в разработке игр на Unity, до этого делал игры только на Construct Classic/2/3. Изначально эта игра вообще была как, тестовая, личная игра, которая не была бы доступна никому и она предназначалась только для обучения на C# в Unity.
Игра доступна на Яндекс.Играх - https://yandex.ru/games/app/285095?lang=ru

Разработка Игры.

2 декабря 2023 года.
2 декабря 2023 года.
В игре на момент 2 декабря 2023 года уже были разработаны несколько моделей, анимации, звуки, а также NPC, но и конечно же хватание предметов, как в игре Half Life 2. По началу шло всё как по маслу, игра делалась пусть и часами и днями, но не возникали какие-либо трудности. Я планировал эту игру выпустить к Новому Году, ибо мне казалось, что это идеальное время для выпуска хоррор-игры, где события разворачиваются где-то в глубинке больницы, которая находится в зимней тайге.
12 декабря 2023 года.
12 декабря 2023 года.

Возникли уже первые проблемы, когда начал видоизменять игру, когда начал делать более продуманный NPC. Продуманный NPC должен был уметь:

  • Ходить в разные точки на сцене, а когда увидит игрока -> побежать за ним, а если потеряет из виду, то забудет про него.
С истечением времени и эта механика NPC менялась и пришла такой, какой она есть в игре только в Мае 2024 года.
26 декабря 2023 года.
26 декабря 2023 года.
На момент 26 декабря 2023 года, я начал понимать, что не успею доделать игру. В игре было готово:
  • Первая игровая сцена.
  • Скример.
  • Механики взаимодействия игрока с игровым миром.
  • Тестовый NPC
  • Куча предметов.

Но, этого было недостаточно. Мне хотелось доделать NPC, а также доработать визуальную составляющую игры, что невозможно было мне сделать как новичку до Нового Года, учитывая, что до него осталось не так уж и много времени.

Как я делал игру будучи новичком?

  • Ещё летом 2023 года я посмотрел 9-часовой ролик Романа Сакутина по языку C#, который как раз-таки и использует движок Unity. Практиковался я по нему в Windows Forms, Консольном приложении, а также смотрел видео-уроки по нему и как с ним работать в Unity. Работа с ним мне до 30 ноября казалась слишком сложной и будто надо было быть Гуру C# разработки всего и вся. Ответ: Нет, не надо быть Гуру, чтобы спокойно программировать на C# в Unity.
После того, как я начал работать в Unity над своей игрой, то прибегнул к пользованию Нейросетей и видео-уроков на Youtube. Что оказалось полезным и что могу лично вам порекомендовать при разработке? Какие есть нюансы? А что лучше? Давайте разбираться.

Нейросети

Я использовал нейросеть в Telegram. Вот мой один из запросов:

Как сделать управление для персонажа от первого лица на Unity?

Ответ:

Для создания управления персонажем от первого лица в Unity, вам понадобятся следующие шаги:

1. Создайте модель персонажа или используйте готовую модель из Unity Asset Store.

2. Добавьте камеру, чтобы создать вид от первого лица. Убедитесь, что камера находится внутри модели персонажа и смотрит в том же направлении, что и персонаж.

3. Настройте скрипт управления. Создайте новый скрипт (например, "PlayerController") и прикрепите его к объекту персонажа. В этом скрипте вы можете использовать ввод с клавиатуры или контроллера для управления движением и обзором.

Пример простого скрипта для управления персонажем от первого лица:
```csharp
using UnityEngine;

public class PlayerController : MonoBehaviour
{
public float speed = 5.0f; // Скорость передвижения
public float sensitivity = 2.0f; // Чувствительность камеры

CharacterController characterController;

float moveFB;
float moveLR;

float rotX;
float rotY;

void Start()
{
characterController = GetComponent<CharacterController>();
}

void Update()
{
// Управление передвижением
moveFB = Input.GetAxis("Vertical") * speed;
moveLR = Input.GetAxis("Horizontal") * speed;

Vector3 movement = new Vector3(moveLR, 0, moveFB);
movement = transform.rotation * movement;
characterController.Move(movement * Time.deltaTime);

// Управление обзором
rotX = Input.GetAxis("Mouse X") * sensitivity;
rotY -= Input.GetAxis("Mouse Y") * sensitivity;

rotY = Mathf.Clamp(rotY, -60f, 60f); // Ограничение обзора по вертикали

transform.Rotate(0, rotX, 0);
Camera.main.transform.localRotation = Quaternion.Euler(rotY, 0, 0);
}
}
```

Это всего лишь простой пример скрипта, который обрабатывает управление движением и обзором от первого лица. В реальном проекте вам может понадобиться больше функциональности, такой как обработка коллизий, анимации и многие другие детали.

Результат

Управление персонажем работало некорректно.

Есть другой запрос:

Как сделать событие, когда объект касается другого с конкретным тегом? В коде на C# в Unity

Ответ

Для обработки столкновений объектов в Unity с определенным тегом можно воспользоваться коллайдерами и скриптами. Вот пример кода на C# для обработки столкновений объектов с определенным тегом:

```csharp
using UnityEngine;

public class CollisionHandler : MonoBehaviour
{
public string targetTag = "YourTargetTag";

private void OnCollisionEnter(Collision collision)
{
if (collision.gameObject.tag == targetTag)
{
// Обработка столкновения с объектом, имеющим указанный тег
Debug.Log("Collision with object tagged: " + targetTag);
}
}
}
```

В этом примере `CollisionHandler` - это скрипт, который вы можете прикрепить к вашему объекту в Unity. В скрипте определяется тег, который вы хотите отслеживать (`targetTag`). Затем в методе `OnCollisionEnter` проверяется тег объекта, с которым произошло столкновение. Если тег соответствует указанному, то выполняется определенное действие.

Не забудьте также добавить тэг к вашему объекту в Unity, чтобы скрипт мог корректно обрабатывать столкновения.

Надеюсь, этот пример поможет вам создать событие при столкновении с объектом, имеющим определенный тег. Если у вас есть дополнительные вопросы или нужна помощь с каким-то другим аспектом Unity, пожалуйста, не стесняйтесь спрашивать!

Результат

Да, всё сработало. Код написан правильно, да и тут ничего сложного в целом нет, всё легко и понятно. Думаю, даже новичку или человеку, который не особо смыслит в программировании поймёт, что здесь написала Нейросеть.

  • Говоря о Нейросети и её использовании, могу сказать, что в написании ИИ она имеет проблемы. Не совсем корректно и правильно она пишет код подходящий конкретно для вашего ИИ. Исключением может быть, если вы написали запрос в полных подробностях:
Какие компоненты есть.
Что должен уметь ИИ.
Какие особенности в его поведении должны быть.
Что он может, а что не может.
  • Также стоит обратить внимание и на то, какую именно нейросеть вы используете. Можете это протестировать задав один и тот же запрос нескольким нейросетям.

Видео-Уроки

По большей части они оказались полезнее чем нейросети. Навряд ли вам нейросеть пояснит как сделать к примеру:

NPC, как в TABS, чтобы был с физикой, но в то же время и бегал и дрался и открывал двери и не был как какой-то робот.

Но, к сожалению, есть и не совсем хорошие видео-уроки, где даётся слишком мало информации, где плохо преподносится информация, где код написан по колхозному. Опять же, это зависит от того, кого вы смотрите. Смотрите хороших Ютуб-разработчиков. Советую смотреть всех, но если вы чувствуете что-то неладное, у вас не получается или же вам не понятно, что объясняет данный человек, то попробуйте найти то же самое, только у другого человека. И не важно, хоть этот человек будет школьником, сорокалетним дядей или ноунеймом с Stack Overflow/Форума/Ютуба.

Разработка

8 Января 2024 года я опубликовал данный ролик. Всё было почти готово, кроме пары механик, NPC, концовки, графики, а также: оптимизации. Оптимизация - самая важная составляющая для каждой игры. Моя игра не была оптимизирована должным образом и требовалась в доработке, и полировке графических моментов.
  • В последующие месяца вплоть до Мая 2024 года я работал на ИИ, а также над доработкой сцен, их детализацией.
  • Трудности были с ИИ, он и до сих пор не совершенен, но для себя я почеркнул важные моменты при работе с ИИ. Всегда проверяйте: Теги, Слои, а также саму логику ИИ, если у вас конечно же что-то не работает. Собственно, можно сказать, что разработка затянулась как-раз из-за этих трудностей, мне было ужасно дискомфортно от того, что я делаю вроде бы всё правильно, но именно в моей игре это не работает, отсюда: выгорание на месяц, частые отказы от продолжения разработки игры и т.д.
Справился я с этими сложностями благодаря книгам по: бизнесу, психологии и разработке видео-игр - они меня вдохновляли и вдохновляют и до сих пор.

Подготовка на Яндекс.Игры

Высокие настройки графики игры (https://yandex.ru/games/app/285095?lang=ru)
Высокие настройки графики игры (https://yandex.ru/games/app/285095?lang=ru)

При разработке игры, я хотел хорошей графики, чего и смог добиться с помощью:

Post-Proccessing.
  • Но, нужно ли это было для Яндекс.Игр?

Меня ни капли не смущал контингент игр на Яндексе.

Игры на Яндекс Играх (05.06.2024)
Игры на Яндекс Играх (05.06.2024)

Яндекс Игры - это самая такая низша, для самых начинающих разработчиков, где выкладывается тонна игр разных жанров, и преимущественно для: Детей.

  • Что хочется ещё отметить, что Яндекс особо не хочет продвигать вашу игру, если она жанра: Хоррор.
Мою игру можно было сразу хоронить, учитывая, что я решил её выложить на Яндекс.Игры, ибо она:
  • Хоррор.
  • Требовательная.
  • Не хайповая.

Модерация Яндекс.Игр

13 мая 2024 года.
13 мая 2024 года.

13 мая я загрузил и отправил игру на проверку на Яндекс.Игры.

Поговаривают, что на Яндекс Играх невозможно пройти с первого раза модерацию.
Всего 4 раза отправлял на Модерацию.
Всего 4 раза отправлял на Модерацию.

Модерацию я не прошёл с первого раза. Очень активно общался с Поддержкой Яндекса. И на мой взгляд, она показалась мне очень дружелюбной и отзывчивой. Так что, если у вас: что-то и случилось с игрой, вам нужно уточнить вопрос, протестировать игру, подать заявку в "Популярное", попросить совета по разработке той или иной механики, в которой задействована реклама - вам к Яндекс Поддержке. Один раз модератор при проверке моей игры написал замечание, что у меня якобы есть орфографические ошибки в "Как играть", но это оказалось ошибочным.

Ждите, что вам отклонят из-за того, что в русской версии вы написали, что передвижение на WASD, что все фразы для каждой локализации внутри видео должны быть переведены и т.д. На самом деле, причин по которым, вам могут отклонить игру: множество.
Совет: Перед отправкой на модерацию, дайте поиграть Яндекс Поддержке в вашу игру, попросив о том, чтобы они проверили быстренько вашу игру, не нарушает ли она каких-либо правил. Со мной это работало и с вами тоже сработает.
  • Мне отклоняли игру по причине: Низкая производительность.
И тут уже конечно же мой косяк, и вот вам совет, если и делаете 3D-игру, то оптимизируйте её максимально, настолько, насколько это вообще возможно. Вы можете добавить настройки графики, но и добавить соответствующее предупреждение о том, что игра может тормозить и виснуть при определённых настройках. В моей игре самой плохой для WebGL настройкой были тени. Если при тенях было обычно 13 тысяч батчей, то без максимум 900 батчей. Батчи - вызовы отрисовки видеокартой задаваемых ей запросов. Чувствуется разница, не так ли?

Сколько заработал? Стоит ли выкладывать подобные игры на Яндекс Игры?

Заработал я за неделю копейки, смешные и печальные в это же время - копейки. Заработал за неделю: 10 рублей. Да-да, именно 10 рублей. В мою игру особо никто не играл, никто не прошёл её до конца, никто не поиграл в неё более 30 минут. И что самое наверное печальное, так это то, что в мою игру сыграло больше иностранцев, чем наших русских пользователей. Сыграло в мою игру: 200 человек.

Доход: 10 рублей. Игроков: 200 человек.
Срок разработки: с 30.10.23 - 23.05.24 (7 месяцев)
  • 7 Месяцев! 7 Месяцев делал эту игру и заработал какие-то жалкие 10 рублей. Это ужасная и печальная ситуация, и поэтому я планирую выпустить игру на VK Play, где буду её продавать за не дорогую цену.
Я не рекомендую делать масштабные по производству игры. Вы останетесь: Без нервов, с потерянным временем.
  • Выкладывайте: казуальные игры - если хотите хорошо зарабатывать.

С вами был создатель Godair Studio!

Пишите в комментариях своё мнение, и не забывайте делиться о таких постах с: друзьями, близкими.

До скорых встреч)

Следить за нашими играми можете в:
VK -
https://vk.com/godairstudio
Telegram - https://t.me/godairstudio