Многие приложения и игры в книге основаны на программах, или разработанных корпорацией Microsoft, или опубликованных на сайте корпорации Microsof. Поэтому эти программы являются очень мощными и могут быть использованы не только при разработке ИИ в самых разнообразных играх, но и на практике для разработки различных приложений. Структура книги продумана таким образом, чтобы читатели могли создавать на профессиональном уровне (по методологиям и программам из данной и предыдущих наших книг и журналов с сайта ZharkovPress.ru) свои приложения, игры и открытые графические и вычислительные системы с применением двухмерных и трёхмерных изображений и звуковых эффектов, могли вводить разнообразные исходные данные и на выходе приложения или игры получать с использованием ИИ те результаты, которые необходимы именно им и характерны для их профессиональных или непрофессиональных интересов.
Отличие данного сокращённого Издания от предыдущего: в главах даны описания игр и приложений, правила игры с использованием ИИ и создание проекта в Visual Studio, но без текстов программ.
Книга предназначена для всех желающих быстро изучить основы проектирования и программирования искусственного интеллекта в разнообразных двухмерных и трёхмерных компьютерных играх и приложениях на базе самого популярного, совершенного и перспективного (в мире программирования) языка высокого уровня Visual C# последних версий для настольных компьютеров, ноутбуков и планшетов, на этих основах сразу же проектировать ИИ в сложных играх и приложениях и применять ИИ на практике или на отдыхе в разнообразных сферах профессиональной и непрофессиональной деятельности. Также адресована начинающим и опытным пользователям, программистам любой квалификации, а также учащимся и слушателям курсов, студентам, аспирантам, учителям, преподавателям и научным работникам.
В следующем томе автор (доктор технических наук Жарков Валерий Алексеевич) продолжит описывать программирование ИИ в следующих играх и приложениях.
Вопросы, замечания и предложения по тематике наших книг и журналов можно направлять по email с сайта: ZharkovPress.ru.
Автор: доктор технических наук Жарков Валерий Алексеевич (г. Москва).
Часть I. Краткие основы Visual C#
Глава 1. Основные определения книги
1.1. Классификация компьютерных игр
Компьютерная игра (computer game) это взаимодействие человека с компьютером по определённым правилам с целью обучения, тренировки или развлечения.
Правила игры задет алгоритм, который реализуется при помощи игровой программы (game program), написанной на различных языках программирования для разнообразных компьютеров и мобильных устройств, работающих под управлением различных операционных систем.
Во время игры на экране воспроизводится игровая ситуация, один или несколько игроков анализируют её и реагируют при помощи устройств ввода, для это кнопки джойстика и кнопки клавиатуры. Компьютерные игры, хорошо спроектированные, развивают профессиональные, познавательные и художественные способности человека.
Большое количество игр для настольных компьютеров и мобильных устройств можно классифицировать по различным признакам и типам в зависимости от преследуемых целей.
С классификацией по типу операционной системы мы определились это Microsoft Windows.
С классификацией по типу языка программирования высокого уровня мы также определились это Microsoft Visual C# из среды разработки 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), и многие другие.
Современные игры сочетают свойства различных типов, имеют хорошее мультимедийное оформление, сложную мотивацию решения загадок, разветвлённую сюжетную линию, поэтому часто сложно определить, к какому же типу относится игра, и нужно выбрать наиболее подходящий тип.
Захватывающие игры для мощных мультимедийных настольных компьютеров и графических станций используют огромные возможности мультимедиа и погружают игрока в виртуальную реальность. Игры для мобильных устройств, описанные в наших предыдущих книгах, можно активно пользоваться там (например, в транспорте), где настольный компьютер недоступен.