Видеоигры. Еще на стадии своего появления, они являлись чем-то божественным, способным вовлечь человека на долгие часы, которые пролетали быстрее, чем птичка перед глазами. Первые электронные игровые устройства позволяли играть в черно-белые игры с квадратной графикой. Переносные игровые устройства работали не с пикселями, а с маленькими лампочками. Определенные лампочки загораются и образуют некоторое подобие рисунка. Нажатие на кнопку влияет на работу электронной схемы, которая управляет входом процессора, а тот своим выходом, зажигая те или иные лампы.
Известный портативный "Тетрис" или "Волк ловит яйца" являются аналогом ламповых портативных игровых устройств. Затем в процессе стали участвовать телевизоры и специальные приставки, которые формировали нужное изображение и давали игроку контроль над событиями.
Сейчас эти приставки выросли до "космического" уровня и теперь Playstation 4 или 5 показывает игрокам не только искусство разработчиков, но и возможности современных технологий по сравнению с Nintendo.
Первые компьютерные игры создавались на языке программирования Assembler низкого уровня. Команды писались напрямую для процессора без удобных языковых конструкций современных языков. Не было движков и библиотек, а лишь чистый код.
Современные игры разрабатываются, используя комплекс программного обеспечения и часто с помощью живой видеосъемки, а также музыкальных инструментов. Минимальный комплекс программ для разработки компьютерной игры включает следующее:
Для создания более живых моделей персонажей используют видеосъемку. Далее отснятые движения форматируются в векторный объект, который затем становится игровым персонажем. Графика программируется за счет изменения свойств объектов: ширина, высота, положение на экране x,y(2D) и z(3D).
Сама по себе игра представляет собой бесконечный цикл перерисовки объектов на экране в единицу времени (frames per second — fps). Игрок нажимает кнопки управление и свойства объектов изменяются, появляются новые, какие-то исчезают, картинка движется далее по уровню, происходит озвучка действий. Это лишь общая картина всего происходящего. На самом деле игра — это та же программа. Просто приоритет отдается обработке графики.
Для разработки игр есть свои языки программирования:
Для создания игр нужно уметь:
Сложность в гейм-разработке создает далеко не программирование, но дизайн. Красиво оформленная игра стоит больших усилий. Ведь можно использовать как векторную графику, так и растровую. Музыка и звуковые эффекты — это отдельное направление. Мало кто захочет использовать уже запатентованные звуковые дорожки для создания новой уникальной игры.
С момента становления игровой индустрии стало ясно, что игры не только нравятся очень многим, но и вызывают даже зависимость. Для устройства на работу в игровую индустрию можно на разную должность — дизайнер, программист, тестировщик, сценарист и даже композитор.
Сейчас стали популярны онлайн-игры. Владельцы серверов конкретной игры зарабатывают огромные деньги на внутриигровых покупках. При этом, множество пользователей предпочитают онлайн-игры по той простой причине, что бросать вызов реальным игрокам куда интереснее, чем искусственному интеллекту.
Работать геймдевелопером можно и на себя. Сейчас создано множество сервисов, которые позволяют продавать авторские игры даже по солидной цене. Лучше всего это осуществить в Steam или Google Play. Примером может послужить игра Stardew Walley — разработчик потратил на нее 4 года и создавая ее, обучался программированию. В итоге, выставив за покупку игры цену в 5 долларов — её купили миллионы. Можно представить, сколько заработал сам ее создатель.
Создание игр и софта — это самые сложные IT-специальности, но стоящие того, чтобы тратить на обучение свое время. Уметь разрабатывать игры — быть одним из тех, кто создает развлечения для людей по всему миру. Ваш продукт оценят и возможно захотят купить. Однако разработкой следует заниматься не думая только о деньгах, но и о самом проекте. Только так можно создать действительно что-то стоящее.