Справочник Жаркова по проектированию и программированию искусственного интеллекта. Том 11: Программирование на Visual Basic искусственного интеллекта. Издание 2
Шрифт:
Отличие данного сокращённого Издания от предыдущего: в главах даны описания игр и приложений, правила игры с использованием ИИ и создание проекта в Visual Studio, но без текстов программ.
Книга предназначена для всех желающих быстро изучить основы программирования искусственного интеллекта в разнообразных двухмерных и трёхмерных компьютерных играх и приложениях на базе популярного, совершенного и перспективного (в мире программирования) языка высокого уровня Visual Basic последних версий для настольных компьютеров, ноутбуков и планшетов, на этих основах сразу
В следующем томе автор (Жарков В. А.) продолжит описывать программирование ИИ в следующих играх и приложениях.
Вопросы, замечания и предложения по тематике наших книг и журналов можно направлять по email с сайта: ZharkovPress.ru.
Автор: доктор технических наук Жарков Валерий Алексеевич (город Москва).
Часть I. Краткие основы Visual Basic
Глава 1. Основные определения книги
1.1. Классификация компьютерных игр
Компьютерная игра (computer game) – это взаимодействие человека с компьютером по определённым правилам с целью обучения, тренировки или развлечения.
Правила игры задет алгоритм, который реализуется при помощи игровой программы (game program), написанной на различных языках программирования для разнообразных компьютеров и мобильных устройств, работающих под управлением различных операционных систем.
Во время игры на экране воспроизводится игровая ситуация, один или несколько игроков анализируют её и реагируют при помощи устройств ввода, для – это кнопки джойстика и кнопки клавиатуры. Компьютерные игры, хорошо спроектированные, развивают профессиональные, познавательные и художественные способности человека.
Большое количество игр для настольных компьютеров и мобильных устройств можно классифицировать по различным признакам и типам в зависимости от преследуемых целей.
С классификацией по типу операционной системы мы определились – это Microsoft Windows.
С классификацией по типу языка программирования высокого уровня мы также определились – это Microsoft Visual Basic из среды разработки Microsoft Visual Studio последних версий.
С классификацией по типу размерности изображения (двухмерные и трёхмерные) также ясно. В данной серии книг мы спрограммируем ИИ в играх и приложениях как без использования технологии DirectX, так и с использованием DirectX и XNA последних версий, которые поддерживает Microsoft.
Далее, по сюжетам и целям, различают несколько типов игр.
Логические – игры, близкие по содержанию к обычным головоломкам (которые называются также пазлами, от английского слова puzzle – головоломка) и математическим упражнениям, а также компьютерные варианты различных настольных игр (шахматы, шашки, нарды и т.д.). В головоломке или математическом упражнении мотивация, основанная на азарте, сопряжена с желанием одного игрока решить задачу быстрее другого игрока. А в игре типа шахмат мотивация основана на желании обыграть компьютер, доказать своё превосходство над машиной.
Аркадные (arcade game) – игры с путешествиями и приключениями, сюжет которых, как правило, слабый линейный, игроку не нужно особо задумываться, а нужно только, управляя компьютерным персонажем или транспортным средством, быстро передвигаться, стрелять и уничтожать движущиеся объекты. При этом игрок набирает очки, зарабатывает дополнительные “жизни”, переходит на следующий более высокий уровень данной игры. В аркаде игрок в большей степени ориентирован не на процесс игры, а на результат. К этому типу относятся также разного рода “бегалки”, “стрелялки” (shooter) и экшны (action).
Игры на быстроту реакции. В этих играх игроку нужно проявлять ловкость и быстроту реакции при нажатии кнопок , уметь нажать кнопку на опережение с учётом перемещения объектов. Эти игры во многом похожи на аркады, но, в отличие от последних, обычно не имеют сюжета и сценария, абстрактны и не связаны с реальной действительностью. Но здесь также есть и азарт, и желание набрать больше очков, чем другой игрок.
Приключенческие или сюжетные (adventure game) – игры, в которых игрок действует по определённому сюжету и сценарию приключенческого, сказочного, фантастического или мистического содержания.
Стратегические или позиционные (extensive game) – игры, в которых игрок управляет армией, городом, страной и другими масштабными объектами.
Игры-имитации моделируют управление игроком автомобилем, вертолётом, самолётом, ракетой и другими подобными машинами.
Спортивные игры – компьютерные реализации разнообразных популярных спортивных игр (футбол, гольф и т.д.).
Традиционно азартные игры – это компьютерные варианты разнообразных карточных игр, игры в кости, рулетки, имитаторы игровых автоматов и других игр казино, существовавших задолго до изобретения компьютера.
Интерактивные (interactive game) – игры, имеющие чётко выраженную форму диалога игрока с компьютером или мобильным устройством.
Сетевые (network game) – игры, в которых могут участвовать несколько партнёров, взаимодействующих между собой через глобальную сеть Интернет или через локальную сеть LAN – Local Area Network.
Учебные (training game) – игры, способствующие развитию профессиональных возможностей человека.
По психологическому признаку игры условно делятся на ролевые и не ролевые. Ролевая игра (RPG – Role Playing Game) – это игра, в которой игрок принимает на себя роль компьютерного (конкретного видимого на экране или воображаемого) персонажа.
Известны также игры, не имеющие решения (no-solution game), и многие другие.
Современные игры сочетают свойства различных типов, имеют хорошее мультимедийное оформление, сложную мотивацию решения загадок, разветвлённую сюжетную линию, поэтому часто сложно определить, к какому же типу относится игра, и нужно выбрать наиболее подходящий тип.
Захватывающие игры для мощных мультимедийных настольных компьютеров и графических станций используют огромные возможности мультимедиа и погружают игрока в виртуальную реальность. Игры для мобильных устройств, описанные в наших предыдущих книгах, можно активно пользоваться там (например, в транспорте), где настольный компьютер недоступен.