Достаточно ли одного языка?




Разработка игр. С чего начать?

Что должны учитывать будущие разработчики игр? С какого языка начать обучение? К чему стремиться?

13 июля 20154 минуты264653

Что должны учитывать будущие разработчики игр? С какого языка начать обучение? К чему стремиться? На кого равняться? И что необходимо сделать в первую очередь?

Большинство любителей рок-музыки рано или поздно берут в руки гитару. Фанаты спорта страстно мечтают о выходе на футбольное поле, баскетбольную площадку или теннисный корт. Ну а те, кто совершил сотни угонов в GTA, провел десятки часов в компьютерных клубах за Counter-Strike или достиг немалых успехов в MMORPG, наверняка задумываются о карьере разработчика игр.

Проблема в том, что данному направлению обучают в считанных учебных заведениях. Посему большинство разработчиков игр – самоучки, некогда сами составившие учебную программу. Но какие нюансы они учитывали? С чего начинали и к чему стремились? Какой язык учили в первую очередь? На эти и другие актуальные вопросы мы и постарались ответить.

К чему стремиться?

Перед походом в магазин вы составляете список покупок (хотя бы в голове). Перед поездкой в другой конец города – прокладываете маршрут. Ну а перед тем, как обучаться разработке игр, целесообразно задаться вопросом: чем именно вы хотите заниматься? Создавать мобильные приложения или браузерные игры? Трудиться в крупной компании или маленькой? Профессионально заниматься разработкой игр или посвящать этому свободное от работы время? И если первое, то что интересует вас больше: создание интерфейса, отшлифовка геймплея или написание скриптов?

Правильная постановка цели поможет сэкономить уйму времени и сил. Кроме того, позволит достичь конечного пункта кратчайшим путем. Без риска сойти с дороги или угодить в болото.

Какой язык учить?

Кроме того, от цели зависит и ответ на животрепещущий вопрос: с какого языка программирования стоит начинать?

Так, будущим разработчикам игр вроде Minecraft и мобильных приложений под Android стоит обратить пристальное внимание на Java. Для начала советуем пройти интенсив «Основы Java-программирования». Тем, кто заглядывается в сторону iOS – на Objective-C. Для браузерных игр порой хватает знания Ruby-On-Rails. Для совсем маленьких и простых временами достаточно HTML. В производстве Flash-игр используется ActionScript, а для написания скриптов любой сложности вам понадобится JavaScript или, возможно, не столь распространенная Lua. Для создания же небольших консольных игр требуется знание C#.

Что до наиболее крупнобюджетных игр (так называемого класса AAA), то большинство из них оснащены своим или заимствованным у коллег "движком". Нередко, впрочем, весь "движок" или его большая часть написана на C++. Именно этот язык использовался при создании множества известных "игрушек" – от Doom 3 и Call Of Duty до FIFA и The Sims. В то время как классика вроде Quake была написана на C.

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

Достаточно ли одного языка?

Одна из прелестей программирования – возможность постоянного саморазвития. В разработке же игр (особенно крупных) самосовершенствование, в том числе изучение как можно большего количества языков, – не прихоть, а жизненная необходимость. Так, опытные разработчики, трудящиеся на благо гигантов игровой индустрии, нередко сталкиваются с необходимостью поочередно писать на 7-8 языках. При этом, помимо вышеуказанных языков, им приходится изучать, к примеру, Python либо и вовсе SQL (как вы понимаете, для создания баз данных).

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

С ЧЕГО НАЧАТЬ?

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

Практически все опытные разработчики вне зависимости от регалий и таланта начинали с небольших приложений: настольных игр, вариаций известных "игрушек", простеньких "флэшек". Тогда они не думали о крупных выставках вроде E3, а накапливали бесценный опыт. Почему бы не последовать их примеру? При этом не обязательно писать архисложный код. Для дебюта достаточно использования специальных программ для создания игр (к примеру, Game Maker). Ведь даже благодаря несложному инструментарию вы значительно облегчите себе жизнь. Во-первых, в миниатюре поймете логику и структуру практически любого игрового приложения. Во-вторых, набьете шишки, которые заживут во время перехода к серьезным проектам. Наконец, в-третьих, обогатите портфолио. Ведь даже простая "игрушка" требует массу времени, терпения и творчества для выдумки концепции, написании кода и устранения багов. Кроме того, показывает, что с производством игр вы знакомы не только в сухой теории.

Что брать за ориентир?

Тот, кто мечтает стать писателем, прочитает сотни книг перед тем, как напишет хотя бы одно слово. Мастера игры на фортепиано на зубок знают лучшие произведения Штрауса, Шопена и Бетховена. Известные же художники перед крупными выставками наизусть заучивали историю искусств.

В разработке игр действует тот же принцип. Вы не сможете развиваться в вакууме. Поэтому играйте, вдохновляйтесь мастерами и, как губка, впитываете лучшее. При этом старайтесь смотреть на приложения не глазами "геймера", а взором разработчика. Иными словами: транспонируйте игру. Задумайтесь, почему в данный момент времени "бот" побежал налево, а не назад? Из-за каких факторов меняется сила и точность удара в спортивном симуляторе? Как создать "эффект усталости" при долгом беге персонажа? Как сделать так, чтобы во время дождя игрок слышал звук капель, а не свиной визг? В общем, проникайте в суть. Постарайтесь воссоздать в голове алгоритмы, с которыми сталкиваетесь во время игры. Поверьте, подобный конструктивный подход поможет вам в будущей нелегкой, но чертовски увлекательной карьере разработчика игр.

Автор: Александр Мороз

games, game development, обучение, игры, развитие

Нашли ошибку в тексте? Напишите нам.

 

Автор статьи

Geek Brains

 

Оцените статью

Рейтинг 4.7

(голосов 188)

 

Факультет

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

12 месяцев обучения • трудоустройство

Узнать подробнее

Комментарии • 77

·

Антон Лень • 11 августа 2018 в 16:56

поправьте ссылку "Основы Java-программирования"

·

Валентин Кравец • 27 марта 2018 в 14:07

Готов помочь с написанием сценария для игровых проэктов.

·

Cg Drones • 13 марта 2018 в 00:59

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

1) По части: "Впрочем, в освоении C++ есть и загвоздка – чрезмерная сложность. Недаром ведь говорят, что браться за C++, не зная других языков, – все равно, что начинать изучение математики с линейных уравнений." - именно с С++ я бы и советовал начать изучение. Можно было бы советовать начать его с Assembler, но в геймдеве он используется совсем уж в специфических целях. Хотя.... каждая игра уникальная и специфична, ну если вы не делаете, конечно, что-то шаблонное и простое типа ФлаппиБирдса. Много чего требует знание С++, возможно Unity завязана на С++, в ней вроде есть отсылки к С++ (когда приходится с нативными библиотеками работать). В Java есть отсылки к С++, когда приходится работать с графикой. Некоторые фирмы под телефончики вообще используют Java как обертку, а ядро пишут С++. Так что С++ в руку и вперед...

2) "Так что С++ в руку и вперед..." - Ну выучите вы С++. Выучите еще, например, DirectX какой-то там или OpenGL. И думаете достигли успеха по части кода? А вот и нет. Из моего личного опыта: в школе я изучал самостоятельно С++, DirectX 9(вроде 9) + OpenGL какой-то там древений. Поступил в инст и выяснилось, что DirectX 12-й(цифры не помню) здорово так отличается от того что я изучал. OpenGL тоже изменился, наплодилось в нем куча всего, в том числе и OpenGL ES разных версий с полным контролем управления рендеринга. Да еще и Вулкан вот вышел, который значительно лучше OpenGL. В итоге полный провал, сиди и изучай все заново. Ах, да, и С++ тоже меняется и модифицируется...
Я не отговариваю от обучения, просто говорю о том, что изученная информация устаревает.

3) Программирование в играх не самое главное, даже не стоит думать что оно жизненно важно. Важно, конечно, но представьте игру с нулевой графикой, с нулевым сценарием, без звука, без головоломок... Главным является все, а в это "все" входит команда разработчиков.

Мы с товарищем разрабатываем видеоигру и ищем человека в команду, желательно со знанием английского, осведомленностью в дизайне. Пишите, кому интересно)

·

Николай Кузнецов • 16 февраля 2018 в 10:56

Считаю, что пункт "с какого языка программирования стоит начинать" очень плох
Если вы вообще не занимались программированием, изучайте основы в целом - тут программирование игр от другого программирования принципиально ничем не отличается. А если хотя бы немного программировать умеем, то сначала движок выбирается - а потом уже язык, поддерживаемый движком. А движок выбирается в зависимости от целей - Unity3d, Game Maker, Unreal Engine все хороши для своих задач.

o

Geek Brains • 16 февраля 2018 в 12:24

Николай, именно это, но немного другими словами и написано в статье, автор предложил начать с основ того языка, на котором будет создаваться игра, конечно же, изучить ОП в первую очередь, как Вы пишете, никому не помешает, ОП нужно знать по умолчанию. Спасибо, что дополнили материал своими размышлениями.

·

Антон Дмитриев • 04 февраля 2018 в 12:12

"Мастера игры на фортепиано на зубок знают лучшие произведения Штрауса, Шопена и Бетховена."
Ну не назубок, но всё-таки могут хоть какую-то часть напеть или наиграть))) Из Штрауса - ну только если "Сказки Венского леса")
Но за статью спасибо всё равно!)

o

Geek Brains • 04 февраля 2018 в 16:43

Антон, и Вам спасибо!

·

Леонид Соколов • 17 января 2018 в 20:51

Что делать если я выбрал движок(CryEngine 3.5.8), выбрал жанр игы (RPG-за основу взята игра S.T.A.L.K.E.R), так же есть небольшие наметки по поводу сюжета. Есть небольшой опыт в создании локаций, квестов, cut-scene на выбранном мной движке. Что делать дальше? Можно приступать непосредственно к созданию игры?

o

Александра Пархачук • 02 февраля 2018 в 10:40

Леонид, как уже немного знакомый с программированием человек посоетую сначала проработать сюжет и все его ответвления. Это для того, чтобы точно знать, какие функции/объекты/ресурсы/др. будут нужны для проекта. Ведь если изменится сюжет, те же локации, катсцены, квесты нужно будет менять, а это может потребовать переработки фактически всего кода просто потому, что понадобилось вставить новую функцию/переменную/... или наоборот, убрать то, на чём держалось несколько аспектов игры. Или как вариант - проработать игру так, чтобы не понадобилось ощутимых изменений кода для изменения сюжета или других внешних изменений игры.

·

Дима Афанасьев • 05 октября 2017 в 21:34

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

·

Raptor First • 16 августа 2017 в 15:26

Добрый день, меня зовут Кирилл, и я хочу создать 3D-игру MOBA, используя героев из одной книги, и я просто хочу знать, имею ли я право на создание этой игры. Я имею в виду, должен ли я иметь лицензию или что-то в этом роде? Пожалуйста помогите

o

Gold Nine • 10 ноября 2017 в 14:43

Raptor, думаю да, ведь эти герои, какая-то там собственость, поэтому не указывай своё авторство на игре и просто слей в сеть:D

·

Иван Иванов • 28 июня 2017 в 15:02

Я хочу создавать автогонки, типа Need For Speed или Gran Turismo.

·

Леонид Собакинских • 23 июня 2017 в 18:52

Отличная статья! Прочитав её я ещё сильнее загорелся желанием заняться саморазвитием именно в сторону игрового ремесла.
Моё уважение автору

Рекомендуем статьи

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2020-04-06 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: