Что можно успеть за 1 год и 9 месяцев...

...если вы ничего не знаете о разработке игр.

Всем привет, дорогие пикабушники(-цы)!
Давно у меня назревало желание создать подобный пост, да и пост вообще. Может быть он не уникален (такого в интернете хватает), но я все же решил попробовать.
Внимание, действительно длинный и нудный пост!
На летних каникулах после второго курса, когда сессия и практика позади, настали скучные деньки. Делать нечего, друзья разбрелись по армиям и другим городам в поисках образования, формы цвета хаки и лучшей жизни. Работы особо нету, а которая есть, не соответствует амбициям молодого студента (амбиции простые, хотя бы зарплату, а то был печальный опыт).
Ну так вот, перехожу к сути. Заинтересовался я игростроем после прочтения нескольких благоприятных новостей об удачных разработчиках некрупных проектов. А вообще, еще со школы были некоторые идеи, которые вдруг захотелось реализовать. У меня уже был некоторый опыт работы в 3d max и фотошопе еще со школы, а так же я создавал карты для CS: Source, в общем, набор базовых знаний был так себе.
Настала очередь делать свой первый выбор. 

Что можно успеть за 1 год и 9 месяцев... Записки, Ламер, Gamedev, Unity3D, Unity5, Разработка, Игры, Длиннопост

Какой игровой движок самый лояльный к недоделанному левше XXI века? 

Выбрав (вот сюрприз) Unity3d, я приступил к рисованию уровней. Вы подумали, что я пропустил несколько этапов и, не зная ни одного языка программирования (ну кроме базового html), не составив плана, даже не зная основ игрового движка, приступил к рисованию абстрактных зданий, коробок и пр.? И Вы будете правы в своих догадках (о чем я только думал). Почему Unity? На тот момент я не знал на какую платформу я хочу делать игры, а Unity, как всем известно, наиболее гибкий инструмент, тупо делаешь игру, а в конце выбираешь на какую ОС ты хочешь её сбилдить (ну это так, укороченный вариант действительности).

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

Что можно успеть за 1 год и 9 месяцев... Записки, Ламер, Gamedev, Unity3D, Unity5, Разработка, Игры, Длиннопост

Какой язык программирования начать изучать?

Выбор пал на C#, доводами послужило то, что он наиболее распространенный и на нем пишут многие (да это спорно, но тогда я был мастдайным ламером, да и сейчас немногим больше, и это не умаляет значимость java и пр.). Ну хорошо, выбрал, а дальше? На книги тратиться я не мог, так как я бедный студент, а Шилдт стоил около 2 тыс. вечнопадающих рублей, библиотека вуза летом не работает, ресурса для восполнения знаний нет. Можно подумать - тупик. НО! У меня, как и у всех кенийцев копьеметателей (если помните), назревает очевидное решение. Youtube! Там я нашел много полезных уроков, демо-версий некоторых курсов, и просто подборку C# уроков от тех же игроделов (ссылки могу скинуть в комментарии если пожелаете). Все просто качаете Visual Studio, делаете Hello World!, парочку преобразований, одну-две программки аля калькулятор, и всё. Теперь вы мегакрутой хакер!

Базу я наработал  в пределах 1,5-2-х месяцев, при этом уделяя урокам и практике 2-4 часа в день. Далее последовало изучение особенностей программирования в Unity, его методы в языке. Т.е. база в языке Си типа сложение, умножение, динамические массивы и пр., а в Unity конкретные методы и особенности, типа толкнуть шарик, телепортировать кубик, удалить при попадании в зону параллелепипедик (кому-то может не понравиться данный пример, ввиду его тривиальности, простите), такого средствами языка не добьёшься. Всё изучение было так же по видеоурокам нескольких хороших людей, по сайту Unity3d, его ответам и по его оффлайно-онлайновой встроенной справке Scripting reference (ссылки опять же могу дать).
Первый опыт (в счет не берем те примеры, которые я делал по урокам).

Итак, требование к первому похожему на игру чему-то: ОНО не должно быть сложным во всех планах, программирование, моделирование, анимирование и другое на -ние!
Самое простое и популярное, что мне пришло в голову, был кликер. На тот момент их было уже достаточно много, а сейчас вообще просто дох... Так о чем это я? Ах, да. Вот скриншот из моей первой игры.

Что можно успеть за 1 год и 9 месяцев... Записки, Ламер, Gamedev, Unity3D, Unity5, Разработка, Игры, Длиннопост

Назвал я её IE Clicker, но никуда не выкладывал, ибо сами видите. Принцип у кликера простой - математические преобразования. Нажимаете на кнопку - отнимается число, покупаете автокликер - само нажимается. Суть конкретно этой игры была в следующем, нажать 1 млн. раз на значок всеми любимого браузера, чтобы он, наконец, запустился. Этого можно было добиться 2-мя путями: просто кликая или же зарабатывая деньги на ForoxClud (название изменено), так же кликая на значок Forox-а и тем самым зарабатывая деньги на покупку новых компов, лицензионных автокликеров, брокеров и прочих ништяков для упрощения жизни. Игра убога по своей сути, в ней всего 1 скрипт на 500 строк, да и тот можно было бы упростить. Разработка заняла у меня 1 неделю сентября, я приходил после пар и по 2-3 часа сидел за нетбуком, на котором всё жутко лагало, но за комп я садиться не желал, так как хотелось полежать.

Вторая игра. 

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

Что можно успеть за 1 год и 9 месяцев... Записки, Ламер, Gamedev, Unity3D, Unity5, Разработка, Игры, Длиннопост

(Скриншот не очень, потому что делал его в самом движке) Суть игры была в следующем. Хомяк, используя (простите) турбореактивную силу своего пищеварительного тракта, так как он слишком жирный и лапы не достают до земли, летит навстречу приключениям. Игра планировалась на андроид, но управление я временно (читай навсегда), сделал на комп, левая кнопка толкает хомяка, правая втягивает воздух (через рот), таким образом он взаимодействует с миром, отталкивает и притягивает объекты, огибает препятствия, врезается во врагов (таких же круглых мышей и енотов), тем самым нанося им урон. Дело не пошло, так как я придумал всего 2 замысловатых уровня и идеи кончились. Весь сюжет игры был в голове, но головоломки для уровней не выдумывались ни в какую. Хомяк был отложен в долгий ящик без корма и воды, хотя я и потратил на него 2,5 месяца, но все же набрался опыта.

На этом я пожалуй остановлюсь, неудачные попытки останутся в этом посте. Если Вам понравилось я могу продолжить, написать об оставшихся чуть более удачных проектах, один из которых проходит сейчас неудачный отбор на Greenlight (вот ссылка если надо http://steamcommunity.com/sharedfiles/filedetails/?id=633489..., хотя там тоже не супер, ибо я опять делал её один и это была первая 3d игра), два остальных валяются в Google Play. Так же я могу подробнее расписать все процессы создания 2d и 3d игр, с некоторыми нюансами, которых не было в сети (или я просто не нашел), только не в форме уроков которых полно, а с точки зрения барана на новые ворота. Ну и о планах, текущих проектах и т.д. Простите, кое-где могут быть грамматические и пунктуационные ошибки, но я старался их избегать. Кто-то скажет, что эта статья для хабра и может быть будет прав. Судите как всех. Спрашивайте, что хотите. Спасибо, что выдержали (если кто-то вообще пережил это)!

3
Автор поста оценил этот комментарий

Пиши это довольно интересная тема, подпишусь на тебя

раскрыть ветку
1
Автор поста оценил этот комментарий

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

раскрыть ветку
Автор поста оценил этот комментарий
Через что ты кодил?
раскрыть ветку
Автор поста оценил этот комментарий
С# или С++?
Автор поста оценил этот комментарий
Можно тебя как-нибудь в