Найти в Дзене
Beyond

Что такое компьютерная игра? Часть №2

Итак, вот Вы включаете компьютер. На экране появляется рабочий стол и Вы кликаете на ярлык своей любимой игры. Вы можете себе представить, что происходит в той коробке, что стоит у вас под столом? Вы вообще можете ответить на вопрос "Что такое компьютерная игра?" Нет? Тогда мы вам поможем! В данной серии статей вы узнаете: Что такое видеоигра, Как она работает и Благодаря чему она работает. Вы конечно можете покопаться в "самых нижних интернетах" и сказать: "Да я и так всё знаю и вообще не надо учить учёного!" Хорошо, будь по вашему. Для остальных я попробую как можно проще объяснить архитектуру интерактивного развлечения. Как работает видеоигра? Как я уже говорил в прошлой статье, любое действие компьютера является последовательностью единиц и нулей. Но что касается игры? Не может ведь она просто состоять только из этого? Хороший вопрос. Для создания игр используются всякие языки программирования типа Java, C++ и т.д. (Если хотите, расскажу о них подробнее). Но всех их объединяеь одно

Итак, вот Вы включаете компьютер. На экране появляется рабочий стол и Вы кликаете на ярлык своей любимой игры. Вы можете себе представить, что происходит в той коробке, что стоит у вас под столом? Вы вообще можете ответить на вопрос "Что такое компьютерная игра?" Нет? Тогда мы вам поможем!

В данной серии статей вы узнаете: Что такое видеоигра, Как она работает и Благодаря чему она работает.

Вы конечно можете покопаться в "самых нижних интернетах" и сказать: "Да я и так всё знаю и вообще не надо учить учёного!" Хорошо, будь по вашему. Для остальных я попробую как можно проще объяснить архитектуру интерактивного развлечения.

Как работает видеоигра?

Как я уже говорил в прошлой статье, любое действие компьютера является последовательностью единиц и нулей. Но что касается игры? Не может ведь она просто состоять только из этого? Хороший вопрос. Для создания игр используются всякие языки программирования типа Java, C++ и т.д. (Если хотите, расскажу о них подробнее). Но всех их объединяеь одно - они действуют по блок схеме.

Вы уже наверняка знаком с ней из уроков информатики. Блок схема работает как и бинарный код: ДА или НЕТ. Вот вам пример:

Блок схема
Блок схема

Поздравляю, Вы на пару минут стали компьютером! Тоже самое с языками программирования. Только в них это происходит гораздо проще. Вам не нужно прописывать какую-то команду самому, всё уже есть. Просто пишешь шаблонные команды и они уже сами выстраивают схему. Просто? Ещё бы!

Ну вот мы и подошли к вопросу о связи языка программирования с видеоигрой. Давайте как бы попробуем написать игру на как бы программном коде (дальше пойдут только сильнейшие!).

Допустим, игра наша будет про пешехода на дороге. Создадим пешехода и дадим ему текстуру. Затем нам нужно создать карту, что мы и делаем. Теперь нужно прописать каждый кустик, NPC, машину. Мы закончили. Теперь нужно прописать управление, движение, анимации, физику и т.д. И вот, когда мы закончили, у нас выйдет самая простая игра. Если хотите посмотреть подобные творения, просто взгляните на майнкрафт, который написан на Java одним человеком!

Java
Java

Ну а если вы прям считаете себя Hacermanом 90 Lv. то попробуйте поиграть в Screeps. Эта игра вместо стандартного управления клавишами или мышкой даёт вам только консоль. ЛЮБОЕ действие прописывается в консоль и только потом выполняется. Очень сложно для обычного геймера, но необычайно интересно для программистов.

Screeps
Screeps

Вы можете сказать: "Ну и зачем мне это? Есть ведь более удобный способ создавать игры! Там всякие движки, аниматоры и рендеры.". А я отвечу, что всё это тоже написано на определённом коде. И зная код программы, вы знаете программу. Да даже языки программирования написаны на языке программирования. Не верите? Давайте посмотрим:

C++ был разработан в 1983 году Бьёрн Страуструп и является популярным даже сегодня. C++ является усовершенствованием C. C является усовершенствованием B. B является усовершенствованием BCPL. BCPL является усовершенствованием CPL. CPL является усовершенствованием ALGOL 60. ALGOL 60 является усовершенствованием FORTRAN. FORTRAN является усовершенствованием Speedcoding. Ниже Speedcoding только Машинный код, который является прямыми инструкциями к ЦП. Вот так мы очутились в 1953 году. Есть ещё вопросы?

Генеалогическое дерево языков программирования
Генеалогическое дерево языков программирования

Если всё, что я только что сказал Вы хоть немного поняли, то Вы можете заниматься программирование профессионально. Ждите следующую часть и до скорого!

Рекомендую посетить: https://zen.yandex.ru/id/5e9f2b86c8c4f56528e7f201