История компьютерных игр. Главная → История компьютерных игр → История компьютерных игр. Логическая структура компьютерной игры. А. Л. Пажитнов. Компьютерные игры (КИ) заняли прочное место в программном обеспечении ЭВМ. В западных странах это уже целая индустрия. У нас в стране КИ планируются как основной компонент программного обеспечения (ПО) для бытовых компьютеров. В производственной сфере КИ будут использоваться в качестве обучающих тренажеров, а также как одно из средств психологической разгрузки персонала.
Lunar Lander — аркадная игра, выпущенная Atari, Inc. в 1979 году, которая использует векторный монитор для отображения векторной графики. Хотя игра не пользовалась особенным успехом, генератор векторной графики аркадного автомата дал толчок для следующей игры Atari для аркадных автоматов : Если игрок успешно совершает посадку, ему даются очки, число которых. Соверши посадку на Луну Простенький, но забавный Moon-Lander! Высота Скорость Осталось топлива Использовано топлива % Торможение.. В качестве этого игрового.Первые игровые автоматы были придуманы в Америке в. музея не удалось обнаружить игровой автомат Посадка на луну. Даже в.. .автомата дал толчок для следующей игры Atari для аркадных автоматов: Asteroids[1]. Цель игры Lunar Lander — управлять посадочным лунным модулем, чтобы произвести мягкую посадку на поверхность Луны. Игровой процесс.. Архив рубрики: Симулятор посадки на Луну. Попытайтесь самостоятельно посадить космический модуль на Луну. Американское аэрокосмическое агентство НАСА построило виртуальную лунную базу и приглашает всех желающих поиграть в эту игру..
Важное место займут игры и в обучении (одна из форм компьютерных обучающих программ). В психологии КИ используются в качестве диагностических и тренинговых методик. Сами по себе КИ как предмет использования в других областях человеческой деятельности и как новое явление культуры становятся объектом изучения психологии.
Проанализируем структуру типичной компьютерной игры с точки зрения её внутреннего устройства и функционирования во время игрового взаимодействия. Результат такого анализа, возможно, поможет приблизиться к пониманию законов создания КИ, а также оценивать и классифицировать их. Понятие игры и игровой деятельности вообще слишком широко, чтобы провести сколько- нибудь содержательный анализ. Поэтому ограничим наше рассмотрение компьютерными играми реального времени на персональной ЭВМ (ПЭВМ) для одного играющего без применения специального оборудования (дополнительных клавиатур, "мышек", "джойстиков" и пр.).
Игра такого рода с точки зрения играющего представляет собой определенную задачу – в ней имеются условия, цель и средства её достижения. Решение задачи – процесс, управляемый играющим в реальном времени по установленным правилам. Течение процесса оценивается по установленному критерию. Выделим в КИ три функциональные компоненты: игровую среду (ИС), взаимодействие с играющим и оценку игровой ситуации. При очевидной связи и взаимозависимости их можно рассматривать как самостоятельные.
Другими словами, ИС – это основа, "мир", в котором развивается игровое действие. Так, в шахматах игровой средой будет совокупность, в которую входят: доска, два набора фигур, правила перемещения фигур по доске, а также правила взятия (и превращения) фигур.
В популярной КИ "Посадка на Луну" игровой средой будет вектор, описывающий параметры "сажаемого на Луну корабля" (массу, запас топлива, высоту, скорость), а также некоторое уравнение, связывающее эти параметры. Для распространенной КИ "Pacman" ИС – это лабиринт, в котором передвигаются персонажи: один, управляемый играющим, и несколько "врагов", управляемых программой.
ИС, которые происходят, когда играющий нажимает определенные клавиши дисплея. Заметим, что игры реального времени от игр- головоломок отличаются именно этой компонентой: в играх реального Бремени период времени между нажатиями существенно влияет на ход игры. Сюда включается система очков и штрафов за игровые действия, описание начальной и конечной игровой ситуации. Из перечисленных компонент важнейшая, безусловно, – это игровая среда.
История компьютерных игр начинается в 1947 году и охватывает шесть десятилетий. Лунный «спускаемый аппарат») — текстовую игру, симулятор посадки В июле Atari выпускает свой второй аркадный автомат Space Race.
Если она найдена удачно, то, изменяя другие компоненты, можно создать вариант игры с теми или иными свойствами (темпом, сложностью). После разработки игры на функциональном уровне (когда создана ИС, определены средства взаимодействия с играющим и намечена система оценок) начинается этап разработки компьютерной программы, реализующей данную игру. Игровая программа состоит, как правило, из двух частей: первая реализует внутреннюю (логическую) структуру КИ, т. е. Хотя вторая часть, определяющая форму протекания игры, связана больше с эстетическими и эргономическими критериями и не является, на наш взгляд, основной при создании новой игры, ей в настоящее время придается огромное значение.
В зарубежных КИ эксплуатируется довольно небольшое количество идей, реализованных с незначительными модификациями в правилах, но в огромном множестве внешних форм. В смысле программирования изобразительная сторона игры – значительно более трудоемкая часть, нежели логическая.
Тем не менее, основу игровой программы составляет её логическая структура. Подавляющее большинство КИ рассматриваемого нами типа имеет более или менее сходную логическую структуру.
Выделим в ней три иерархических уровня (плана) – оперативный, тактический и стратегический. Эти уровни находят, как правило, адекватное представление в структуре компьютерной программы. Это, как правило, передвижение на один шаг всех движущихся персонажей, элементарные изменения игровых ресурсов (времени игры и др.). В оперативный план входит также опрос, было ли воздействие играющего и, если было, соответствующая реакция на него.
Все изменения ИС за данный шаг обязательно отображаются на экране терминала. Этот план наиболее тесно связан с компонентой КИ, которую мы назвали взаимодействием с играющим. Разработка этого плана – наиболее критическое место (ограничения реального времени чувствуются сильнее всего). Поэтому разработчики стремятся к тому, чтобы совокупность изменений ИС на этом уровне была минимальной. Тогда можно иметь достаточный темп игры и уделить большее внимание изобразительной части.
Это наименее четко выделяемый уровень в структуре КИ. Хотя в некоторых играх он может вообще отсутствовать, для большинства КИ характерна следующая ситуация. Играющий действиями на оперативном уровне достигает в игре некоторого кульминационного положения, в результате чего он получает ощутимый выигрыш (или проигрыш). После этого в ИС происходят значительные изменения и начинается новый "тур". Так, в играх со стрельбой играющий, передвигая "пушку" (или цель), прицеливается, а затем "стреляет" (нажимая клавишу, служащую спусковым крючком), после чего фиксируется попадание (или промах) и появляется новая цель. Часть программы, реализующая подобный тур, и является тактическим уровнем игры.
Тактический план, естественно, включает в себя оперативный план, но имеет и собственную часть. В ней, как правило, более детально оценивается игровая ситуация и более значительно изменяется ИС (соответственно меняется экспозиция на экране).
Это придает игре своеобразный ритм. Для игр с переменной сложностью – таких, в которых задача для играющего усложняется по мере роста его совершенствования в игре – сложность очередного тура выбирается именно в тактическом плане. Тактический план игры лучше всего можно соотнести с компонентой, которую мы назвали оценкой игровой ситуации. ИС. Сюда входит тактический план, а также некоторые собственные действия, а именно: инициализация всех объектов и параметров, участвующих в игре; генерация основной игровой экспозиции; отслеживание критерия окончания игры: фиксация результатов игры. Поскольку именно на стратегическом уровне определяются объекты и связи игры, то он лучше всего соотносится с компонентой КИ, которую мы назвали игровой средой. Эта часть программы наиболее разнообразна в разных играх, именно в ней проявляется вся изобретательность и оригинальность разработчика. Исходя из проведенного анализа структуры КИ реального времени можно предложить обобщенную схему программы для реализации таких игр.
Воспользуемся нотацией языка Паскаль и наметим состав головной программы КИ рассматриваемого типа. Содержание вызываемых процедур определяется, собственно, конкретными правилами. Initialize_All. IF Help_Needed. THEN Write_Help_Text.
Strategic level ++++++ >. Define_Players_Level. Initialize_Game. WHILE Not_End_Of_Game DO. Tactic level +++++ }.
Initialize_Micro. Game. (Level_Of_Player, Currerrt_Result). WHILE Not_End_Of_Micro. Game DO. { +++++ Operating level +++++ }.
Step. Ask_Management. Delay(Current_delay). Operating level - -- }. Change Score. {- -- - Tactic level- -- -}. Give_Mark. Save_Result. Once_More. {- -- Strategic level - -- -}.
В процедуре Initialize_All инициализируются все элементы и параметры ИС, не подлежащие изменению в ходе игры. Как правило, такие действия необходимы, так как не все языки программирования позволяют иметь константы или инициализировать переменные определенной структурной сложности. В процедуре Draw_Poster на экране пишутся название игры, имена авторов и другая справочная информация. Логическая функция Help_Needed задает играющему вопрос, знаком ли он с правилами игры?
Если нет, то процедура Write_Help_Text выдает на экран терминала сведения о том, как пользоваться игрой. Цикл REPEAT–UNTIL реализует стратегический план игры.
В процедуре Define_Players_Level у играющего уточняется уровень сложности, на котором он хотел бы играть, и устанавливаются соответствующие параметры. В зависимости от них в процедуре Initialize- Game устанавливаются начальные значения для переменных ИС, изменяющихся в ходе игры.
Внутри цикла. WHILE Not_End_of_Game. DO BEGIN .. END. реализуется тактический план игры.
О нём – ниже. Стратегический уровень заканчивается вызовами двух процедур: Give_Mark даст дифференцированную оценку проведенной игре; Save_Result служит для запоминания результата игры в таблице рекордов. После окончания цикла логическая функция Оnсe_Моrе спрашивает играющего, хочет ли он сыграть ещё. Тактический план построен аналогично стратегическому.
В начале в процедуре Initialize_Micro_Game генерируется очередная игровая ситуация. Мы изобразили эту процедуру с параметрами, характеризующими квалификацию играющего и достигнутые результаты с тем, чтобы подчеркнуть, что в принципе сложность очередной тактической задачи может зависеть от этих факторов.)Далее следует цикл, реализующий оперативный план. Последняя процедура тактического плана – Change_Score– служит для подведения результатов для очередной локальной ситуации в игре. Управление циклом тактического плана осуществляется логической функцией Not_End_of_Game, в которой проверяются все условия окончания игры. В некоторых случаях это может быть простая логическая переменная. Оперативный план – самый внутренний цикл в схеме. Им управляет, как и в случае тактические плана, логическая функция Not_End- of_Micro- Game, которая проверяет условия перехода к следующей игровой ситуации.
Чаще – это логическая переменная или проверка какого- то условия. Процедура Step производит все локальные изменения ИС за один шаг.