Всем привет. Меня зовут Дмитрий и я студент, который имел банальную мечту, создать свою мобильную игру.
Начинал осуществлять свою мечту с простого. Как только увидел Construct Classic, я понял, что пора действовать, но как только я начал работать над своей мечтой, я начал понимать, на сколько сложно создавать мобильную игру. Время шло, менял идею за идеей.
Набравшись опыта, я дождался выхода и перешел на Construct 2 и работа над проектом, снова закипела, но как обычно реализация доходила до середины, и я просто забрасывал проект, вот так я приближался к своей мечте, очень маленькими и неуверенными шагами, но мое положение спас Он.
Увидев Unity, я понял, что вот он мой спаситель и именно вместе с ним я покорю вершины Play Market. И я начал взахлеб изучать материл связанный с Unity и языком C#, все больше убеждаясь, что я нашел своего спасителя.
А время все шло, а я не решался полностью перейти на Unity. Я все никак не мог придумать, а, чтобы такого на нем сделать? Но вот наступил день, когда все закрутилось и завертелось.
Поиск идеи
Гуляя по сайту с готовыми UI работами дизайнеров в надежде, лишь бы пришла идея в голову, и она пришла. Зайдя случайно во вкладку с UI дизайном калькуляторов, я удивился, на сколько красивым может быть, простой калькулятор. И тут я понял, что хочу создать.
Выделив основные аспекты, которые будут в игре:
- Основа — математические операции. Что нужно поделить, отнять, умножить или прибавить к такому числу, чтобы получился такой ответ?
- Игровые элементы — Такие как бонусы, способности, достижения и т.п.
- Дизайн — простой и постараться сделать его красивым.
- Бесконечность — уровни будут генерироваться бесконечно.
И так начало положено. Пора идею визуализировать.
Дизайн
Начал я с самого первого, что попадется при входе, а именно меню. Так сказать, с путеводителя по игре, все должно быть понятным и простым.
Да, скучноватый и серый набросок, но зато свою цель он послужил и дал от чего оттолкнуться. Решив не останавливаться, надо было сделать дизайн игрового процесса, и работа закипела.
После танцев с бубном, пару статей от Google по дизайну и вдохновившись готовыми работами все на том же сайте с дизайном калькуляторов, получился конечный результат.
Был задан общий стиль UI элементов, да и цветовая палитра вроде даже радовала. Хотя я так и остался недовольным дизайном, но переделывая все заново, я возвращался примерно к такому результату, так что решил на этом и остановиться.
И если игрок ответил правильно:
Говорим игроку, что он молодец и ответ правильный.
А вот что будет если игрок ошибся:
Говорим игроку, что он ошибся, но ничего страшного.
Выделив основные элементы в игровом процессе:
- Математический пример — самое главное, игрок должен сразу бросить на него взгляд и начать решать.
- Ответы — как только игрок решил пример, нужно искать ответ, отличительная палитра цветов у UI элемента ответа, должна крикнуть. Эй, посмотри на меня!
- Время — этот элемент, не должен постоянно кричать, он должен выглядеть как часы, посмотрел запомнил и дальше решаешь примеры.
- Жизни — напоминание о том, что лучше не торопиться и решать вдумчиво и не ошибаться
И так общий дизайн и палитра цветов задана, игрок понимает, на что обратить внимание, куда переходить, на что нажимать. Пора перейти к технической части, а именно сам игровой процесс.
Генерация уровней
Помните я говорил, что уровни генерируются случайно? Так вот, я Вас немного обманул. Зачем надеяться на удачу и думать, что с первого уровня математический процесс вовлечет игрока? Лучше давать “подсказки” случайности и генерировать уровни, уже почти как хочется, ограничиваясь нужным диапазоном.
Тут дело дошло до кривой сложности и настройка случайности. И вот что из подсказок для случайности я сделал:
- Диапазон уровней — с какого по какой уровень, будет генерироваться заданная сложность.
- Количество ответов — количество ответов, которые будут генерироваться, чем их больше, тем больше времени на выбор нужного ответа.
- Диапазон основного числа — основное число, от которого будет отталкиваться вся остальная часть примера.
- Шанс математической операции — пока в игре есть 4 операции. Сложение, вычитание, умножение и деление.
Проведя не одну ночь с бубном, танцами и настройкой сложности, получилась примерно вот такая кривая сложности:
Получилось 3 вида сложности:
- Максимальная сложность — максимум в одном диапазоне уровней. Пик сложности.
- Средняя сложность — самая вероятная сложность, которая будет приходиться на каждый диапазон уровней.
- Минимальная сложность — минимум в одном диапазоне уровней. Самое простое, что может быть с игроком.
В самом начале, показываю игроку базу, что он будет делать. Дальше я подготавливаю игрока и повышаю постепенно сложность, чтобы дать ощущение прогресса. Позже расслабляю игрока и резко повышаю сложность и даю отдых и примерно в таком направлении идет сложность.
Повысить сложность, так же можно благодаря новым математическим операциям и показать новую вещь в игре и немного усложнить жизнь игрока.
А что за постоянная сложность в конце? Это и есть бесконечное генерирование уровней, полнейший рандом и вакханалия, которая начинается после определенного уровня.
Итог
Стоили ли те бессонные ночи, которые я провел за разработкой своей игры? Конечно же, тот опыт, что я получил бесценен. А преодолевать каждый этап разработки, смотря на то как идея из головы потихоньку превращается во что-то существующее, очень здорово.
Ну, а на этом статья подходит к концу, надеюсь кому-нибудь она принесет пользу, а кого-то с мотивирует действовать.
Спасибо за внимание, буду очень рад комментариям.
Автор: крепыш