Gamedev Фёдор Загумённов
1 540

Краткая история одного разработчика

Всем привет!

В закладки
Аудио

Хочу рассказать о своем опыте разработки инди-игр, о своих результатах и многом другом.

Стать разработчиком я захотел еще в 8 лет (тогда я конечно не знал этого слова). Естественно, в этом возрасте игры меня приводили в восторг. Особенно я любил различные симуляторы поездов, позже — игры от первого лица в целом.

2002-2006: Начало пути

Примерно в эти годы я понял, что моя задача неразрешима без навыков написания программ — их развитию я и посвятил несколько следующих лет моей жизни. В 10 я выпросил у родителей книжку «DirectX 9 - Продвинутая анимация» надеясь, что прочитав её тут же начну делать игры. В это же время вышла Half Life 2, которая еще сыграет большую роль в моей истории.

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

2007-2009: Первое знакомство с Source

После того как я сделал несколько простых модификаций к различным играм, и поиграл в Half Life 2, я решил разобраться с модами к Source. Hammer Editor — поначалу показавшийся мне сложным, позволил сделать первые трёхмерные карты. Вскоре мной и несколькими друзьями был придуман сюжет, для тогда ещё модификации The Long Way:

«На некую организацию падает бомба, и все превращаются в зомби. Главный герой перемещается в параллельную вселенную, где находит огромные лаборатории, и главного монстра, из-за которого все и стали превращаться в зомби. Убивает его, и возвращается обратно».

Вскоре проект был реализован, представляя собой треш-игру. Несмотря на низкое качество его было очень интересно делать.

Позже я решил cделать продолжение игры — улучшил качество детализации, проработал сюжет и собирался сделать лучший проект, но осознал, что модификации, по сути, отдаляют меня от идеи сделать собственную игру.

2009-2010: Новый движок

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

Кроме работы с разными продуктами по типу Dark Basic, я с такого рода библиотеками раньше не сталкивался — даже С++ изучал уже по ходу дела. Тестовые программы, которые я писал, назывались словом «Run» с номером. Так получилось, что я скопировал третью папку, и исполняемый файл получил название run3.exe, что и дало название будущему продукту — игровому движку Run3.

Через некоторое время я понял, что продолжать делать что-либо на Source бессмысленно. И почти сразу решил, что основным проектом для Run3 будет ремейк The Long Way под HL2. Были полностью переделаны сюжет и идея игры. Удалось даже набрать нескольких людей себе в «команду».

К сожалению, возможности движка тогда были убогими, а контент для игры делал в основном я сам, поэтому получалось не очень:

2011: Новые знакомства

Чуть позже в команду пришел человек с ником Bad Sid — настоящий профессионал как в игровом моделировании, так и в дизайне в целом. Он был старше меня и в некоторым смысле взял на себя большую часть проекта. Он сказал, что качество оставляет желать лучшего, и для привлечения людей к игре нужно сделать небольшую демку.

В итоге демка была создана примерно за 7 месяцев и представляла собой самую первую демонстрацию как The Long Way, так и Run3.

Одновременно с этим были выпущены несколько концепт-артов, и я сразу после релиза первой демо-версии начал собирать вторую — более красивую, но короткую. У Bad Sid появились другие дела, а через некоторое время вышла вторая демо-версия игры.

2012-2013: Небольшая пауза

Сразу после этого в разработке основной игры была взята пауза на 1 год. За этот год я доработал движок, и выпустил небольшую игру под названием Infinitym Gyrationis. Разработка велась с целью провести отладку новых возможностей движка —поездов, системы катсцен, системы частиц, определить логику переходов между уровнями.

В конце 2013 года я начал делать карты основной игры — The Long Way. Сюжет и идея почти дошли в неизменном ключе. Правда, поменялось само настроение игры. Из некой пародии и shoot'em'up я решил сделать что то вроде игры-путешествия.

Из основного инструмента у меня был Hammer, как и раньше. С помощью специальных утилит я научился переводить карты HL2 в свой движок. Далее карты обрабатывались через Ogitor и мой собственный редактор.

Так, карта за картой, игра через год обрела некий облик.

2015-2017: 8 лет в топку

Про The Long Way можно рассказывать очень долго, но я лишь скажу, что это был очень долгий и тяжелый мега-проект, который по своему объёму претендовал на серьёзную игру. Я делал его в одиночку, под конец было очень тяжело устранять все недостатки игры, и сделать это в полной мере не удалось. Несмотря на это в движке присутствовали очень ценные возможности, такие как лицевая анимация, а в саму игру был заложен какой-никакой сюжет.

Игра получила некоторый "фидбек", но гораздо меньший, чем хотелось бы. Проект, по сути, был в работе 8 лет — полноценный релиз состоялся в 2017 году. Можно назвать этот опыт в некотором роде неудачным, хотя сюжет этой игры мне бы хотелось развивать и дальше.

2017-2018: Попробуем нечто другое

Сразу после выпуска The Long Way, я решил выпустить свой игровой движок Run3 в открытый доступ по лицензии MIT, что и сделал, выложив его на GitHub с небольшой документацией.

Затем я сел за изучение движка Unity. После самописного и подстроенного под себя движка было немного тяжело, удивляло отсутствие встроенных возможностей типа дверей, поездов, кнопок, и даже триггеров. Но вскоре все это компенсировалось доступными ассетами с Unity Asset Store. Как и ранее, я ставил себе конкретные цели в использовании движка, а не бесцельно изучал его. На тот момент меня очень заинтересовала игра Darkwood, и я решил сделать небольшую демку с ремейком этой игры в 3D-окружении от первого лица.

Разработка была лёгкой, многое было доступно для скачивания уже готовым, скрипты в Unity организованы очень продуманно (мое личное мнение), так как они мгновенно преобразуются в игровые объекты, которые можно настраивать прямо в редакторе. Таким образом можно организовывать стандартизацию игровой логики, иметь порядок во внутриигровых объектах и предсказуемость исполнения логики — именно это я долгое время реализовывал в Run3. Демка Darkwood 3D была выложена в начале июля 2018.

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

2018-2019: Сегодняшний день

Имея цель освоить не только Unity, но и Unreal Engine, я приступил к реализации своей новой идеи.

Сюжет новой игры «Red Button» возник у меня в течение нескольких часов, и почти сразу я написал полную текстовую версию, разослав друзьям и знакомым. Сюжет строился вокруг красной кнопки наших действий, после которой нет пути назад. Все до нажатия — это прошлое, и вернутся туда нельзя.

Примерно в сентябре сюжет был полностью сформулирован, был написан дизайн-документ и я начал создавать игру на Unreal Engine. Этот движок оказался несколько более сложным, а ещё менее приятным в использовании, чем Unity. Сам редактор UE4 имеет большое количество багов, доступных бесплатных ассетов очень мало, скриптинг реализуется визуальным способом... Впрочем, все эти недостатки перекрывались отличной графикой, которую он выдавал "из коробки", и обилием возможностей. К сожалению, стандартизация игровой логики на UE4 производится с трудом, и в таких случаях чаще всего приходится отказываться от чужих ассетов.

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

Ссылки по теме

Материал подготовлен для Telegram канала Arena+

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

Написать
{ "author_name": "Фёдор Загумённов", "author_type": "self", "tags": [], "comments": 11, "likes": 35, "favorites": 52, "is_advertisement": false, "subsite_label": "gamedev", "id": 45739, "is_wide": false, "is_ugc": true, "date": "Mon, 08 Apr 2019 19:11:57 +0300" }
{ "id": 45739, "author_id": 127520, "diff_limit": 1000, "urls": {"diff":"\/comments\/45739\/get","add":"\/comments\/45739\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/45739"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 64954, "last_count_and_date": null }

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

Популярные

По порядку

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

Этот движок оказался несколько более сложным, а ещё менее приятным в использовании, чем Unity. Сам редактор UE4 имеет большое количество багов, доступных бесплатных ассетов очень мало, скриптинг реализуется визуальным способом...

Перефразируем.
"я в анриле недавно и не умею им пользоваться, поэтому у меня все крашится и не работает".

доступных бесплатных ассетов очень мало

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

Ответить
0

У меня в анриле 125 ассетов. Из них покупных - 4.

Ответить
1

Ассетов и вправду много (у меня в коллекции ровно 100 бесплатных ассетов и 3 покупных, некоторые даже пригодились :) Есть большая проблема - нет региональных цен, слишком нищий для ассетов, некоторые стоят как 3 зарплаты в регионе, нужный мне персонаж с фулл паками стоит как весь мой комп на рязани и веге XD

Ответить
3

Молодец, что не опускаешь руки, несмотря на неудачи
Рано или поздно это даст свои плоды

Ответить
0

Или не даст.

Ответить
1

Свой движок - это сильно, конечно. Рад что ты одумался и в итоге пришел к UE4. Я работал до этого с Source SDK и CryEngine, но анрил просто сказка по сравнению с ними.

Ответить
0

Еслиб на гдру делился своими наработками, толку от движкописания было б больше)

Ответить
0

Супер-статья! Как я понял, автор всю жизнь этим занимался, но его ежедневная работа с этим не была связана ?

Ответить
0

Да, это мое хобби. По профессии инженер-электронщик)

Ответить
0

Вот это уважение. Уже 4 года мучаюсь желанием перейти в какую то художественную-игровую тему из веб-дизайна, которым 10 лет занимаюсь. Есть кое какие наработки, куча знаний, пройденных курсов, но по многим причинам этого не хочу. Нравится концепт-арт и метт-пейнт, а точнее очень хочется работать с окружением. Но себя лично в офисе в этой сфере - не вижу. Наверное твоя статья вдохновила меня на то, что бы заниматься этим в свободное время, для себя в удовольствие и для своих проектов.

Ответить
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" } } } ]
10 самых лучших блюд
(согласно инстаграму Хидео Кодзимы)
Подписаться на push-уведомления