Инди
Dmitriy Koptersky
9971

Разработка игр как хобби

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

Детство. Отрочество. Геймдев.

Перед рассказом о том, как я докатился до разработки компьютерных игр, думаю, стоит упомянуть, как эти самые игры вообще появились в моей жизни. Знакомство с миром видеоигр состоялось у меня в раннем детстве. Отец иногда брал меня на работу и давал поиграть на его компьютере. Сейчас уже трудно сказать, что это были за игры, но, благодаря некоторым ярким воспоминаниям и изучению старых игр, я пришёл к выводу, что среди них точно были Doom, Quake и Descent. Видимо, это и предопределило мою любовь к жанру FPS. Также мы с друзьями много играли в настолки собственного производства. Мы делали и постоянно улучшали настольные адаптации наших любимых компьютерных игр, таких как Red Alert, Diablo, Aliens vs Predator. Особенно успешным получился «порт» Empire Earth на тетрадный листочек, который я сделал, чтобы не скучать на уроках в школе. Игра так понравилась моим одноклассникам, что они даже делали моды с новыми юнитами, зданиями и механиками, от чего я был просто в шоке.

​Выглядела игра вот так

В то же время я начал осваивать редакторы карт для Age of Empires, Heroes of Might and Magic, Warcraft, Counter‑Strike и Operation Flashpoint. К сожалению, никаких проектов из того периода не сохранилось.

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

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

Учимся играя

Однажды ко мне зашёл друг. В то время он начал интересоваться программированием (сейчас он уже серьёзный специалист с многолетним опытом). Он установил мне Visual Studio и со словами: «Смотри, Диман, как тут всё просто», за пару минут сделал окошко программы с несколькими кнопками. К сожалению, скриншотов не сохранилось, но выглядело это примерно так:

"События", описываемые в этой программе, посвящены нашему однокласснику. Дисклеймер: ни я, ни мой друг-программист ничего против нашего одноклассника не имеем, он классный парень, просто по молодости и глупости ничего лучше не придумали. В общем, эта маленькая программа произвела на меня неизгладимое впечатление, ведь это была, по сути, компьютерная игра – то, что я мечтал сделать последние несколько лет. Однако и здесь было не обойтись без программирования, что представляло для меня большую проблему, поэтому с Visual Studio дальше дело не пошло, но оптимизма поприбавилось.

Знаковым в этой истории стал 2009 год, когда Epic Games выпустили UDK – бесплатную версию Unreal Engine 3, которая, по сути, ничем от него не отличалась. Тогда в это с трудом верилось: движок, на котором сделаны Unreal Tournament 3, Gears of War, Bioshock, Mass Effect и ещё куча дорогих и крутых игр, раздают бесплатно! Моей радости не было предела. Естественно, я его сразу же скачал и сел за изучение. Спустя несколько дней я захотел дать достойный ответ своему другу-погромисту и воссоздать его программу на UDK. Это не заняло много времени, и через день то же самое окошко с двумя кнопками было сделано на Unreal Engine 3. Вообще, это довольно странная идея – использовать топовый 3D-движок для создания игры в виде окошек интерфейса, поэтому я решил сделать нечто большее. Спустя несколько дней был готов небольшой уровень. На нём игрок должен был преследовать убегающего робота, прыгая по крышам зданий (в то время я сильно фанател от Mirror’s Edge), а затем, догнав его, победить в дуэли на базуках. Конечно же, остановиться на этом не получилось, и я подумал, что смогу осилить полноценную игру. Так было положено начало проекту Kill Syachin (название отражает связь с первоисточником и любовь к фильмам Квентина Тарантино).

Чтобы максимально обезличить врагов, я решил назвать их робоклонами. Они как бы роботы, но при этом ещё и клоны, ну вы понимаете...​

Разработка Kill Syachin заняла примерно 2 года, и никаких серьёзных трудностей в процессе не возникало, хотя мелких было навалом. Я смотрел все уроки по UDK, какие удавалось найти, и сразу же воплощал самые очевидные и простые идеи, которые приходили в голову. То есть, не было никакого плана: ни сценария, ни зарисовок уровней, ничего – весь контент игры создавался по ходу изучения движка. Хотя UDK был отлично заточен под FPS и даже имел некоторое количество встроенного контента, я был ограничен в действиях, так как серьёзные изменения в механику можно было внести, только используя UnrealScript – специальный язык программирования для UE3. В движке был язык для визуального скриптинга – Kismet, но он не давал полной свободы и по возможностям сильно уступал современной системе Blueprints из UE4. По этим причинам в плане механик Kill Syachin очень похожа на Unreal Tournament 3, только без мультиплеера, зато с полноценной сюжетной кампанией. Во время разработки многие друзья просили добавить мультиплеер, но куда там, мне бы сингл доделать! Контент для игры почти полностью взят из стандартного набора UDK, сам сделал только пару моделек, текстур, партиклов, ну и уровни, конечно.

Также я записал озвучку для всех персонажей, кроме одного, с которым мне помогла гугл-тётка. Озвучка главного героя в итоге никому не понравилась, а вот к таланту гугл-тётки у игроков претензий не возникло. Игра вышла в релиз в начале 2011 года и была довольно короткой – прохождение занимало примерно 30 минут. Получилось, что Kill Syachin послужил хорошим практическим проектом, в ходе которого я освоил базовый функционал UDK. Также я обнаружил, что процесс разработки игры приносит много удовольствия.

Много лет назад, во время разработки Raid on Bungeling Bay, Уилл Райт заметил, что ему интереснее создавать уровни для игры, чем потом играть в них. Это наблюдение послужило причиной создания SimCity.

Игра мечты 2.0

После завершения разработки Kill Syachin в апреле 2011 года я хотел отдохнуть несколько месяцев, но не удержался и начал делать новую игру примерно спустя 2−3 недели. Изначально я хотел сделать дополнение, освоив неиспользованный в оригинале контент и механики, например, летающую технику, но оно быстро переросло в полноценный сиквел. Основными идеями были:

  • лучше проработать сценарий;
  • дополнить и изменить механики оригинала, чтобы дистанцироваться от UT3 по геймплею;
  • добавить большое количество собственного контента (модели, текстуры, анимацию);
  • увеличить масштаб событий.

Сначала я решил придумать название, ведь это очень важно, как создание папки "Диплом" перед написанием его самого. Не хотелось давать игре банальное имя "Kill Syachin 2", хотя поначалу проект так и назывался. Быстро придумать хорошее название не получилось, но спустя несколько месяцев пришла идея словосочетания Double Kill Syachin, которое хорошо обыгрывает смысл происходящего в игре.

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

Эти ковры задавали тон всей комнате

Для того чтобы изменить базовые механики, добавить систему сохранений и сделать ещё некоторые мелочи, пришлось-таки разбираться с UnrealScript. Было очень сложно, но на помощь пришло сообщество: некоторые части кода я позаимствовал с форумов и фан-сайтов UDK-разработчиков. Естественно, всё пришлось подгонять под свой проект и дописывать некоторые вещи, однако это было значительно проще, чем писать весь код с нуля.

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

С созданием нового контента было чуть проще и веселее, так как я увлекался 3D-моделированием, однако всё равно возникали некоторые сложности, например со звуками и текстурами. Звуки я доставал, откуда только мог, в том числе и из других игр. Спасибо Valve, что хранили звуки в обычном wav-формате. С текстурами очень помог сайт textures.com. Также пришлось освоить базовые принципы создания фототекстур и работы в Photoshop. Для рисование текстур по объектам пригодилась программа 3D-Coat, хотя сейчас, по-моему, для подобных целей лучше использовать Substance Painter. Масштаб игры постоянно рос, и к концу разработки она стала в 2−3 раза больше первой части, а количество контента увеличилось раз в 100, в том числе и количество диалогов. На этот раз озвучку мне помогали записывать друзья: главного героя и его помощника я доверил им, а антагониста и его приспешников озвучил сам. Также к своей роли вернулась гугл-тётка (куда же без неё), хотя за прошедшие годы её голос немного изменился.

Несложно догадаться, что разработка игры сильно затянулась. В общей сложности она заняла 5 с лишним лет. Хотя, конечно, не всё это время работа велась активно, случались долгие перерывы, иногда до 2−3 месяцев. Из-за того, что я так долго работал над одним проектом, часто возникало желание всё бросить и больше к нему не возвращаться. Особенно неприятно было, когда случался непонятный баг, из-за которого ломались все Kismet-скрипты на всех уровнях, и приходилось их исправлять вручную, что занимало по несколько часов (и происходило такое не один раз). Часто возникало ощущение, что я взвалил на себя непосильную ношу и никогда не смогу доделать игру. Среди моих друзей этот проект уже превратился в шутку, и они часто подкалывали меня по поводу такой затянувшейся разработки.

Забавный факт: события игры разворачиваются в 3016 году. В квартире главного героя по изначальной задумке должны были висеть плакаты давно ожидаемых, но так и не вышедших к тому времени игр: Diablo 3, Duke Nukem Forever и другие. Однако, за время разработки почти все эти игры успели выйти или были близки к выходу на момент релиза Double Kill Syachin. В итоге в игре остались только плакаты Half-Life 3.

Тем не менее, в начале 2016 года я осознал, что игра уже почти готова. Оставалось доделать пару мелочей, немного отполировать, подбалансить и поправить несколько багов. Осознание близости завершения такого длительного проекта придало мне сил. Появилась идея провести небольшую рекламную кампанию среди друзей. Хотя, казалось бы, зачем, они же и так всё знают. Но эта мысль захватила мое воображение, поэтому я решил сделать трейлер игры, и где-то через пару месяцев он был готов. Было приятно наконец заняться чем-то новым, не связанным напрямую с работой в движке.

Тот самый трейлер

Затем я решил сделать коробочное издание. Тут очень пригодились коробки от кодов PS+ и пополнения кошелька PSN, жаль, что сейчас их продают только в виде карточек. Для физического издания нужна была обложка, и тут меня выручил опыт, полученный при работе с текстурами в Photoshop. Также я собирался напечатать диски с логотипом игры, но все фирмы, которые я нашёл, предлагали тираж от 50 дисков, а такие расходы я себе позволить не мог (проект и так уже стоил дорого, ведь распечатка двух обложек обошлась почти в 100 рублей!). Да и куда девать такую партию дисков – непонятно. Поэтому диски остались без печати. В итоге было сделано 2 коробочных копии, одну из которых я подарил другу на день рождения.

Релиз игры состоялся 20 августа 2016 года.

На недавнем Comic Con Ukraine, отвечая на вопрос "Какая часть разработки игры вам больше всего нравится?", Джон Ромеро перечислил почти
все этапы создания игр и подытожил фразой: "Gamedev is awesome". И я с ним абсолютно согласен.

Подводя итог, хочу сказать, что, несмотря на все трудности, разработка игр приносит немало удовольствия. Зачастую даже больше, чем сам процесс игры. Это очень необычное и приятное чувство, когда видишь, как расставленные тобой модельки и написанные скрипты собираются воедино и оживают по нажатию кнопки Play. Если у вас есть хоть малейшее желание создавать игры, то попробуйте! Сейчас для этого есть все условия: крутые бесплатные движки, куча бесплатного контента, море уроков по любому вопросу. Может быть, разработка станет для вас любимым хобби, как однажды стала для меня.

Хидео Кодзима уже не раз говорил, что хочет разрабатывать игры до конца своих дней. Не может же гений сказать глупость, ведь так?

P.S. Спасибо моим друзьям Косте и Дине за помощь в написании статьи. Спасибо Вам за прочтение. Также буду очень благодарен, если Вы поиграете в мою игру и оставите отзыв в комментариях. Пишите обо всём, что не понравится. А если вдруг что-то понравится, то об этом тоже напишите.

P.P.S. Игра абсолютно бесплатная. Никогда никому за неё не платите, даже мне, даже если буду очень просить.

#лонгрид #разработка

{ "author_name": "Dmitriy Koptersky", "author_type": "self", "tags": ["\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430","\u043b\u043e\u043d\u0433\u0440\u0438\u0434"], "comments": 48, "likes": 176, "favorites": 258, "is_advertisement": false, "subsite_label": "indie", "id": 79296, "is_wide": false, "is_ugc": true, "date": "Wed, 11 Dec 2019 20:19:49 +0300", "is_special": false }
Разработка
20 вакансий для разработчиков
От Gradient, Aloha Browser, «Союзмультфильма» и других компаний.
Объявление на DTF
0
48 комментариев
Популярные
По порядку
Написать комментарий...
19

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

Хвала тем, кто этим занимается на достойном уровне (разрабы двух стульев - идите на@%й)

Будь у меня больше времени и желания - тоже бы попробовал. Видимо уже не в этой жизни

Ответить
1

Почему не в это жизни-то? Тебе же не 70 и наверняка даже не 50. Всяя жизнь впереди.

Ответить
5

Комментарий удален по просьбе пользователя

Ответить
3

Делать сейчас игру без последующей продажи довольно глупая затея.

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

Ответить
1

Это еще хорошо, если скажут "четко", а то еще и обосрут рисунок. Хотя, в таком случае они задеражатся на рисунке подольше

Ответить
1

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

Ответить
0

Правильно! На пенсии будет, чем заняться )))

Ответить
0

 Им проще кудахтать о том, что им нравится/не нравится в той или иной игре.

Лучший стимул начать делать свою.

Ответить
11

Вторая часть не канон, вся романтика осталась в первом Сячине!

Ответить
6

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

Ответить

Комментарий удален

5

Как же я тебя понимаю. Хожу на курсы, нужно сделать VR/AR игру на unity в команде. Осталось две недели а мы не определились что это будет. Сидим за ПК и каждый предлагает своё: Добавить титанов из titanfall ,сделать beat saber, мультиплеерный шутер и накрутить графон. Всё под эйфорией, в итоге как художник по текстурам я сделал разные варианты пола-от земли с камнями до плитки. Так ещё и unity, как же я его ненавижу(не могу добиться нормального качества текстур в unity). Как же тяжело делать игру из команды в 14 человек, а в одиночку вообще боюсь представить.

Ответить
3

Так ещё и unity, как же я его ненавижу(не могу добиться нормального качества текстур в unity). 

Ради интереса погуглил, как там сейчас, в 2019, обстоят дела. Походу, проблема-то не в юнити.

https://www.youtube.com/watch?v=sMIi_Z33pkw

Ответить
1

Мне больше нравится интерфейс и работа в unreal, чем в unity. Про графику молчу, тут сугубо мои проблемы. Сборка quixel у меня в unity выглядит мягко говоря не очень. Должно выглядеть примерно как ниже, но получается мыльная версия.

Ответить
0

Ткнул в первое попавшееся видео по запросу unity quixel. По-моему, вполне хайрез (если слетит метка, то 2:47):
https://youtu.be/okUua_UjALs?t=167

Ответить
1

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

Ответить
0

Самое удручающее это продолжение. Я спросил человека "ну допустим, шутер в vr. Ты знаешь как это сделать?" В итоге я получаю ответ "не знаю, давай посмотрим туториал". Включаю туториал-"Сложно, лень, много букв, хочу питцы, давайте посмотрим YouTube" и так далее.

Ответить
2

Скачайте НТС сдк для юнити, там есть готовая сцена с руками и системой захвата предметов с телепортами - дальше должно быть легче.
ПС: https://valvesoftware.github.io/steamvr_unity_plugin/articles/Quickstart.html
ПС2: ленивых можно и потерять, 14 это многовато для обучения, 5-6 самое оно.

Ответить
1

Спасибо, с него правда и начинали, но кажется что-то поломалась. Есть все модели, но начальной сцены нет. Сейчас пока нет возможности всё перепроверить на пк, надо будет почитать steamVR и про unity в целом. Благодаря quixel есть огромная база фотограмметрии, но грамотно интегрировать в unity пока не получается. А так да, от ленивых надо избавляться, ничего не сделали, но зато напридумали огромное количество мусора. Ещё раз спасибо.

Ответить
2

Игры делать это вообще сложно. Я имею в виду хорошие игры. 
Автору - уважуха и сил.

Ответить
1

такие пилоты тебе не нужны))

Ответить
0

у вас точно команда из 14 серьёзных людей, а не 14 клоунов-школьников, которые не понимают зачем живут?

Ответить
0

По сути да, эти люди только закончили школу. 4 месяца назад они вообще ничего не знали. Я начал изучать 3d графику в ещё в 2014, но мощность моего пк тогда ничего особо не позволяла. Приходится во время учёбы работать фрилансером, чтобы апгреднуть пк до нормальных значений.

Ответить
0

А что за курсы? Хотел бы по фану на такие сходить

Ответить
4

После word skills у нас в Казани основали IT лицей Samsung. Не знаю, если такие в других городах. Я хожу на них уже 4 месяца, всё бесплатно. ПК нормальные, GTX 1060, intel core i78800k, 32гб оперативной памяти, ssd на терабайт и hdd на пять терабайтов.

Ответить
1

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

Ответить
0

Делай, удачи тебе. Нам нужно больше хороших разрабов в этом мире микротранзакций и пяти тысяч длс.

Ответить
0

да их миллион, хотя моделерам лучше на модели идти, а геймдизигнерам на дизигн. 

Ответить
0

Есть примеры хороших курсов в СПб?

Ответить
1

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

Ответить
0

Так смените движ, в чем проблема?

Ответить
0

могу вам предложить, не совсем игра, но на кошечках вполне)

Ответить
0

Попробуй взять все в свои руки. Это ведь не проект мечты, а грубо говоря курсовая и вам нужно подымать скилл. Сделайте что-то простое, можете хоть клон какой-то игры. Почему клон? Вам нужны референсы, без них и большого опыта/одного супер визионера вряд ли выйдет собрать хоть что-нибудь презентабельное.
К примеру можете сделать эдакий симулятор сортировщика на конвеере, где нужно кидать одни предметы в красную корзину, другую в зеленую (потом вам выдают автомат и вам нужно отстреливать зомби-коров). Чтобы было интересно, вы сортировщик-спрут. У вас по два щупальца и можете за раз к присоскам можно подцепить три предмета (на деле это полная херня, ага). Только у вас ДВЕ недели.

Вам нужно понять технические вопросы создания игр, а не заниматься супер-творчеством.

Если вам еще будут давать задание на 14 человек, предложил бы уделить 1-2 дня на принятие "Что вы делаете" короткими сессиями.

И да, удачи.

Ответить

Международный Денис

3

уважуха таким людям, и творческих успехов!

Ответить
3

Пост пока не дочитала. Кодзима-то сказал, но все-таки свернулся оперативно в кинчик. Bruh.

Ответить
2

Спасибо за интересную статью

Ответить
1

 хорошая статья было интересно почитать 

Ответить
1

оп, некрополис на обложке :3

Ответить
1

Из за сильной отдачи на любом оружии укачало после 20 минут игры

Ответить
0

Спасибо, учту)

Ответить
1

Молодец! Особенно, что не остановился, а доделал таки.
Мои дети не так давно подсели на scratch, чем меня порадовали безмерно. Надеюсь такое хобби поможет им в развитии всяких полезных в жизни навыков.

Ответить
0

Читал с интересом...но остался вопрос
Можешь написать правила своей игры на бумажке.Please man!

Ответить
1

Ох, блин, это было почти 15 лет назад. Повезло, что листочек сохранился (хотя и его пришлось немного обновить для фотки).
Помню, что там нужно было бросать кубик для определения возможных действий в каждом ходе (1-строительство дорог, 2-засеять поля/собрать урожай, 3-создание юнитов... как-то так). Целиком правила, к сожалению, не помню. Потому и написал совет, что нужно стараться сохранять свои работы с самого детства. Сорян😢

Ответить
1

Спасибо за ответ.Я прочел сообщение ниже,и если сделаешь ремастер то продавай его за деньги.Труд должен оплачиватся.Желаю удачи в продвижение!

Ответить
0

А сам ты по профессии кто если это хобби?

Ответить
1

Занимаюсь шейдингом и освещением в студии 3D-анимации.

Ответить
0

Вопрос один: будет ли расширенный ремастер?

Ответить
0

Что-то такое вполне может быть, но уже на UE4. И, конечно, на это потребуется время)

Ответить
0

Искренний лайк, братик. Клевай пост!

Ответить

Прямой эфир

{ "jsPath": "/static/build/dtf.ru/specials/DeliveryCheats/js/all.min.js?v=05.02.2020", "cssPath": "/static/build/dtf.ru/specials/DeliveryCheats/styles/all.min.css?v=05.02.2020", "fontsPath": "https://fonts.googleapis.com/css?family=Roboto+Mono:400,700,700i&subset=cyrillic" }