Инди Vasily Milov
1 990

Мой путь в геймдизайн через горнило моддинга

Первый акт: скука и любопытство

В закладки

Летом 2010-го стояла жарища, горели торфяники, густой дым заволок пространства. Я, как и многие, спасался на даче. И сторонний наблюдатель сильно удивился бы, увидев как в один из дней я спрыгнул из гамака под яблоней, купил билет на электричку и вернулся в город, напоминавший коптильню. Ночью я приехал в торговый центр и с усилием вбурился в огромную толпу разгорячённых людей, некоторые из которых были наряжены в чудовищ. Через час дружных воплей и душной стиснутости, я получил искомое: диск только что вышедшего Старкрафта 2.

При всей моей любви к стратегиям, я быстро наигрался в СК2 — механика игры не изменилась принципиально со времён первого варкрафта. Но с приятным удивлением я открыл для себя созданные игроками моды. Каждый из них по сути был отдельной мультиплерной игрой со своей уникальной механикой. Все же знают пример с Дотой, которая возникла как мод в Warcraft 3 и затем стала самостоятельной популярной игрой.

И вот, я с наслаждением погрузился в увлекательное многообразие модов. Азарта и удовольствия от них было не в пример больше, чем от самого старкрафта. На сервере игры сортировались по популярности: во что больше народу играет, то и выше в списке. Наигравшись в самые популярные, я проматывал список ниже, желая узнать, какие ещё игровые механики придумали авторы модов. Там я обнаружил, что кто-то сделал в виде мода игру Command and Conquer, а ещё кто-то — Age of Empires. Стало интересно: а не превратили ли в мод старую игру Z? Был уверен, что наверняка, классная игра была. Но нет, её не было.

"А что если сделать её самому?" — подумал я. Открыл редактор модов и охренел от его сложности. А руководств почти не было. Но любопытство и упорство сделали своё дело, через месяц залил готовую игру на сервер.

О это чувство, когда сделаешь игру и с кем-то в неё играешь! Стыд и восторг. Гениальность и баги.

Штурм базы

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

Вышло так, что несмотря на неплохую механику, карта была интересна на 2-3 раза, и потом люди уходили. Хвалили идею и исполнение, но шли играть в другие игры. Я ревниво смотрел, как люди раз за разом возвращаются в свои любимые карты, а моя малышка погружается в пучину забвения. Но я уже познал сладость признания! Мне хотелось славы, вершин, чтоб люди наперебой кричали, до чего хороша моя игра. И главное, я понял, что овладел великолепным инструментом, и теперь могу сделать любую игру, какую захочу.

Второй акт: одержимость

Осознав потенциал могущества я, мрачно расхохотавшись, задумал масштабное и беспроигрышное: я решил реализовать в виде карты заслуженную, всем знакомую и любимую игру — Heroes of Might and Magic. Решил сделать всё: замки со строительством и апгрейдами, наём войск, опыт и скилы героев, заклинания, монстров, сокровища и артефакты, шахты - вообще всю механику оригинала. Но в реальном времени! Чтобы если два героя встречаются, их огромные армии нападали друг на друга в виде оравы юнитов. Во мне бурлили амбиции, я хотел вжарить как следует, чтоб все наконец-то поняли, в чью игру должны играть.

Звучало дико: как реализовать одну игру на движке другой, совсем непохожей? Но я знал, что это возможно, умел программировать, и верил, что преодолею любые технические трудности. В результате, через несколько месяцев появился прототип для тестов, в котором действительно были все до единой механики героев. И ещё через месяц тестов я залил финальную версию на сервер и приготовился что толпа игроков, радостно улюлюкая, понесёт меня на руках.

При встрече героя с врагом, на карте появлялась вся его армия

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

Так что поболтавшись в топ 10 пару дней, карта начала закатываться за горизонт видимости. А рейтинг популярности суров: либо карта на виду и в неё все играют, либо она ниже первой странцы списка, и людям не видна, так что спонтанный поток любопытных кликов ослабевает.

Вот так. Снова мне не удалось сделать офигительную игру, но желание никуда не делось.

Ещё более претенциозный замысел воссиял пред мои воображением. На этот раз я решил воссоздать на движке старкрафта ни много ни мало - Цивилизацию. С полным воспроизведением механик и снова в реальном времени. Клеточки ресурсов, рабочие и мелиорация, города и постройка зданий, коррупция, исследования, дерево технологий, эволюция армии от дикаря с дубиной до лазерного танка, границы, территории и ресурсы. Это была масштабная задача, это был вызов. Но ведь решение сложных творческих задач — одна из интереснейших составляющих жизни, не правда ли?

Не желая и не ведая отдыха, я за несколько месяцев сделал Цивилизацию на движке старкрафта.

21-й век

Что было дальше, можете догадаться сами. Люди приходят в батлнет чтоб получить быстрый адреналин, а не час строить города и захватывать территории. Кому-то это было интересно, в мою карту играли, было несколько горячих поклонников, но большинство игроков поиграв пару минут выходили и не возвращались.

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

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

Пропущу поиск идей, дизайн и планирование и разработку, там всё как обычно.

Предположу, что читателю уже понятна логика этого повествования. Да, новая игра тоже провалилась. Я намешал всего что мне пришло в голову, создал эклектичный гибрид жанров tower defense, action и RPG. Это даже могло сработать, если бы я не допустил грубую ошибку в геймплейной механике. В каждой из двух команд-соперников было по три игрока, но волна монстров для каждой команды была общей, и в созданных условиях выигрывала стратегия, когда один игрок в команде строит башни, а два других на подхвате. Игроки одной команды начинали конкурировать друг с другом за роль главного побивателя, и расстраивались, когда проигрывали в этой внутрикомандной борьбе. А от сотрудничества в первую очередь должен выигрывать игрок, и только во вторую - команда.

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

Третий акт: осмысленность

Не помню, сколько времени прошло прежде, чем я взялся за новую карту. Но она стала для меня особенной. Впервые я делал её не из желания сделать популярный мод, а из любви к искусству и из желания прыгнуть выше головы. Я решил воссоздать на движке ск2 другую стратегическую игру (Rise of Legends), которую мало кто знал из-за провалившейся маркетинговой компании её издателя. Но игра это была роскошная, для сражений по сети с другими людьми она была очень хороша, потому что разработчики значительно развили жанр RTS, добавив кучу уникальных механик. Но эта прекрасная игра умерла: в ней были баги, которые никто не исправлял, игроков становилось всё меньше, и в какой-то момент сервер отключили.

Так что я решил сделать эту игру в виде мода, перенеся всё в точности, вплоть до баланса, чтобы работали те же стратегии, чтобы максимально приблизить ощущения от игры к оригиналу. И это было дейтвительно сложно. Если в предыдущих римейках я менял механики оригинала ради совместимости с двжком, то теперь я должен был много программировать, чтобы заставить перпендикулярный движок воспроизводить нетривиальные механики. Работа была значитальная, каждый день приходилось изобретать какие-то хитрости, и я знал, что карта не будет популярной, но самозабвенно трудился, получая удовольствие от сложности задуманного и неумолимого продвижения вперёд сквозь эти тернии.

Отдельная гордость - замоделенный Land Leviathan

В этот раз получилось как хотел. Мультиплеерные сражения получились остры и напряжённы, все тактики оригинала срабатывали, у игроков был выбор стратегий и манёвров. У карты была всё та же проблема, новые игроки с трудом разбирались в том, как играть, и многие бросали. Но всё же у неё появилось несколько поклонников, с которыми мы в неё азартно играли.

Утолив ностальгию и жажду сложного, я снова захотел сделать популярную карту, и решил пойти по довольно очевидному пути: взял за основу одну из популярных карт, в которую я много играл и которую хорошо понимал. Понимал, чем она цепляет, и видел её недостатки. Потратил месяц на поиск новых идей и переработку механики, и получилась по сути новая игра — сложная, с большим количеством стратегий. Но сложна она оказалась и для разработки. Впрочем, после подвига разработки предыдущей карты ничего не могло быть достаточно сложно, чтобы меня остановить. Хотя, сложность этой новой карты была не только в программировании, но и в необходимости кропотливого создания огромного количества юнитов с уникальными способностями, поиска для них 3д-моделей, подбора для звуков, иконок и визуальных эффектов. Разработка растянулась больше, чем на год - это был мой рекорд на тот момент.

А когда я загрузил готовую карту на сервер, за несколько часов она угодила в топ 5 по популярности и уже несеолько лет его не покидает.

Сражение с колдунами и ввызываемыми ими скорпионами

Игра удалась. Я видел людей с четырьмя тысячами сыгранных игр, при том, что одна игра может длиться до часа. Я сам сыграл больше тысячи игр, и хотя у меня был формальный повод это делать (занимался балансом), но после каждой игры мне страстно хотелось сыграть новую, она была действительно очень кайфовая.

Эпилог

Возможность загружать игру на сервер и мгновенно получать обратную связь от игроков помогла мне расстаться с иллюзиями и начать делать игры осмысленно. Но главной для меня проблемой моддинга в ск2 было не отсутствие опыта дизайна игр, а ограничения редактора, который был слишком высокоуровневым инструментом, чтобы воплощать все мои идеи. Кроме основных карт я делал прототипы, но эксперименты наталкивались на отсутствие необходимого функционала. Так что решение назревало давно. И после успеха новой карты я решил, что с гейм-дизайнерским опытом у меня порядок, перешёл на Юнити и стал делать standalone-игры. И это оказалось восхитительно: выйти за пределы технических ограничений, получив возможность напрограммировать любой нужный функционал. Ух, я разошёлся. Например, одну из недавних игр я сделал в виде физической симуляции, так что всё в ней было реалистично разрушаемо.

В Юнити стало можно всё

Если эту статью хорошенько полайкают, как-нибудь напишу о своём пути в инди-геймдеве после перехода на Юнити.

Материал опубликован пользователем. Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Написать
{ "author_name": "Vasily Milov", "author_type": "self", "tags": [], "comments": 13, "likes": 97, "favorites": 21, "is_advertisement": false, "subsite_label": "indie", "id": 20287, "is_wide": false, "is_ugc": true, "date": "Mon, 28 May 2018 16:52:40 +0300" }
{ "id": 20287, "author_id": 16905, "diff_limit": 1000, "urls": {"diff":"\/comments\/20287\/get","add":"\/comments\/20287\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/20287"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 64960, "possessions": [] }

13 комментариев 13 комм.

Популярные

По порядку

Написать комментарий...
5

Читать было интересно!
Но в следующей вашей статье хотелось бы видеть больше конкретики: как вы выстраивали рабочий процесс, какие именно хитрости вы использовали, как просчитывали механики и т.д.

Ответить
1

Хорошо написано, ни на секунду не заскучал при прочтении

Ответить
0

То-то скрин знакомый, а это автор игры на GPU.

Интересный переход от мододеланья в дебри HLSL (:

Ответить

0

Эх. Были времена WorldEditor'а в третьем варкрафте. Столько бессонных ночей. Но в итоге все забросил, до конца ни одну карту не довел. Знакомство с редактором Starcraft 2 началось с управления персонажем через WASD и на этом закончилось.

Ответить
0

В War3 была роскошная modding-сцена. Жаль, что я это не застал.

Ответить
0

Она куда-то пропала?

Ответить
0

Нет, но уже не популярная.

Ответить
0

Круто.

Ответить
0

Я слышал о редакторе Старкрафта 2, но, не запустив игру ни разу, не знал, что за чудеса делают на его движке. Сам много чего делал в редакторе Варкрафта 3.

Ответить
0

Какое название-то у последнего мода? Можно ли видео процесса увидеть?

Ответить
0

Горнило?

Ответить
0

о, желейные танчики, на хабре же было что-то про них

Ответить
0

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjog" } } }, { "id": 10, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-250597-0", "render_to": "inpage_VI-250597-0-1134314964", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=clmf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudo", "p2": "ftjf" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvc" } } } ]
В Steam появилась функция продажи
подержанных цифровых копий игр
Подписаться на push-уведомления