Вводная статья в разработку видеоигр
Введение
Часто люди задаются вопросом: с чего собственно начинать разработку видеоигры? Походу статьи я буду постепенно отвечать на этот вопрос, раскрывая некоторые аспекты. А раскрывать аспекты я буду со стороны программиста, поэтому тема будет всецело посвящена начинающим программистам в этой области.
С чего же начать?
Надо начать с выбора языка и графического интерфейса, но сейчас я немножко отступлю от этой темы, поскольку вы уже могли подумать «а почему бы не использовать движок?».
Время показало, что люди часто используют всякого рода программы и готовые движки, облегчающие разработку игр, вроде Game Maker’а и схожими с ними. Они помогают быстро создать свою игру и все бы хорошо, если бы не ряд минусов этого пути:
Но если не движок, то что?
К вам приходит XNA
Вы, возможно, слышали уже об этом Фреймворке, это надстройка над DirectX, которая делает за вас основную работу: создает окно, инициализирует графическое устройство, а также собирает все компоненты, такие как Ввод, Аудио, Графику и другие воедино. Иными словами XNA создает основу, которая позволяет вам сразу приступить к написанию игры. К слову сказать, надстройка XNA создана под язык Visual C#, который изучается налегке.
А тут идет уже самый вкусный кусок, который выходит при использовании Visual C# и XNA:
Изучение
Visual C#
Начинать изучение имеет смысл с самого языка Visual C#, поэтому советую вам для начала взяться за книжку. Для изучения основ я читал «Sam’s Teach Yourself the C# Language in 21 Days», изучив основы ООП, вы можете приступить непосредственно к программированию игр.
XNA
Первую книжку по XNA, которую я прочитал и, которая мне неплохо помогла, была «Программирование игр под Windows в XNA Game Studio Express» она помогает разобраться в основах XNA. (единственное замечание там могут встречаться ошибки и версия XNA в учебнике немного устарела)
Для дальнейшего обучения стоит найти пару других книжек и параллельно пользоваться ресурсами:
Английский сайт по XNA (официальный): create.msdn.com/
Там же есть очень полезный каталог примеров: create.msdn.com/en-US/education/catalog/
И форум forums.create.msdn.com/forums/, где можно задать вопросы, если вы владеете английский языком. Там вам смогут помочь доброжелательные люди, если у вас что-то не будет получаться.
Из русских: XnaDev xnadev.ru/, честно говоря, редко там был, поэтому сказать о нем много не смогу.
Важные замечания
В перспективе
После пары проектов (не обязательно больших), созданных на языке Visual C# с XNA у вас появится достаточно опыта, чтобы легко перейти на более сложные вещи, такие как Visual C++ DirectX/OpenGL.
Приятного геймдева!
Часто люди задаются вопросом: с чего собственно начинать разработку видеоигры? Походу статьи я буду постепенно отвечать на этот вопрос, раскрывая некоторые аспекты. А раскрывать аспекты я буду со стороны программиста, поэтому тема будет всецело посвящена начинающим программистам в этой области.
С чего же начать?
Надо начать с выбора языка и графического интерфейса, но сейчас я немножко отступлю от этой темы, поскольку вы уже могли подумать «а почему бы не использовать движок?».
Время показало, что люди часто используют всякого рода программы и готовые движки, облегчающие разработку игр, вроде Game Maker’а и схожими с ними. Они помогают быстро создать свою игру и все бы хорошо, если бы не ряд минусов этого пути:
- Вы получаете поверхностный опыт в разработке игр (если это можно назвать опытом)
- Бывает, что найти информацию по движку очень трудно, а на крики помощи отвечают единицы
- Вы ограничиваете свои возможности (чаще всего у вас нет доступа к исходному коду, а предлагаемый функционал вам не подходит)
- Вы вбиваете себя в рамки, которые могут помешать реализацию игры (платные лицензии и другие подводные камни)
- Вы попусту теряете время (причина будет описана ниже)
Но если не движок, то что?
К вам приходит XNA
Вы, возможно, слышали уже об этом Фреймворке, это надстройка над DirectX, которая делает за вас основную работу: создает окно, инициализирует графическое устройство, а также собирает все компоненты, такие как Ввод, Аудио, Графику и другие воедино. Иными словами XNA создает основу, которая позволяет вам сразу приступить к написанию игры. К слову сказать, надстройка XNA создана под язык Visual C#, который изучается налегке.
А тут идет уже самый вкусный кусок, который выходит при использовании Visual C# и XNA:
- Вы изучаете Visual C# — хороший язык для начинающих программистов, опыт в котором можно будет применить и в других, более сложных языках
- У вас свободный полет мысли
- В интернете много материала по XNA, который поможет вам разобраться в основах, а потом перейти к более сложному уровню
- Вы получаете опыт написания игрового кода, который можно будет применить в других языках и графических интерфейсах
- Visual C# Express и XNA абсолютно бесплатны (единственное замечание по XNA: бесплатен для PC игр, для Xbox иWindows Phone 7 вам придется покупать подписку на их официальном сайте, но это мелочи и не обязательно)
Изучение
Visual C#
Начинать изучение имеет смысл с самого языка Visual C#, поэтому советую вам для начала взяться за книжку. Для изучения основ я читал «Sam’s Teach Yourself the C# Language in 21 Days», изучив основы ООП, вы можете приступить непосредственно к программированию игр.
XNA
Первую книжку по XNA, которую я прочитал и, которая мне неплохо помогла, была «Программирование игр под Windows в XNA Game Studio Express» она помогает разобраться в основах XNA. (единственное замечание там могут встречаться ошибки и версия XNA в учебнике немного устарела)
Для дальнейшего обучения стоит найти пару других книжек и параллельно пользоваться ресурсами:
Английский сайт по XNA (официальный): create.msdn.com/
Там же есть очень полезный каталог примеров: create.msdn.com/en-US/education/catalog/
И форум forums.create.msdn.com/forums/, где можно задать вопросы, если вы владеете английский языком. Там вам смогут помочь доброжелательные люди, если у вас что-то не будет получаться.
Из русских: XnaDev xnadev.ru/, честно говоря, редко там был, поэтому сказать о нем много не смогу.
Важные замечания
- Не стоит гнаться за серьезными проектами, когда вы только начинаете изучение. Лучше начать с простенькой игры, которая будет, прежде всего, для вас. Пусть это и будет «еще один» платформер, тут главное получить опыт – дальше дело техники
- Как не прискорбно, но большая часть материала по XNA на английском языке
В перспективе
После пары проектов (не обязательно больших), созданных на языке Visual C# с XNA у вас появится достаточно опыта, чтобы легко перейти на более сложные вещи, такие как Visual C++ DirectX/OpenGL.
Приятного геймдева!
1 комментарий