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

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

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

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

Конечно, глупо бросаться в дебри трехмерного программирования сложных стрелялок и им подобных игр, превуалирующих на ПК. Каким бы вы нибыли замечательным программистом, написать подобный шедев, увы, одному будет не под силу. Тем не менее, это не означает, что браться за подобное не стоит. Например, я лично знаю московского программиста, которому всего 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 просто не запустится на них.

Crysis 3 полностью показывает возможности Direct X 11

Что касается литературы, то я затрону эту тему в рубрике чтиво. А сам процесс написания подобной игры освещу в вышеупомянутых уроках по C++.

Если вы  все же решили, что с программированием игр для компьютеров не стоит связываться, а уж лучше начать  писать для IOS, Android и WP, то тут вам помогут различные готовые фрэймворки.  Например, для WP сильно облегчает жизнь XNA (кто не знает об этом фрэймворке, могу сказать, что он упрощает разработку игр и для десктопных версий Windows и для XBOX 360).

Для Андроида и IOS есть кроссплатформенный фрэймворк Cocos 2D, позволяющий писать игры на любимом многими программерами C++. Тоже самое можно сказать и о Marmalade SDK.

Если же вам не дает покоя интернет и вы устали читать статьи о том, как тот или иной программист «срубил» денег на очередной «Веселой Ферме», то тогда стоит изучать HTML 5,  PHP, или Action Script. Честно говоря, я сам не сторонник соцсетей в принципе, поэтому точные рекомендации дать вам не смогу. Хотя сейчас это направление заинтересовало и меня. Поэтому в рамках блога programbeginner.ru я буду разбираться вместе с вами, уважаемые читатели, все нюансы разработки игр для соцсетей.

Ну и напоследок. По собственному опыту (сейчас отслеживаю за моей игрой Kilx) могу сказать, что кажуальные игры отставались и остаются популярными у обывателей. Поэтому не стесняйтесь писать головоломки и прочие аркады. Их писать легко, быстро и можно ставить на поток.

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


Яндекс.Метрика