При работе в компании есть сотрудник, ответственный за менеджмент проекта, но, если работать в одиночку, этим придется заниматься самостоятельно. Это необычайно сложно, ведь придется перенести все задачи из документации в отдельный сервис и поддерживать его в актуальном состоянии. Но в то же время это и необычайно важно – только так есть возможность объективно понимать, насколько проект готов и сколько еще осталось сделать. При этом выполнение маленьких задач позволяет чаще радоваться пусть и небольшим, но достижениям, ведь работа, не приносящая радости, может быстро надоесть.
Вопрос движка – самый сложный из всех в индустрии цифровых развлечений. Кетчуп или майонез? Кошки или собаки? Unity 3D или Unreal Engine?
Фаворитами гонки игровых движков на сегодняшний день являются Unity 3D и Unreal Engine. Традиционно считается, что первый выбирают инди-разработчики и те, кто собирается делать игру для мобильных устройств. Второй же считается выбором художников и тех, кто собирается делать игру для PC и консолей. Хотя и на Unity 3D делают игры для PC и консолей, и Unreal Engine используют инди-разработчики.
В современном мире огромное множество движков. Некоторые из них имеют специфические ограничения. Какие-то движки изначально стоят баснословных денег, другие предназначены для создания только 2D-игр. Есть Game Maker, Godot и даже RPG Maker, предназначенный исключительно для создания классических 2D ролевых игр. Многие компании в итоге приходят к разработке собственных движков, которые потом становятся открыто доступны другим разработчикам, как Defold, созданный компанией King, прославившейся своими играми в жанре match-3. Но, конечно же, на этом движке можно делать не только match-3-игры.
При выборе движка нужно прежде всего исходить из наших знаний и навыков: опыт в программировании, дизайне уровней, скриптовании, создании собственных инструментов под движок и т. п. Изучение нового движка и получение новых навыков требуют много времени, которое можно потратить на создание новой игры. Не говоря уже о том, что для выпуска игры может понадобиться довольно глубокое знание возможностей движка, для чего необходим многолетний опыт работы с ним.
Если же у нас вообще нет опыта работы с каким-либо игровым движком, нет опыта в программировании или дизайне уровней, то, наверное, лучше всего будет уделить время самым популярным движкам и пройти пару уроков для начинающих на учебных порталах, чтобы в итоге выбрать тот, который покажется наиболее удобным, ведь нам в этом движке еще работать и работать.
Для написания кода программ так же, как и для создания документации, необходима специальная программа – среда разработки (Integrated Development Environment, IDE). Тут выбор не такой большой, как среди других сервисов, но он может серьезно повлиять на работоспособность, так как каждая среда разработки имеет особенности, свой набор подсказок, автогенерацию программного кода, набор горячих клавиш.
• Visual Studio – среда разработки от компании Microsoft, поддерживающая работу со всеми распространенными языками программирования. Существует бесплатная версия, имеющая некоторые ограничения.
• VS Code – тоже среда разработки от компании Microsoft, имеющая широкую поддержку дополнений, позволяющих работать со множеством языков программирования для множества игровых движков. VS Code бесплатный.
• Программы от компании Jet Brains имеют отдельные IDE для разных языков программирования, а также надстройки для Visual Studio. Не имеют бесплатных версий.
• Xcode – среда разработки компании Apple, которая предоставляет инструменты для создания приложений для устройств и операционных систем компании Apple. Она платная и запускается только на компьютерах с OS X.
Microsoft – это одна из самых влиятельных мировых IT-компаний и один из лидеров по созданию программного обеспечения, компьютеров и аксессуаров к ним, консолей, мобильных телефонов, разработке и изданию видеоигр. Одно из главных ее достижений – создание операционной системы Windows. Компания основана в 1975 году Биллом Гейтсом и Полом Алленом, когда они занялись разработкой интерпретатора языка BASIC для компьютера Altair 8800. Это был лишь старт, а триумфальное шествие началось с сотрудничества с IBM в 1981 году. В 1983 году Аллен покинул компанию. В то же время была представлена компьютерная мышь Microsoft Mouse для работы с текстовым редактором Word. В 1984 году появился один из знаковых продуктов – интерфейс Windows, оболочка для MS-DOS, а уже к 1989 году был укомплектован пакет приложений программ MS Office, включающий, помимо Word, еще и Excel, и PowerPoint. Теперь без Windows сложно представить себе работу на компьютере. Там есть и встроенные казуальные игры: «Солитер», «Косынка», «Паук», «Червы», «Сапер», «Свободная ячейка», «Пинбол» и другие.
В игровой индустрии Microsoft в данный момент занимает одну из лидирующих позиций. Компания создала семейство игровых приставок Xbox, владеет собственной студией разработки Microsoft Game Studio, а также издает многочисленные эксклюзивы для своих платформ. В 2014 году корпорация поглотила компанию Mojang, разработчика Minecraft, в 2018 году купила сервис, облегчающий разработку многопользовательских игр PlayFab, а также сервис для хранения исходного кода и совместной разработки GitHub.
Число игр, разработанных и изданных Microsoft, огромно, вот только некоторые знаменитые тайтлы: серии игр Age of Empires, Close Combat, Microsoft Flight Simulator, Monster Truck Madness, Project Gotham Racing, Fable, MechAssault, Forza Motorsport, Jade Empire, Alan Wake, Ori, ReCore, Quantum Break, Halo и другие.
Как и в других областях, для программистов необычайно важны удобство и привычки. Но в отличие от других инструментов, инструменты программистов практически не зависят ни от языка программирования, ни от игрового движка, для которого они будут писать код.
Для создания и проверки математических моделей можно использовать два типа инструментов: таблицы и программы.
• Табличные редакторы – это привычные нам Excel (входящий в комплект MS Office) и Google Sheets (входящий в комплект Google Drive). В основе табличных редакторов находится система формул, которая позволяет генерировать, масштабировать и распределять данные в удобном для работы виде.
• Программы – это либо разработанные специально для нашей игры алгоритмы, позволяющие проверить или создать математическую модель, либо сервисы, позволяющие создавать алгоритмы управления ресурсами: например, сервис Machinations.io.
Собственных инструментов для дизайна интерфейсов у разработчиков игр нет, но можно использовать инструменты, созданные для дизайнеров мобильных приложений и веб-сайтов.
Эти инструменты позволяют не только создать макет интерфейса приложения или игры, но и собрать небольшое демо того, как этот интерфейс будет работать. Это демо можно использовать как интерактивную подсказку для художников и программистов, а также для исследования пользовательского опыта еще до того, как программисты приступят к реализации интерфейсов.
• Среди отдельных программ можно отметить Adobe XD, Axure и Balsamiq.
• Из онлайн-сервисов можно обратить внимание на сервисы Figma и Sketch. Одним из главных преимуществ онлайн-сервисов является возможность совместной работы над макетами.
Среди инструментов для работы с двухмерной графикой есть безоговорочный лидер – компания Adobe с ее знаменитыми программами Photoshop (для растровой, пиксельной графики) и Illustrator (для векторной графики). Но существует довольно много альтернатив, в том числе бесплатных: например, Gimp. Очень популярны также Paint Tool Sai, Krita и Clip Studio Paint.
Для создания анимации в 2D с использованием методики скелетной анимации можно использовать программу Spine.
Для работы с трехмерной графикой есть инструменты универсальные и предназначенные для работы над отдельными аспектами 3D-графики.
• Универсальные инструменты – это программы компании Autodesk: Maya, 3ds Max, а также Cinema 4D, бесплатный Blender и другие. Эти программы позволяют заниматься и созданием моделей, и текстурированием, и анимированием.
• Для создания моделей и текстурирования существуют отдельные довольно популярные инструменты: Substance Painter 3D, Substance Designer, Marvelous Designer, 3D Coat, ZBrush и другие.
• Некоторые программы для работы с 3D-графикой имеют довольно глубокую интеграцию с популярными игровыми движками: например, Houdini.
• Для создания анимаций, основанных на реалистичной физике, можно использовать программу Cascadeur.
Контроль версий – необычайно важный инструмент, он обеспечивает безопасность и сохранность наших наработок. Но основная цель систем контроля версий – облегчение одновременной работы над проектом большому количеству разработчиков. Главной сложностью при работе с системами контроля версий является объединение наработок различных специалистов в единый продукт.
Самой распространенной системой контроля версий на сегодня является Git. Можно запустить Git на собственном сервере, например в офисе, либо воспользоваться услугами других сервисов типа уже упомянутых GitHub, GitLab, Azure и BitBucket (который имеет прямую интеграцию с уже упомянутыми Confluence и Jira). Существуют и другие системы контроля версий, например Plastic SCM, который, в свою очередь, имеет прямую интеграцию с движком Unity 3D и отличается от Git тем, что позволяет работать в том числе с тяжелыми файлами графических и звуковых ассетов.