Здравствуйте, уважаемые хабра-пользователи. Изначально этот топик должен был быть вопросом, но у меня нет возможности его опубликовать по понятным причинам. Весь его смысл заключается в том, что я разрабатываю программу обучения с 8-ых классов до самой аспирантуры (причём она здесь, читайте далее) по направлению «game development». От вас я прошу ознакомиться с ней и дать совет, как её доработать.
Чего я хочу
После окончания определённой программы обучения (университетской, стажёркой, самообразования или ещё чего-нибудь) я хочу быть разработчиком игр (программистом) (да, я знаю, есть много направлений, но конкретнее пока не определился). Поучаствовать в создании какого-нибудь StarCraft 3, скопить определённый капитал, открыть собственную инди-студию по разработке игр и жить припеваючи, занимаясь любимым делом.Что я знаю и умею
Пока не так уж и много. В плане программирования, освоил на неплохом уровне JavaScript (разбираюсь в таких важных вещах как переменные, циклы, функции, объекты, рекурсии и т. д., разбираюсь в таких особенностях языка как «утиная» типизация, наследование на основе прототипов, замыкания и др., а, соответственно, есть база для изучения других языков и программирования в целом). В качестве практики составил программу для построения фракталов методом L-систем (eng). В плане математики уже сейчас знаю важные вещи по геометрии, необходимые любому разработчику (теорема Пифагора, тригонометрия). Умею решать многие задачи (уравнения различных степеней, комбинаторика и многое многое другое (написал бы конкретнее, но не знаю, что из этого нужно разработчику игр)), да и вообще люблю математику — проблем с ней не будет.Что нужно изучить
Ясно, что раз я собрался быть разработчиком игр, то мне нужно разбираться в специальных алгоритмах для оптимизации программ, более эффективного потребления ресурсов. Думаю, частично этому можно научиться в ВУЗ'е, частично по книгам. Различные решения типовых задач в отрасли «game development» тоже придётся искать в книгах. Раз уж зашёл разговор про книги, то, несомненно, нужно выучить технический английский. И не только технический, ведь, насколько я понял, в России разработчику игр делать нечего. По сравнению с другими странами у российских игроделов всё серо и уныло. Так вот у меня возникает вопрос, насколько университетская программа по английскому языку далека от реально требуемого уровня (для переезда в англоговорящую страну). Кроме того, конечно же, нужны навыки реального программирования, но на этот вопрос я уже нашёл ответ (см. п. 4 из следующего раздела).Где и как я планирую учиться
Вообще, всю программу обучения можно разбить на несколько стадий:- (8-9 классы): И тут у меня уже возникает вопрос. Существует 2 варианта: либо остаться в родном лицее, либо пойти в СамЛИТ. Хочу у вас спросить, насколько важна подготовка по информатике и программированию на этой стадии обучения? Можно ли её пропустить ради других вещей? Подробнее:
- В моём лицее меня держит программа подготовки по математике. Точнее это не совсем так, там меня держат профессиональные учителя-энтузиасты, которые готовы вести кружки и просто заниматься с умными детьми, особое отношение к ученикам (различные освобождения от занятий, например, для подготовки к олимпиадам, личные программы обучения (меня, например, сняли с уроков алгебры по причине их элементарности)). Но минус в том, что у нас отсутствует программа по информатике. Совершенно. Ни кружков, ни работы на уроке (в лучшем случае дадут Pascal в 9 классе), ни энтузиастов. Конечно, я пытаюсь искать кружки в других местах, но пока безуспешно (Google молчит; никто ничего не знает) (на всякий случай, замечу, что я живу в Самаре). Если я останусь здесь, то придётся изучать программирование самостоятельно, чем в принципе я пока и занимаюсь (планирую в скором времени изучить C++).
- Есть другой вариант. В СамЛИТ'е совершенно непутёвая программа по математике. Зато в нём сильная подготовка по информатике. К примеру, можно посмотреть задания олимпиады, которую он проводит.
- (10-11 классы): Скорее всего я буду поступать в СУНЦ МГУ на компьютерную специализацию. Программа по математике почти не пострадает (или даже улучшится), зато информатику и программирование проходят на должном уровне (учеников готовят к поступлению на ВМиК МГУ). Я считаю, это будет полезно в качестве подготовки к ВУЗ'у.
- (ВУЗ): Наверно, многие мне скажут «Нужен ли тебе ВУЗ? В нём не учат делать игры». Я тоже думал об этом. Тут появляется много доводов в пользу того, чтобы в этот ВУЗ поступить.
- Никакого вреда. В самом деле, все расходы покрывает стипендия. А гуманитарные предметы можно как-нибудь перенести.
- Не буду оригинальным, но, конечно же, не придётся идти в армию. Просто нужно пройти подготовку на военной кафедре.
- Более солидный возраст. В самом деле, кто захочет иметь дело с 18-летним? Писать мобильные приложения в гордом одиночестве — не вариант.
- Конечно же, ВУЗ может дать полезные знания.
- Лучше быть с дипломом, чем без него.
- (Аспирантура): Теперь, наверно, вы смотрите на меня, как на сумасшедшего. Только, если вспомнить, что было написано ранее, всё встаёт на свои места. А ранее я писал, что мне нужны навыки практического программирования. Для этой цели я выбрал такое замечательное место (спасибо Хабру за информацию) как кафедра математических и информационных технологий СПбАУ РАН. Специализация, конечно же, «разработка программного обеспечения».