
homerender
homerender
опубликовал в
Как я стал разработчиком игр

Это началось давно. От этого страдаю я и вся моя семья. Что я только не испробовал, но никак не могу отделаться от привычки делать игры. Я перепробовал всё — от народного втирания головы в стену до нейрохирургии. Ничего не помогает. Остаётся только пытаться жить с этим дальше и надеяться на лучшее. Что на меня повлияло?
Моё знакомство с компьютерами началось очень давно, еще в раннем детстве. Папа работал в фирме, продающей компьютеры, и я часто зависал у него на работе. Конечно же началось все с игр. Я вырос на Sierra'вских квестах, которые были тогда очень популярны. Думаю, также благодаря ним у меня появились основные знания английского языка, так как на русском языке игр тогда не было. Из любимых игр тех лет (середина 90-х) могу выделить Space Quest 5, Red Alert, The Dig, Heroes 2, StarCraft, Incredible Machines 2. Тогда я и не думал о разработке игр. Я и понятия не имел как их делают)
Насколько я помню, первое программирование мне показал папа. Подозвал к компьютеру, посадил на коленки и сказал что-то вроде «смотри, я сейчас дам компьютеру команду и он нам нарисует звёзды». Он запустил QBasic, набрал несколько непонятных строк на английском языке и вуаля. Черный экран стал заполняться звездами. Не скажу что я был в восторге, по-моему это вообще меня никак не зацепило, так как я не уловил связи между этим действием и созданием игр. Но на моей памяти это была первая увиденная мной «изнутри» программа.
Начиная с 6-7 класса я стал понемногу увлекаться 3D графикой. Изучал 3dsmax по книге «для чайников». Красотой конечно же тогда мои работы не блистали, но мне нравилось. Я часто пытался изображать космические сцены, экспериментировал с анимацией, делал страшненькие ролики. К сожалению я тогда не особо заботился о сохранности моих работ и всё это кануло в небытие. Так что, уважаемые начинающие художники, композиторы, 3дшники и разработчики — сразу вам мой совет — не теряйте свои работы. Пусть они всегда надёжно хранятся. Через годы они станут дороги как память. Будет приятно рассматривать их, вспоминать свой прогресс. Могу показать самые старые, какие я смог найти, свои рендеры. Но они недостаточно старые :)



Не помню как и зачем, но я начал изучать старый добрый QBasic, делал всякие простые «Hello World» и автоматически со временем пытался делать какие то небольшие игры типа крестиков-ноликов и морского боя. Примерно в то же время я наткнулся случайно в интернете на некий Dark Basic. И он меня очень заинтриговал:
«Добро пожаловать в мир DarkBASIC, самого мощного и самого легкого языка семейства BASIC. Он не требует от вас навыков программирования, знания операционных систем, опыта работы с инструментами и утилитами. Главное, иметь воображение и желание сочинять собственные программы, все остальное, как говорится, приложится. DarkBASIC открывает широкий простор для творчества, позволяя написать все, что угодно — от простой текстовой программы до быстрых полноэкранных 3D игр. С помощью всего одной команды вы удивительно легко сможете получить доступ к звуковым эффектам, музыке, анимации, тексту и графике, а также управлять периферийными устройствами, такими как джойстик с функцией обратной связи и шлем виртуальной реальности. Единственное, от чего зависит ваш успех на поприще создания коммерческих программ — это время и талант.»
Что-либо скачать в интернете, как сейчас, тогда было крайне сложно. Не только из-за того что тогда не было торрентов и файлообменников, а попросту из-за ничтожно малой скорости (56к интернет, для того чтобы скачать одну песню, размером 3 Мб у меня уходило 15 минут, да-да). Я нашел сайт, на котором продавался Dark Basic. Стоил он кажется 1400 руб. — книга и несколько дисков. Родителей пришлось поуламывать, но в итоге они согласились и в один прекрасный день по почте пришла посылочка:


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

Вот так-то) В нем почти не было интерфейса. Никакого взаимодействия мышкой с создаваемыми объектами. Только кодинг, только хардкор) Для того, чтобы добавить, затекстурировать и позиционировать один объект в сцену приходилось прописывать следующее:
Load object «man.3ds»,1
Load image «man.bmp»,1
Texture object 1,1
Position object 10,-100,0,-100
И опять же по упомянутой выше причине мне почти нечего вам показать( Вот все что удалось нарыть, и то благодаря вэб архивам:



Я пытался делать всё: космосимы, авиасимуляторы, гонки, шутеры, стратегии. И в принципе выходило не так уж и плохо. Параллельно я пытался моделировать для своих игр, пытался рисовать интерфейсы. Как-никак получал опыт) В то же время я начал пытаться писать музыку в FL Studio, на что меня сподвигнул мой друг. Так всё это потихоньку двигалось и улучшалось. Учился я в основном по книге и методом тыка. Когда игры стали более серьезными, уже стало довольно неудобно работать, ибо чтобы банально посмотреть как затекстурирован тот или иной объект — приходилось компилировать игру (что происходило не мгновенно), запускать её, каким то образом подойти внутри игры к нужному месту и осмотреть его. И так после каждого изменения. Жутко неудобно)
Время шло. Я закончил школу и после 9 класса поступил в колледж, на программиста) Там я подучил Visual Basic. Пописал кое-какие программки (вот скрины с уже несуществующего сайта):



Так как я один из не многих в группе, кто действительно увлекался разработкой, я был как программист одним из лучших в группе, но как показала практика — моих знаний программирования было жутко мало, даже при том что они превышали программу обучения. Осознав это, а позже еще и осознав что мне будет очень трудно при такой подготовке найти работу, я стал больше внимания вновь уделять 3D графике. Весь в нее ушёл с головой. Закрепился на одном известном 3D ресурсе 3dmir.ru, стал участвовать в конкурсах, обсуждениях, иногда мои работы попадали в галерею. Нашел там много друзей. И доучаствовался до того, что стал модератором) Но это уже другая история) Скажу лишь, что хотя многие считают меня крутым 3дшником, это вовсе не так. Я очень многого не умею, а многое умею не так хорошо как хотелось бы. Я скорее твёрдый среднячок. Все еще планирую основательно заняться моделингом техники, научиться делать ретопологию, развертку и текстурирование на должном уровне, а потом может быть и скульптингом и персонажкой. А пока у меня пожалуй лучше всего получается визуализация. Вот мои работы, если интересно:









Я не помню, как началось моё знакомство с Unity. Помню, что начал с просмотра первых официальных уроков. Помню, что он мне понравился своим дружественным интерфейсом. Я без особых раздумий пересел на него и не планирую с него уходить, так как он отвечает абсолютно всем моим требованиям, активно растет и развивается. Я стал клепать очень много проектов на нем. Даже поизучал немного JavaScript и в принципе на данный момент могу самостоятельно написать довольно многое, только поглядывая в справку. Хотя как программист я себя давно уже не позиционирую. Сейчас я себя вижу как левелдизайнера. Наполнение уровня, создание атмосферы, моделирование локаций и пропсов — это то что мне сейчас интересно больше всего.
Помню один интересный спор со знакомым программистом (настоящим). Тот был ярым фанатом флеша, и когда я показал ему возможности юнити, он сказал наотрез что юнити никогда не переплюнет флеш. Так приятно сейчас вспоминать ту беседу)
Вот несколько скриншотов из моих старых почеркушек на Unity (тоже многое не сохранилось и кое-где из-за реимпорта слетели лайтмапы):

Это был коммерческий заказ для фирмы, занимающейся строительством коттеджей.

Здесь я попытался на примере скриншота из Half Life 2 примерно повторить дизайн локации.

Это скрин одной заброшеной логической игрульки в стиле «Пенумбры».

Пытался сделать пародию на «дендиковский» Road Fighter)
А вот свежие скриншоты, сделанные мной на Unity за последнее время:





Из последних проектов могу упомянуть UFO: Immersion и Smoke&Steel (их я уже делал не один, познакомился со многими опытными специалистами и просто хорошими людьми).




Вот такие дела) На данный момент мы с ребятами разрабатываем (наконец-то) первый коммерческий проект — Iron Guard Iron Guard это мобильная игра, полностью 3D, в жанре «Tower Defence». В первую очередь планируется сделать версию для Android. Затем мы сделаем версию под IOS и Windows Mobile (а возможно и просто под Windows). Надеемся что наша игра принесет нам прибыль и воодушевит нас на новые проекты.


Подведу итог.
Разработкой игр я стал увлекаться много лет назад, но по моему мнению двигаюсь я, хоть и уверенно, но к сожалению довольно медленно. Но по крайней мере результаты меня самого радуют и многим нравится. Приятно. Даже удается неплохо зарабатывать уже. А главное, что моя работа совпадает с моим увлечением, а ведь в этом везет далеко не каждому. Сейчас я избавлен от рутинной работы в офисе, я работаю тогда когда мне удобно, делаю то, что мне интересно, работаю с отличными людьми, с которыми я познакомился за это время. Осталось лишь научиться зарабатывать на серьезных проектах и думаю все будет хорошо)
Ну и вам, дорогие читатели, желаю творческих успехов. Пусть рендеры рендерят быстрее, модели моделируются красивее, коды работают оптимизированнее, музыка звучит мощнее, а арты выглядят круче. И всем кто читает эту строку спасибо за внимание и терпение))
Искренне ваш, homerender.
P.S. Если вас заинтересовала моя музыка, то вот парочка примеров:
44 комментария
Именно эти слова и отличают профессионала от самоуверенного неумехи :)
Но (сейчас меня заминусуют) ты, похоже, совершенно ничего не понимаешь ни в программировании, ни в музыке, извини.
Вы можете обосновать вашу реплику? Судя по ней, вы понимаете больше, раз смогли оценить труды автора так свысока.
В целом, это звучит так: «Я программист, но я не знаю что такое циклы, никогда в жизни не видел ни строчки кода, но всё-равно я пишу.» Наугад? Да, при обладании слуха можно написать мелодию (один мой товарищ, Максим его зовут, как-то раз подошёл к пианино и просто заиграл на нём, хотя до этого никогда не играл), но автор использует лишь до-мажор, а так же прибегает к таким вещам, которые по сути просто запрещены музыкальной теорией. Например, использование квинт — это пункт из «расстрельного листа».
Признаюсь, я погорячился со словом «совершенно», но ведь так тоже нельзя, согласитесь?
Видно ты не видел C++ с его openGL. Да даже DirectX не может похвастать более коротким кодом по отношению к созданию объекта, его текстурированию и позиционированию.