Всем привет.
Учитывая просьбы многих людей, которые мне писали и обстоятельства в мире(пандемия, карантин) хочу немного рассказать о том, как научиться создавать игры. Ведь сейчас многие сидят в изоляции, а как же провести это время с пользой для себя? Правильно, научиться чему нибудь новому и интересному. И возможно, когда изоляция и пандемия закончится, то вы уже будете двигаться в другом жизненном направлении. В направлении разработчика компьютерных игр.
КРАТКО ОБО МНЕ:
Скажу свое мнение - делать игры это действительно интересно. Я начинал делать игры не думая о прибыли, мной двигало лишь вдохновение создать что-то свое. В дальнейшем я делал небольшие заказы, обучал разных людей разработке игр по skype и teamviewer, даже делал для кого то дипломную работу на Unity, а так же выпустил несколько игр в Google Play, AppStore, Steam. Но все это началось 6 лет назад, когда мне было 25 лет. Раньше я и понятия не имел что простолюдин с образованиям ПТУ сможет делать какие либо игры.(многие из вас наверняка видят уровень моей грамотности в орфографии, хоть я и тщательно её проверяю программой для проверки орфографии). Ведь в школьные годы, как и большинство подростков я и не задумывался о том, кем я буду в будущем. Просто ходил по компьютерным клубам, гулял с девочками, получал двойки за четверти по математики и русскому и школу закончил с весьма печальным аттестатом. Я не совру если скажу, что реально бывали такие времена, что я неделями, вплоть до месяца прогуливал школу. А потом дома подрезал провода домашнего телефона, что бы класуха не могла дозвониться. Подделывал записки от родителей, за год терял не один дневник, который был и так тонкий от постоянно вырванных листов с замечаниями или просьбой прийти родителей в школу. Даже один раз заполучив классный журнал мы с одноклассником наставили себе весьма неплохих оценок. Вообще по учебе, ученик я был еще тот.
К чему я это пишу?
А пишу я это к тому, что практически каждый человек, если захочет, сможет научиться всему. Все зависит именно от вас, только ваше стремление и желание в данный момент имеет значения. То, кем вы были раньше и насколько вы образованный человек, играет не большую роль в сравнении с вашим духом и целеустремленностью постичь что-то новое!!! Из университетов выходит много бездарей которые пошли туда учиться только потому что нужно было, приходят работать по профессии и знают меньше своих подчиненных которые окончили ПТУ. Ведь как говорил Рубакин - Всякое настоящее образование добывается только путем самообразования.
Вы обязательно научитесь, если будете изучать, то что вам будет интересно.
КАК Я ПРИШЕЛ НА ПУТЬ РАЗРАБОТЧИКА:
Мне действительно становилось страшно от мысли что до конца своих дней я буду работать заправщикам на АЗС, ходить в робе пахнущей бензином, разгружать цемент и товары на заправке, бояться отказать начальству выйти в свой выходной, что бы потом не попасть в немилость, а то мало ли контракт не продлят. Что же я потом буду делать? Вот что происходило у меня в голове. Я смотрел на своих напарников, некоторым из них было уже за 40-50 лет и меня всегда пугала то, что человек проживает свою жизнь, которая дается один раз, не осознает, что для него пределам мечтаний является небольшая премия ко дню нефтяника. Мне становилось страшно когда я смотрел на Петровича, ведь в Петровиче я видел будущего себя. А я не хотел для себя такого будущего.
Сначала у меня появлялись мысли о том что бы отложить денег и организовать какой-то бизнес, например, что-то перепродавать, перекупать. Я долго изучал разные товары, смотрел что выгодно купить, что выгодно продать, пока не понял, что мне попросту это все не интересно. У меня был знакомый который, делал сайты и говорил что неплохо зарабатывает. Я подумал, вот оно!!! Начал учиться делать сайты, проковырялся около месяца и понял что это очень скучно и нудно, не мое. А вот с играми совсем другая история. Я всегда любил играть в игры. Мое знакомство с ними началось еще в далеком детстве 90х с приставки денди, которую купил мой старший брат, заработав деньги поездками из Беларуси в Россию, помогая двоюродной сестре возить товар. Потом началось все как у большинства, клубы с приставками сега и сони, далее компьютерные клубы в начале 2000х. Потом, когда я уже начал работать, то смог приобрести свой собственный ПК(далее было много чего: psp, xbox360, ps2, nintendo DS и 3DS, сейчас PS4)
Именно поэтому я вдруг задался вопросом, как научится делать игры и полез в великий Google для поиска ответов. Ответы нашлись весьма быстро и я узнал что существую движки, языки программирования, программы для создания 3D моделей, а так же программы для рисования 2D игр. Я понял, что есть много информации по обучению и много разных уроков, что бы освоить любой движок. Я проштудировал много статей и выбор мой пал на движок Unity.
ПОЧЕМУ Я ВЫБРАЛ UNITY:
Это постоянно развивающийся кроссплатформенный движок. Документация в большей части переведена на русский язык на официальном сайте. Есть куча видео уроков на YouTube, а так же множество уроков на официальном сайте на английском языке. Большое комьюнити, много групп и форумов. Большой магазин Asset Store где можно купить графику на любой вкус и много готовых решений, что упрощает разработку игры с нуля. Unity поддерживает язык программирования C#. На этом движке вы сможете сделать игру как для мобильных платформ, так же и для PC и игровых консолей. По графике, можно сделать игру на Unity, которая будет выглядеть не хуже чем на UE. Все зависит от ваших рук, опыта, вкуса. Многие комментаторы которые даже не работали с данным движком любят написать, мол школьники делают на Unity и тому подобное(мое самое любимое — это очередной высер на Unity) на самом деле я считаю, что это люди весьма недалекие, когда оценивают игру только по движку. На любом движке можно сделать как говно, так и шедевр. Очень многие игры сделаны на Unity, в том числе и от ведущих компаний. Это все можно погуглить и ознакомится с тем, на что способен этот движок.
Подводя итог вышесказанному хочу заметить, что дело не в движке, дело в человеке и его стремлении сделать что-то годное. А графика зависит от вкуса и опыта, умения использовать свет и эффекты на камере, строить красивые атмосферные сцены.(не беру в учет текстуры и модели)
КАК Я НАЧАЛ ИЗУЧАТЬ ДВИЖОК:
Когда я определился с движком, то вообще не умел программировать. Купив пару книг я думал, что если настроюсь, то смогу сам разобраться и вникнуть. И начал очень медленно вникать в программирования на C#, ведь так приятно, когда ты пишешь какие-нибудь команды, а программы выполняет все это подчиняясь тебе. На самом деле начать всегда тяжело, когда ты начинаешь изучать то, о чем не имел никакого представления и у тебя куча вопросов которые не кому задать, это очень угнетает и хочется все бросить. Я же настроенный на успех в обучении решил поступить иначе. Я нашел человека по интернету с которым договорился о 10 уроках по Skype и выполнении каких нибудь несложных заданий, дабы закрепить материал. На это все я потратил 150$ мы договорились 1 занятие 15$. Я внимательно слушал все что он мне говорил, задавал много вопросов, которые меня интересовали. Я заранее подготавливал вопросы, которые возникали у меня по мере работы на движке и при написании кода. Этих 10 уроков хватило что бы понять базу и уже самостоятельно делать какие-то не большие сцены. Я уже мог разбираться в документации и искать нужную мне информацию в интернете. Все уже было не так страшно как раньше. Далее я продолжил обучаться самостоятельно, делая свою самую первую игру для googole play.
DITGO RUNNER - МОЯ ПЕРВАЯ ИГРА:
Diego Runner - моя самая первая настоящая игра, выпущенная мной в Google Play.
Суть игры была в том, что бы по мере движения персонажа, подбирать правильные платформы, нажимая на нужную кнопку. Если ошибся, то проиграл. Отверстия в платформах генерировались всегда рандомно.
Планы на игру были большие, я хотел сделать много разнообразных уровней, много фигур, которые будут открываться по мере прохождения игры. Но всем этим планам не суждено было сбыться, так как я не учел один немаловажный фактор. Денег, что бы покупать графику у меня не было, мой друг рисовал все на энтузиазме, а энтузиазма хватило только на один не большой уровень. И в итоге из моей большой многоуровневой идеи, игра превратилась в игру с одним бесконечным уровням и нудной целью, набить как можно больше очков.
Игру после выхода никак не рекламировал в отсутствии денег на пиар компании, просто выложил и забил. Главное было набраться опыта и доводить начатые проекты до конца.
Игру скачали пару тысяч раз и принесла она на рекламе 30$. Через какое то время, игра была удалена Google Play, потому что требовалось вносить изменения в рекламу. Я не вникал и не корректировал, просто удалил игру.
Скриншот из игры Diego Runner выпущенной в Google Play
RUNPUZZLE - ИГРА ЗА МЕСЯЦ, СТАРАЯ ИДЕЯ ЗАИГРАЛА ПО-НОВОМУ:
После Diego Runner я делал много разных проектов на заказ, от маленьких до средних игр или писал кому-нибудь кусок кода за деньги. Выпустил несколько игры на разных площадках. Сейчас вместе с другом ведем работу над новым большим проектом, который планируем выпустить в конце 2020 в ранний доступ в Steam и потом доделать за 5-6 месяцев до релиза.(скрины я выкладывал в предыдущих постах).Так вот, параллельно с этим я в свободное время решил оживить свой старый незаконченный проект, не ради заработка, просто это проект с которого все началось и я решил сделать его таким каким видел его 5 лет назад. На этот раз некоторую графику я купил на asset store и что-то сделал сам, что бы все было в одном стиле. Переписал весь старый код. На это у меня ушло пару дней. Дизайн сцен я делал около месяца в свободное от основного проекта и время.
В игре есть 3 режима:
-Прохождение 25 уровней
-Игра на двоих, друг против друга на одном ПК, кто дольше продержится.
-Режим рекорды, бесконечный уровень который сохраняет ваш рекорд.
Вот такая весела игрушка у меня получилась — Страница в Steam.
СОВЕТЫ ДЛЯ ТЕХ КТО ХОЧЕТ НАЧАТЬ УЧИТЬСЯ:
Если вы полны желания научиться создавать игры, то я могу дать вам несколько советов как лучше начать это делать. Это советы основаны на моем личном опыте и это мое личное мнение, а далее решать вам, стоит ли следовать этим советам или искать свой собственный путь.
Если вы свободно располагайте деньгами, то я бы рекомендовал вам найти репетитора хотя бы по C# что бы освоить базу, для этого не понадобиться много времени и много денег, как правило базу можно освоить за 7-10 индивидуальных уроков, если усердно выполнять задания и стараться разобраться. Когда вам объясняют и вы можете задавать вопросы, это экономит кучу времени в начале пути.
1)Если же у вас нет такой возможности, то лично мне понравился цикл из 185 уроков C#
2)Документация Unity, там есть примеры кода и путеводитель по интерфейсу движка. Вообще на официальном сайте много хороших материалов для изучения (Документация Unity)
3)Любые уроки по Unity на YouTube, в начале хватит любых, что бы освоить интерфейс движка и попытаться что-то начать делать, далее с появлением опыта вы научитесь фильтровать хорошую информацию, от бесполезной фигни.
4)Так же есть несколько книг на русском языке, которые можно приобрести в бумажном или электронном виде. В каждой из этих книг любой новичок найдет для себя полезную информацию. Книги по программированию советовать не буду их очень много толковых, но большинство книг вам попросту будут не понятны на начальном этапе, можно загуглить что-нибудь для новичков, но видео уроки будут поинтереснее и веселее если вы начинающей. А в будущем вы сами, сможете найти для себя массу прекрасных книг, что бы улучшить свой скил и сделать свой код максимально оптимизированным.
5)Для экономии времени вы можете использовать графику из магазина Asset Store, там вы найдете много бесплатных ассетов, которые можно использовать на первое время для обучения, так же есть куча достойных платных ассетов, которые вы сможете купить и использовать в своих коммерческих проектах.
6)Самое главное, на начальном этапе вами, как и всеми начинающими будет двигать желания слепить какую то мега игру, стопроцентный хит как вам кажется, который принесет кучу денег, ведь у вас есть отличная идея. С этим сталкиваться все начинающие разработчики, у всех у нас есть мега идеи. Сначала обязательно сделайте хотя бы 5 законченных, маленьких проектов, потом вы сможете понимать свои силы и масштабы работы над большими играми. Обязательно, отложите все ваши крутые идеи на время в полочку. И начните делать небольшие игры. Например сделайте понг, потом танчики, Марио и приступайте к 3Д играм.
7)Если вам кажется, что у вас нечего не получается и все слишком сложно, то нужно немного отдохнуть и продолжать дальше. За 6 лет изучения и разработок мне так казалось минимум 100 раз, а может и больше. Со временем все будет гораздо легче, просто знай это и борись с собой. Вскоре вы научаетесь правильно искать нужную информацию, ваш код будет с каждым разам все лучше и лучше.
8) Вы всегда можете написать мне в сообщения в моей группе в ВК если у вас будут вопросы. Когда есть время и я вижу сообщение, то обязательно отвечаю на него и постараюсь вам помочь или подсказать где можно найти ответ.
P.S.
Хотелось бы закончить свой пост такой мыслью: Мы живем один раз, нужно искать себя и заниматься тем, что нравиться. Занимайтесь тем, чем бы вы могли заниматься и бесплатно, но если вы сможете заработать на этом, то вы действительно сможете обрести некоторую свободу в жизни. Я надеюсь что этот пост кому то поможет, возможно кто то вдохновиться и сделает новый инди хит, а я буду к этому причастен, пусть и косвенно. Желаю вам хороших дней, хорошего настроения и много сил в самой главной вашей игре, которая называется жизнь.