Введение
Как вы знаете, одной из актуальных проблем нашего города является то, что в нашем городе много неухоженных, некрасивых мест, что не приятно глазу, неуютно и в принципе некрасиво. Так же, это напрямую влияет на отношение горожан к своему городу. Для решения этой проблемы мы хотим создать игру, что привит горожанам любовь к своему городу, желание улучшить город и даст им возможность редактировать внутриигровой Якутск на свое усмотрение. Так же каждое сохранение, каждого пользователя может стать новым проектом по улучшению нашего города Якутска.
Наша игра позволит детям развить свой творческий потенциал раскрыть таланты в архитектуре и ландшафтном дизайне. Повысит вовлеченность детей в жизнь города, патриотические чувства у детей к своему городу. С помощью этой игры мы хотим привлечь внимание жителей, особенно детей к проблемам нашего города, ведь патриотизм зарождается в детстве.
Благодаря нашей игре у детей появится интерес к новым строительным профессиям, по типу: проектировщик доступной среды, специалист по модернизации строительных технологий, прораб-вотчер,
экоаналитик в строительстве и многое др. Появлением рабочих в данной сфере наш город станет опрятнее и уютней. Это главная цель для нас, сделать игру, что в будущем скажется на улучшении города
Цели
Целями нашего проекта являются:
•Научиться азам работы на blender’е
•Научиться азам работы на Unity 3D
•Создать игру “Город будущего – Якутск”
•Заинтересовать детей к профессиям в сфере строительства и архитектуры
•Получить оценку игры от подростков
Задачи
•Придумать концепт. Для создания игры нам нужен концепт и примерное понимание того, что мы будем делать.
•Выбрать движка. Для создания игры нам нужен конструктор.
•Диз-док. Тут можно найти описание геймплейных механик, разветвлённый сюжет игры, список звуков и визуальных эффектов.
•Создать черновой вариант. Сделать минимально жизнеспособный продукт.
•Создание моделей и текстур. Нам нужно чтобы наша игра выглядела презентабельно и приятная глазу подростка
•Тестирование. Нам нужно понять, чего не хватает моей игре и то, как подросток будет видеть мою игру
•Корректирование. Нам нужно подкорректировать свою игру, чтобы она окончательно выглядела хорошо и была приятной подросткам
•Релиз игры. Нужно вывести свою игру в общество для оценки и мнения подростков Якутска, чтобы сделать вывод для своего проекта
Поиск аналогов
Идея создания градостроительного симулятора встречается в игровой индустрии довольно часто, особенно в жанрах стратегии, симуляторах жизни, симуляторах строительства и песочницах.
Но в других градостроительных симуляторах город – выдуманный, а у нас это настоящий город Якутск, который надо обустроить. Этим наша игра и более уникальная других симуляторов
Этапы создания игры
Концепт игры
Идеей нашей игры является то, что каждый пользователь и каждое их сохранение является проектом по улучшению города Якутска. В игре надо будет обустроить и улучшить центральный, автодорожный и октябрьский округи на выбор. Задачей каждого пользователя будет застройка новых домов, восстановление дорог и установление фонарей, скамеек, беседок, мусорных баков и т.д.
UI и UX
Мы хотим, чтобы пользователю было удобно ориентироваться в интерфейсе. Для достижения этой цели дизайнеры занялись UI и UX. UI (User Interface) – это искусство, которое фокусируется на всех элементах продукта, делающих его притягательным: цвета, стиль кнопок, графика, анимация, типография, инфографика, виджеты, поведение, отклики кнопок и так далее. UI-дизайнер несет ответственность за то, как пользователь будет воспринимать продукт с визуальной точки зрения.
Рис. 1.
UX (User Experience) – это настоящая наука, сродни архитектуре или психологии. В ее основе лежат исследования пользовательских групп, информационная архитектура, удобство использования, контент-стратегия. В результате объединения этих компонентов получают решение целей и задач тем способом, который имеет наибольший смысл для человека использующего конкретную функцию. UX дизайнер — это помощник для
п ользователя. Он выслушает и вникнет во все проблемы клиента лучше любого психолога, создаст самые благоприятные условия для достижения поставленных перед дизайном целей.
Рис. 2.
Р ис. 3.
При входе в игру пользователя встречает главное меню. В главном меню есть пять кнопок: Продолжить (Последнее сохранение игрока), Загрузить игру (Игрок загружает одно из своих сохранений, что он начал, но не закончил), Новая игра (Выбор региона и начало новой игры), Настройки (Настройки звука, настройки графики, настройки скорости камеры), Выход (Выход из игры). Из первых трёх кнопок игрок попадает в саму игру.
Для начала новой игры есть приветствие. После этого игрок может выбрать либо обучение (Обучение механикам игры, обучение управлении камерой, обучение взаимодействию с объектами) либо сразу начать игру и перейти к меню объектов. В меню объектов будут здания
(Административные здания, жилые дома, торговые центры, школы, детские сады, учреждения, СУЗы, ВУЗы и так далее) и МАФ (Малые архитектурные формы: Скамейки, мусорные урны, заборы, детские площадки, спортивные площадки, беседки, ограды, фонари, озеленения и так далее). Далее после всего этого игроку дается возможность редактировать город.
Диз-Док
Игра будет в жанре градостроительного симулятора. В сохранении игрока можно будет сносить дома и возводить их, ставить дороги и тротуары, ставить мусорные баки и в общем благоустраивать город. В начале будет вступление игрока на пост мэра, и его главной задачей будет благоустроить город. А музыкальное сопровождение и звуковые эффекты можно будет найти в интернете или сделать самому.
Для нашей игры мы выбрали Unity 3D, так как он удобен и прост для создания игр по типу нашей. Ей легко совладеть и научиться использованию. Unity 3D — игровой движок, наиболее популярный среди инди-разработчиков. Его достаточно сложно освоить, но в этом помогают большое количество гайдов, документации и видеоуроков. Основной язык программирования — C#, но имеющийся функционал позволяет создавать прототипы, не написав ни единой строчки кода. Встроенный магазин ассетов содержит десятки тысяч платных и бесплатных моделей, шейдеров и прочих готовых ресурсов, что экономит время.
Макеты. Для создания игры по типу нашей, нам потребуются хорошие модели объектов. Ими занимается у нас один из дизайнеров. Функционал. В нашей игре главной механикой будет удаление/добавление моделей МАФ и зданий. Так же для этих двух механик нам понадобятся хорошие анимации. Управление камерой будет простейшим на WASD и мышь.
Код игры.
На Unity 3D используется язык программирования – C#.
Разработчику понадобилось посмотреть много видео-роликов, гайдов,
прочитать много статей, чтобы воссоздать удобное и понятное управление в игре и основные механики строительства.
Рис. 4.
Первые шесть строк отвечают за скорость передвижения камеры и чувствительность камеры. Абзац ниже отвечает за центрирование и слежение камеры за курсором. С добавлением этого кода, игрок сможет передвигаться камерой по осям x y z.
Рис. 5.
Этот фрагмент кода отвечает за удаление объектов. Один из наших разработчиков придумал, как это сделать и прикрепил к курсору луч, который сможет удалять объекту по нажатию левой кнопки мыши. Но чтобы эта механика работала на объекте должна быть переменная DestroyObject. Эту переменную разработчик добавил, чтобы игрок случайно не удалил платформу, на которой стоят все здания.
Рис. 6.
Этот фрагмент кода отвечает за установку новых объектов, точнее на данный момент зданий. Разработчик добавил к новым зданиям этот код так, чтобы по нажатию кнопки запускается таймер. По окончанию таймера здания появляются на определённых координатах. Этот фрагмент мы будем заменять на что-то более подходящее потому, что таймер стоит на 8 секунд и два здания появляются по середине, что не хорошо, не презентабельно и неудобно.
Бета-тест
По создании минимально жизнеспособного продукта мы провели бета-тестирование. Мы попробовали сыграть в нашу игру с самого начала, и записывали свой опыт. Искали недостатки в интерфейсе и возможные неудобства для пользователя. После проведения тестирования у нас выявились некоторые недочеты:
• Нельзя выбрать место постройки здания самостоятельно. Новые здания, ставятся только в определённых координатах.
• Здания строятся не моментально. То есть не моментально по нажатию кнопки. После нажатия кнопки проходит восемь секунд, и только тогда появляются здания, что неудобно, некрасиво и топорно.
Нужно доработать основные механики, чтобы было удобно, после чего мы приступим к большей детализации объектов и текстур.
Возникшие проблемы
При разработке игры у разработчика конечно появлялись проблемы. Первой проблемой было то, что файлы из blender конфликтовали с Unity 3D, из-за чего не получалось воссоздать механики из задумки. Дело ещё было в том, что все дома отправились одним куском и не получилось бы написать код по удалению только одного из домов. Решилась эта проблема переносом каждого объекта по отдельности и выравниванию по координатам. Вторая проблема появилась при воссоздании механики добавления объектов. Дело в том, что у нашего разработчика не так много навыков в работе на Unity 3D. Решилась эта проблема не до конца, ведь появлялись новые здания одновременно вместе и всегда на одном и том же месте.
MVP
Для участия в конкурсах с полностью готовой игрой нам не хватало времени. Поэтому мы ограничились минимально жизнеспособным продуктом. Этим занимался один разработчик. Упорно трудясь и не спав несколько ночей у него получилось только сделать MVP. Для этого он посмотрел много видео-уроков и инструкций. Помогали ему наши гейм-дизайнеры смоделировав часть октябрьского района и две модели новых зданий. При разработке у разработчика появилась проблема из-за того, что файлы из blender’а конфликтовали с Unity 3D. Она быстро решилась, благодаря тому, что дизайнеры ему отправили модели в другом формате. Сейчас игра работает не так хорошо как должно быть по задумке. При заходе сразу встречает модель октябрьского района. (Рис. 7)
(Рис. 7)
На левую кнопку мыши удаляются здания. По нажатию кнопки на экране ставятся новые дома по середине платформы. Камера крутится во все стороны. Курсор выполнен в виде треугольника, внутри которого флаг Республики Саха. В дальнейшем планируется доделать игру до состояния задуманного.
Подведение итогов
Во время работы мы поняли, что очень трудно создавать игры. Особенно, когда вы только начинающие в этом деле. Сделав начальный продукт и поработав как команда, мы встретили очень много трудностей, но нам было весело!
На данном этапе у нас:
• Проработан концепт игры
• Выбран движок, на котором мы будем работать
• Распределены обязанности по ролям
• Разработана схема игры
• Созданы нужные нам модели
• Сделан минимально жизнеспособный продукт
• Проведено бета-тестирование
• Исправлены некоторые проблемы
После длительной работы вместе мы поняли, что в команде обязательно должно быть больше одного разработчика и должно быть два дизайнера, потому что не хватает сил и рук для создания игры. Для дальнейшей благоприятной работы требуется еще один разработчик в нашу команду.
Источники
•https://blackcaviar.games/obzor_igrovyh_dvizhkov
•https://blender.org/
•https://cadelta.ru/games/id661
•https://habr.com/ru/company/miip/blog/308286/
•https://pikabu.ru/story/plan_razrabotki_igryi_6328916
•https://unity.com/
•https://youtube.com/