Программисты давно являются ярыми сторонниками видеоигр, и совпадение этих двух вещей не просто совпадение.

Глядя на то, как возникли игры, и на толпу, стоящую за ними, неудивительно, что эти два поля так взаимосвязаны. По сути, видеоигры - это воплощение страсти программистов к настольным играм.

Чтобы по-настоящему понять, насколько видеоигры оказали влияние на программистов, почти невозможно не упомянуть историю ролевых игр (РПГ).

Подземелья и драконы

Dungeons and Dragons - одна из тех вещей, которые повсюду оказали свое влияние. От популярных СМИ, изображающих ботаника как заядлого мастера подземелий, до одного из величайших подкастов «Зона приключений».

Велика вероятность, что кто-то, читающий это, либо играл, либо знает кого-то, кто играл. По мере того, как стигма игрока становится все меньше, все больше и больше людей приходят к знаменитой настольной игре.

Но вначале их было немного. С 1974 года Гэри Гайгакс является пионером, несомненно, крупнейшей и самой успешной настольной ролевой игры.

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

Для всех участников они знали тонкости игры. Это было больше, чем просто бегство от реальности, это было тяжело. Проценты везде. Бросьте шансы. Мин / макс для тех, кто хочет быть сильным.

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

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

Шло время, и толпа росла, и компьютеры тоже начали расти. Поскольку домашние компьютеры становились все более доступными и популярными, то, когда люди пытались перенести свое любимое занятие в компьютерную среду, было лишь вопросом времени.

Акалабет, Ультима и Волшебство

Это было в конце 70-х - начале 80-х годов, когда вычисления действительно стали становиться более доступными. Одной из первых попыток доморощенной кампании на ПК была Akalabeth: World of Doom.

Созданный Ричардом Гэрриотом в старшей школе с языком Applesoft BASIC, Akalabeth был настоящим опытом D&D, для которого не требовалась вечеринка из четырех человек.

Поскольку в то время игры только начинали развиваться, Akalabeth намного опередила свое время. Это был один из (если не первый) сканер подземелий, который вызвал широкое распространение среди студентов колледжей.

Поскольку в то время Steam не существовало, Гэрриот написал весь код и сохранил его копии на дискетах, которые продавались в местных магазинах в пакетах с застежкой-молнией.

Акалабет стал идеальным переходом от D&D к компьютерной ролевой игре, поскольку он заложил основу того, чем может быть компьютерная ролевая игра.

В конце концов, эта игра породила две целые серии, в которых появилось несколько записей под названиями Ultima и Wizardry. Обе серии основывались на разных философиях, но имели одни и те же знакомые элементы ролевой игры.

Во всех этих играх многочисленные таблицы персонажей, классы, расы и кампании были преобразованы в необработанные данные, которые можно было использовать для взаимодействия с игроком. Коллекции правил, которые есть в Dungeons and Dragons, упрощают создание набора данных, соответствующих этим правилам.

Как это повлияло на программирование

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

Единственный выход к собственному приключению: научиться программированию.

Молодые люди использовали компьютеры своих родителей для написания простых программ и игр, которые делали их лучшими программистами. Маленькие дети во всем мире начали изучать BASIC с типичных:

// 10 ПЕЧАТЬ «ПРИВЕТ, МИР»

// 20 GOTO 10

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

Программирование было забавным.

Люди могли создавать детализированную графику и развлекаться, казалось бы, из ничего.

Мир игр с самого начала привлекал людей к созданию собственных приключений. Люди всех возрастов и разного уровня подготовки, которые имели доступ к играм и хотели их создавать, поэтому вполне естественно, что им придется заняться программированием.

Даже сейчас людям приходится писать код на определенном уровне, чтобы создавать игры. Хотя такие вещи, как Game Maker Studio, действительно существуют с функциями перетаскивания, все, что немного сложнее, потребует некоторого количества кода.

У меня самого было такое же начало программирования. Я вырос, играя в такие игры, как Final Fantasy, и всегда хотел создать себе равного. В то время я начинал с Game Maker, но быстро понял, что мне нужно погрузиться в их собственный язык программирования.

Game Maker вскоре погрузился в другие, более мощные языки, такие как Java или Python. Эти языки привели меня к другим движкам для создания игр, таким как libGDX и Unity, которые очень тяжелы с кодом.

Однако как только я вошел в код, я понял, что существует гораздо больше возможностей, чем игры.

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

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

Почему игры важны для программирования

Мало того, что эти две области срослись вместе, игры превратились в отличные ворота для обучения программированию. Это что-то чрезвычайно доступное, а создание такого, казалось бы, простого, как Super Mario, требует времени, самоотверженности и отличных знаний во многих аспектах программирования.

Начало разработки игр также помогает расширить ваши навыки. Это больше, чем просто самый простой графический интерфейс, созданный с помощью JavaFX, и какой-то простой код для печати hello world. Разработчики игр включают в себя широкий спектр тем, таких как анимация, звук, ввод / вывод, сериализация (для сохранения игр), выполнение каких-либо действий при нажатии клавиш и т. Д.

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

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

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

Вывод

Программирование существует уже давно, и, вероятно, не было бы таким популярным, как сейчас, без игр и естественной потребности возиться. Дети хотят создавать игры, они начинают программировать, а затем начинают успешную жизнь.

Так что, если вы хотите заняться программированием и вам нужен толчок или мотивация, просто сделайте то, что вам нравится. Может быть, вы не хотите создавать игры, но, может быть, вы хотите создать нужное приложение. Возможно, у вас есть отличная идея для веб-сайта.

Игры были просто отправной точкой для поколений программистов и привели индустрию туда, где она есть сейчас. Так что в следующий раз, когда вы будете сидеть сложа руки, играя в видеоигру, просто вспомните, как мы сюда попали: группа детей пишет на BASIC, чтобы воплотить свои приключения в реальность.