С чего начать разработку игры? Можно подходить к этому вопросу по-разному. Если у вас есть игровой опыт, тогда вам проще: у вас, вероятно, уже есть идеи в духе "в игре X что-то можно было бы сделать так, и это было бы лучше", или даже какая-то идея для своей игры. Если же идеи нет, то можно:
Вы можете взять какую-то фичу ("Было бы прикольно разработать...") или конкретный алгоритм (например, для поиска путей) и размышлять, в какой игре его можно было бы использовать. Например, алгоритм поиска пути, который позволяет персонажу пройти из точки A в точку B, может быть использован в игре, где много врагов. Возможно, жанр рогалик-буллет хелл (bullet hell) подойдет для этого.
Развитие игрового опыта:
Если же у вас нет игрового опыта, тогда его стоит наработать: самостоятельно поиграть. Ниже будут примеры игр разных жанров. Это не какой-то топ, но я постарался выбрать хороших представителей на любой вкус.
Начнем с жанра. Жанров - море. Всевозможных комбинаций - еще больше. Но есть такие, которые подразумевают огромное количество времени и средств на разработку - MMORPG, RPG, Immersive Sims и т.д. Все они требует большое количество материала - проработанных сценариев и мира, игровых ресурсов и многого другого. И сделать их в малом масштабе… Представляется крайне проблематичным.
Общий жанр, встречающийся в разных формах - визуальные новеллы, MMORPG, Point & Click, платформеры. В таких играх герой или команда отправляются на приключения или выполнение заданий. Особенно простыми в разработке являются игры типа Point & Click, где игроку нужно кликать мышью по объектам, которые могут активироваться или комбинироваться с другими предметами в инвентаре или мире игры. Состояния квестов удобно отслеживать через конечные автоматы.
Игры в духе "беги и прыгай" по платформам. Вы прыгаете, решаете головоломки, сражаетесь с врагами. Здесь активно используются алгоритмы процедурной генерации, поиск путей, ИИ и т.д.
Не совсем жанр, скорее, набор идей, которые могут встречаться в любом жанре: генерируемые случайным образом уровни (процедурная генерация), необратимость смерти персонажа - игрок не может загрузить игру и должен начать её заново и/или теряет все свои вещи. Тут же пригодится случайность для лута и наград.
Буквально, "защита крепости". У вас есть что-то, что нужно защищать, инструменты для защиты и… вы защищаетесь. От чего-то. Враги идут по маршруту (поиск путей), башни стреляют по ближайшим (пространственные структуры).
Шутеры, "стрелялки" с видом сверху. Есть герой, он может стрелять, его атакуют. Все остальное - сюжет, персонажи - так, дополнения. Ключевые алгоритмы: коллизии, ИИ врагов, частицы для эффектов.
Два и более персонажа сражаются друг с другом, объединяя удары, различные умения, комбинируя их. Комбо-система - это, по сути, конечный автомат, а анимации, их точность, взаимодействие с другими системами, такими как коллизии, здесь решает всё.
Шутер ("стрелялка") от первого лица. Это не обязательно означает, что главный герой держит в руках какое-то реальное/футуристичное стреляющее оружие. Он вполне может использовать магию. Поскольку игры у нас 2D, то подразумевается псевдо-3D, когда мы имитируем трехмерность в 2D. Ядро - raycasting и камера.
Снова не совсем жанр, а поджанр различных приключенческих игр (например, платформеров), для которого характерен открытый игровой мир, доступный для исследования. Причем многие регионы заблокированы изначально и открываются с развитием геймплея. Пригодятся конечные автоматы для прогресса, поиск путей для врагов и камера для больших карт.
Поджанр симуляторов, выделенный под управление/постройку различных комплексных сооружений (городов, стран, планет) и/или сообществ (организаций, компаний). Грубо говоря - симулятор управляющего. Здесь к месту пространственные структуры для размещения объектов и деревья поведений для NPC.
О каких жанрах, поджанрах и элементах можно подумать: RTS, Shoot`em up, Bullet Hell, мультиплеер, пошаговые варианты жанров.
Конечно, ни одна игра не является чистейшим представителем одного жанра. Элементарный платформер, где надо просто прыгать и бегать будет довольно скучным (как по геймплею, так и по реализации), поэтому к нему добавляется сюжет (элементы квестов, RPG), какой-то прогресс, прокачка (RPG). Поэтому и вы, выбрав жанр, подумайте над тем, какие элементы других жанров вы хотели бы у себя видеть. Платформер-метроидвания с элементами симулятора постройки городов? Почему бы и нет.
И да. Хотите что-то крупное в духе MMORPG? Делайте. Пусть и неподъемная вещь, зато будет интересно. Да и вдруг, во что-то да выльется. Какой-то жанр, не упомянутый здесь? Пожалуйста. Ваш выбор.
Здесь можно посмотреть некоторые примеры игровых механик. Многие довольно просты с точки зрения алгоритмов и архитектуры, но ведь можно комбинировать их:
| Шаг | Раздел |
|---|---|
| Оформить идею в план | Техническое задание |
| Продумать структуру кода | Архитектура |
| Подобрать нужные алгоритмы | Алгоритмы |