0х00. Становление
Разработка — это конструирование, жизнь — это величайший конструктор в руках человека. Он похож на старые кубики Lego: сперва анализ, потом сборка и разборка, в общем желании сделать хоть что-то выходящее за рамки существующей доступной модели. Мы в руках открытой инструкции, нами правят собственное воображение; мы выдумываем для себя технические задания и раз за разом бьемся об стену своей некомпетентности. Мне важно вспомнить такой момент, который стал предтечем сложившихся обстоятельств, но этот момент, к сожалению, растягивается на долгие годы из событий детства, отрочества и первых дней взрослой жизни, поэтому есть только один способ не упустить важное из виду — вспомнить свою жизнь сначала.
«Software is eating the world» (M. Andreessen)
Когда-то давно ко мне пришла ясность мыслей и все кругом предстало в новых красках. На следующий день я проснулся человеком и теперь каждый новый день ощущаю это на себе. Чтобы краски слились с фоном достаточно лишь уставиться на точку в неизменной обстановке: уже через несколько минут все пространство будет представлено одним черным цветом. Так же и с жизнью: без новых ощущений ты тонешь, поток красок выхватывает тебя из собственных мыслей и ты превращаешься в очередного зомби, управляемого рефлексами общей массы. Однако же со стороны этой массы, конечно, всё выглядит иначе.
Это самое забытое чувство нового, неожиданно подарили мне игры. И вот передо мной стоит ламповый телевизор к которому подключен NES. Как и многие, я трачу жизнь играя в Super Mario Br, танчики и гэлэксианы. Дальше скачок, в котором ламповые телевизоры сменяются плоскими мониторами, а ощущение от 16-битных игр стоят выше по z-Index’у цветных снов. В только созданной игровой индустрии масштабы берут вверх над здравым смыслом. Одно из подтверждений: 9999 игр в одном картридже/CD/DVD/Internet. В голове вспыхивает мысль о недостатке всего свободного времени ради полного прохождения кусочка пластика со схемами. Дальше — больше! Долгие игровые часы проведенные перед голубым экраном разрушают геймпады и мне приходится впервые взять в руки паяльник, чтобы починить кусок консоли.
Река времени движется, и теперь 32-битные приставки переходят в n^2-битные консоли; происходит разрыв поколений, а повальное появление 3D-акселераторов знаменует переход из гиковской культуры в народные массы. Дальше шутеры, гонки, пентиумы, обзоры игровых E3-мероприятий и полуподвальные компьютерные клубы, где на насыщенных флешем веб-страничках красуется огромный бюст Лары и шотган Дюка. Мозг обманут и ему кажется заэкранный мир кульминацией по-реалистичности графики. Кажется, еще чуть-чуть и долгожданная виртуальная реальность будет создана и хочется помочь приблизить ее наступление, то и дело появляются новые контролеры, шлемы, более мощные компы. Будто все что существует в этом мире крутится вокруг ИТ!
По достижению 14-летнего возраста происходит резкий подъем внутреннего максимализма, но вверх над мальчишкой берут видеоигры, а не поиск другого хобби, например, игры на гитаре. Но я трачу 3 года на музыку и достигаю своей сути: «Хватит играть по чужим нотам, играть чужую музыку! Музыка не написана на бумаге, бумага — лишь долгий путь к настоящей игре. Звуки настоящей музыки извлекаются не из инструментов, а из души». Я бросаю гитару и скупаю десятки обучающих курсов по английскому, 2D и 3D графики. Потратив много часов я уже умею коряво применять фильтры на фотки и рисовать 3D домики. Настаёт время идти в универ.
Учеба не создана для обучения, но универ — это место где обрастают связями, находят друзей и тусят с девчонками. Но если ты попадаешь в технический вуз, тебя ждет анально-военный диктат со стороны преподов, а в общем перерыве — общение с разномастными фриками и ебля с матаном и Cpp/ASM. Этот треш чередуется каникулами и сессиями, что в целом добавляет вонючего изюма в общажно-сосисочный ритм студенческой жизни. После сдачи диплома общество получает очередного маргинала с немного поднятым ЧСВ и ищущего работу по специальности. Но об этом будет позже.
Настоящее обучение в универе начинается когда нет больше сил чувствовать себя самым тупым в аудитории. Я решаю здорово задрочиться над Страуструпом и заняться вплотную «погромированием». Так, свободное от учебы время, которое должно быть потрачено на личную жизнь, я трачу на кодинг, дабы запилить свой НЕХ.
Сотни часов в ковырянии говнотопиков постановило, что «надо таки пилить на C#». Готовлюсь как Рокки, ставлю последнюю студию и решарпер, устанавливаю разные SDK и начинаю курить XAML и Silverlight. В ход идет все чему не учат в универе: 2D физические движки, рисовка в Photoshop и Blend, моделирование в zModeler и 3DS Max; все это под жесткий закур моего первого нормального учителя — А.Гудка из торрентов. Рисуются сцены, изучается IDE, читается матан по шейдерам и MSDN, и… все выпиливаются в ничто.
«Лучший способ писать — это переписывать» (E. B. White)
Депреснячное лето заканчивается с мешками под глазами; начинается четвертый курс уже надоевшего мне универа. Первая шабашка находит меня и я начинаю верстать веб-сайт. Я быстро вкуриваю библиотечную книгу по HTML/CSS/JS и верстаю на HTML5, CSS3 и jQuery, предварительно потратив два дня на треп на форумах с добрыми загадочными дядями, выясняя правоту интерпретатора и неправоту меня. Но проект сдан, я вдохновленный символическими 500р за работу дохожу до точки невозврата в прогерской жизни. Я забиваю все свободные зимние праздники на изучение PHP, при этом не читая ни документацию, ни книг об этом недоЯП. Вся эта вакханалия выливается в воплощение моей розовой мечты о вполне рабочем моем личном сайте, однако посещаемость которого остается всего на уровне 30 уникальных месячных пользователей. Так приходит понимание: «Ты никогда не сможешь создавать крупные проекты в одиночку: нужны люди, деньги и время. И талант». Подбадриваю себя словами: «Но начать было нужно, иначе нет смысла в обучении».
Я двигаюсь дальше и хочу воплотить синюю мечту о запиле своей собственной игры. Но увы, бурление интернетов говорит о том, что Silverlight вскоре падет. Я выбрасываю написанный говнокод и нахожу HTML5 Canvas. В это время конструкторов по такой технологии почти нет, а есть выбор среди Game Maker и Construct 2. Я выбираю первое и афигеваю от синтаксиса встроенного ЯП. Быстро удаляю, дабы не повредить раньше времени мозг, и начинаю фигачить на C2. Проходит время и я достигаю лимита на бесплатные события и забрасываю новый проект чуть более чем наполовину.
В это самое время меня настигает момент выбора дипломного проекта.
«Любой код – это привнесение во Вселенную хаоса»
К этому времени я изучаю хабру вдоль и поперек, и мне открывается новая для меня сторона разработки: JavaScript вне браузера, нереляционные БД, облачные технологии, что даже отдаленно не похоже на то, что я делал в быдлоунивере все это время. Как всегда, интересный проект портит ноосфера (почти через месяц начала запила дипломного проекта, выходит полный аналог) и внезапно возникшая работа в конторе.
Если будет интересно, опубликую еще 3 части.
ссылка на оригинал статьи http://habrahabr.ru/post/263395/
Добавить комментарий