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

Учусь в школе, 10 класс, своей профессией выбрал программирование, в будущем очень хочу заняться игростроем. Из языков знаю Pascal и Python, но пользуюсь только пайтоном. Ничего выдающегося не написал, несколько простых 2d игрушек (Змейка, Арканоид, ...) на PyGame, пару скриптов и граббер для личных целей. Btw, как я уже сказал - хочу заняться геймдевом. От вас, уважаемые хабравчане, хотелось бы услышать ответы на следующие вопросы:

1. Какой язык выбрать первым (основным в будущем)? Критерии - хорошая документация и кроссплатформенность. Довольно долгий гуглёж поставил перед выбором - C++/C#/Java. Лично я склоняюсь к C#, но пугает его анальное рабство у Microsoft. Mono мне кажется костылём, поправьте если я не прав. Меньше всего хотелось бы изучать Java. Причину не знаю, неприязнь какая-то, просто не нравится. На счет C++ - под критерии он подходит отлично, но мне кажется изучение затянется на слишком долгий срок, меня это пугает. Прошу, укажите на преимущества какого-либо из языков, или предложите свои варианты (желательно аргументируя).

2. Какую литературу почитать? Я понимаю что для создания хороших игр нужна хорошая математическая подготовка, и если с Алгеброй у меня все отлично, то с Геометрией и Физикой не всё так гладко. Наверняка есть специализированная литература где описаны именно те аспекты математики которые нужны в геймдеве. Плюс, возможно литература по проектированию игр, их архитектура и т.п. Естественно, если вы ответили на первый вопрос, желательно указать хорошие книги по языку.

P.S От книжек по программированию (именно программированию, написанию кода, а не языках) я бы тоже не отказался.
  • Вопрос задан
  • 25670 просмотров
Решения вопроса 1
CheshireCat
@CheshireCat
full-stack developer
Я не профессионал в игроделе, более того, я тоже только собираюсь влиться в игродел, правда, имею опыт в "обычном программировании" (Objective-C - программирование под OS X/iOS), но вставлю свои "5 копеек" по теме:

1) С#
Да, корни в Microsoft, да, Mono это что-то вроде костыля... но на данный момент мы имеем отличный язык с кросс-платформенными решениями любого уровня сложности.
2) Книги. Из концептуального и свежего:
Designing Games - от с чего начать до работы в команде.
Из практики, возьмем, к примеру, Unity3D (даю его, так как сам начинаю в нем работать):
Beginning 3D Game Development with Unity 4. Больше на примере других языков смотреть здесь. Ахтунг - везде английский! И без него никуда.
Ответ написан
Пригласить эксперта
Ответы на вопрос 5
@dasannikov
C# и Unity - лучший старт, и масса видео и текстовых туториалов по нему.
Ответ написан
iAmDanny
@iAmDanny
Вижу несколько путей:

1. C++ & Lua/Python/другой скриптовый язык. C++ для основы игры, второй язык для написанря скриптов, например, поведения персонажей. Кстати, связку с Lua если я не ошибаюсь использует Valve.

2. C# & JavaScript & Boo. Потому что это языки Unity.

3. Продолжать изучать Python и PyGame, если тебе понравился питон. Потому то на самом деле питон — классный язык.

4. Сейчас становится модным делать web-приложения (в том числе и игры) на HTML, CSS и JS. С помощью таких инструментов, как nod-webkit и Adobe AIR эти приложения можно переносить на десктоп. Если пойдёшь по этому пути, обрати внимание на библиотеку WebGL — она позволяет создавать 3D-приложения прямо в браузере. А в качестве языка для сервернгой асти можно использовать тот же Python (если будешь онлайн-игр делать)
Ответ написан
Комментировать
GavriKos
@GavriKos Куратор тега Разработка игр
Учится делать игры лучше всего в команде. По другому - все равно будете переучиваться скорее всего.
Ответ написан
@beduin01
weend, D посмотри. На перспективу +2/3 года самое то будет. На нем кучу игровых движков простецких есть, так что разобраться не сложно будет.
Ответ написан
Комментировать
@DKpix
Советую начать с конструкторов. Помимо уже рекомендованного юнити, есть множество простых и достаточно мощных (для начинающего) инструментов. Программирования и там вполне достаточно, чтобы "с нуля" понять общие принципы. Кроме того, результат будет виден почти сразу. Всё таки, "обычное" программирование демонтивирует тем, что играбельное нечто у новичка на нём появляется не скоро. От себя могу посоветовать Stencyl. Он архипростой и, что немаловажно, делает игры в формате флэш. Которые окружающие смогут оценить без всяких танцев с JVM и библиотеками.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы