Нешуточные игры или как стать игроделом

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

Я знаю массу людей из своих знакомых, которым это невиннное хобби теперь стабильно приносит неплохой доход. Что и говорить – в игры люди будут играть всегда, так уж устроена наша психика. И написание продукта, в который будут играть повсеместно, с лихвой окупится в дальнейшем.

Тем не менее, игрописание очень сложный процесс. Скажу даже больше – если вы хотите в полной мере освоить программирование, то напишите мало-мальски сложную игру. Здесь вы непременно заполните пробелы в алгоритмике, ООП, математике, ну и лучше ознакомитесь с графическими библиотеками и популярными фрэймворками, а также с направлениями в геймдеве.

Конечно, глупо бросаться в дебри трехмерного программирования сложных стрелялок и им подобных игр, превуалирующих на ПК. Каким бы вы нибыли замечательным программистом, написать подобный шедев, увы, одному будет не под силу. Тем не менее, это не означает, что браться за подобное не стоит. Например, я лично знаю московского программиста, которому всего 19 лет, который четыре года как проклятый писал подобную игру. Естесственно, что рынок он не взорвал, однако сейчас его пригласили в Берлин по подобному профилю и он неплохо тем зарабатывает (кто не знает, на Западе мотивация программистов состоит из оклада, расширенного соцпакета и доли акций в компании. Чем лучше компания работает, чем больше прибыли получает, тем крупнее гонорар программиста). Так что овчинка выделки однозначно стоит.

Однако у программиста-игродела всегда будет голова забита различными возможностями. Компьютеры и игровые консоли постепенно вытесняются мобильными гаджетами типа смартфонов и планшетов. Кроме того, все активнее и активнее люди больше проводят времени за играми в соцсетях. Это все нужно учитывать при проектировании своей игры.

Но несмотря на это, все же рекомендую написать хотя бы небольшой движок игры для Windows. Здесь вам помогут многочисленные книги и статьи. Кроме того, на моем блоге в разделе «Уроки по C++» мы также напишем с вами небольшую игру. Забегая несколько вперед, могу сказать что такие игры пишутся с использованием графических библиотек типа MS Direct X и OpenGL.  В принципе, с учетом такого движка, как Ogre 3D, можно спокойно изучать OpenGL и знать, что его изучение сторицей окупится при написании игр на мобильных платформах (там используется OpenGl ES). Главное достоинство этой графической библиотеки заключается в относительной простоте ее изучения. Direct X значительно тяжелее в изучении. Тем не менее, стоит изучать и его. Как знать, может быть затея со Сколково принесет какой-нибудь результат и там будет построен технопарк, и игры с наклейкой «Made in Russia» потеснят американские?

Если вы надумали начать изучение именно с DirectX, то вам непременно понадобиться, как минимум, свежая версия этой библиотеки, и как максимум – MS DirectX SDK. Скачать последнюю вы можете на сайте мелкомягких. В этом пакете помимо всех нужных нам библиотек будет и справочная документация с примерами кода. К сожалению, программисту придется также изучить и 9 версию. Количество компьютеров с  Windows XP еще довольно велико и игра, написанная на Direct X 11 просто не запустится на них.