Программирование стратегических игр с DirectX 9.0


Программирование стратегических игр с DirectX 9 0


Ранние стратегии реального времени
Также, как история древних веков содержит много загадок, прошлое стратегических игр реального времени не является полностью ясным. Многие люди утверждают, что первая стратегия реального времени —...
Utopia от Intellivision
В далекой, далекой местности, в двух милях вниз по грунтовой дороге мимо старой рыжей собаки, слева от большого дуба домашняя игровая система Intellivision населяла несколько гостинных в Соединенн...
Игровое поле
На Рисунок 1.1 показано представление игрового поля игры Utopia. Мир разделен на два отдельных острова. На игровом поле существуют несколько видов элементов: блоки, представляющие землю, здания, о...
Земля
Блоки, представляющие землю образуют два острова. На каждом квадрате земли может быть построено одно здание или ферма. Здания образуют инфраструктуру вашей колонии, а фермы обеспечивают продовольс...
Здания
Есть всего несколько типов зданий, которые можно выбрать, но каждый из них имеет важное значение для благосостояния цивилизации. Есть форты, фабрики, поля, школы, больницы, жилые дома и мятежники....
Форт в игре Utopia
Фабрики нужны чтобы приносить доход. Ваш итоговый счет зависит от количества накопленного золота, поэтому фабрики жизненно необходимы для победы. Каждая фабрика за один ход производит небольшое к...
Фабрика в игре Utopia
Поля очень просты — они обеспечивают людей пищей. Урожай с одного поля может прокормить 500 человек. Недостаток полей заключается в том, что они существуют ограниченное время. Вы должны создавать...
Океан
Значительная часть игрового поля занятя океаном. Океан — свободная зона, и никто не может владеть отдельным квадратом океана. Вы не можете строить в океане здания, но вы можете строить рыболовные...
Корабли
В игре вы можете покупать корабли двух типов: рыболовецкие и боевые. Когда вы строите рыболовецкое судно, оно появляется на ближайшем свободном квадрате вашей базы. Рыблолвецкими судами можно упра...
Рыба погода и пираты
Игрок имеет значительный контроль над миром, но есть вещи неподвластные ему. Косяки рыбы и пираты беспорядочно бороздят океан. Рыба полезна для получения золота, а пираты могут потопить ваш рыболо...
Трусливые пираты бороздят океан игры Utopia
Есть несколько погодных явлений: ливни, тропические штормы и ураганы. Ливни полезны, поскольку когда они проходят над полями, то приносят золото. Тропические штормы тоже приносят золото аналогичн...
Резюме
Как вы теперь знаете, Utopia имеет весьма небольшой набор руководящих правил. Игровой процесс достаточно прямолинеен, поскольку ваша основная задача — произвести наибольшее количество золота. В ко...
Populous от Bullfrog
Через несколько лет после дебюта игры Utopia компания Bullfrog выпустила игру Populous. Это не была типичная стратегия реального времени, поскольку вы не могли непосредственно создавать военные со...
Приманка
Первая игра Populous (сейчас игр с таким названием существует по меньшей мере три) была первой популярной игрой, позволяющей игроку побыть в роли «бога». Такая власть позволяет игроку испытать гор...
Строительство ландшафта
Другой уникальной особенностью игры Populous является возможность изменять ландшафт территории, на которой проживают ваши люди. Инструменты в игре позволяют вам создавать равнины или возвышенности...
Благодарности
Джим Хилл (Jim Hill) и Вес Бесквит (Wes Beckwith) из Wordware Publishing за издание этой книги. Бет Кохлер (Beth Kohler) и Хитер Хилл (Heather Hill) из Wordware за редактирование книги и допечатну...
Введение
Привет и добро пожаловать в восхитительный мир программирования стратегических игр! Стратегия всегда была одинм из моих любимых игровых жанров. Ничто в игровом мире не сравнится с длительной страт...
Первые популярные стратегии реального времени
Развитие большинства жанров видеоигр определялось появлением какой-либо популярной игры. Castle Wolfenstein и Doom сделали популярными трехмерные «стрелялки» с видом от первого лица. Игра SimCity...
Command & Conquer от Westwood
Прошло более десяти лет с момента выхода игры Utopia, когда компания Westwood выпустила быстро ставшую популярной стратегию реального времени Command & Conquer. C&C, как известно не была п...
Титульный экран игры Command & Conquer ©2002 Electronic Arts All Rights Reserved
Воспоминания возвращаются — моя армия готова, БМП загружены, воздушные силы заправлены и готовы к вылету, ядерное оружие готово к использованию. Я отдаю приказ «вперед» отвлекающему подразделению...
История
Предпосылка для игры Command & Conquer заключается в том, что вы контролируете команду Глобальной Оборонной Инициативы Объединенных Наций, или GDI. GDI воюет со злым Братством NOD, лидера кото...
Интерфейс
В C&C есть несколько элементов, перенесенных из более ранней игры Westwood, Dune. На Рисунок 1.7 можно заметить общие принципы организации интерфейса....
Интерфейс Command & Conquer ©2002 Electronic Arts All Rights Reserved
Как видно на рисунке, интерфейс состоит из следующих основных элементов: экран радара, индикаторы ресурсов, объекты для постройки, уровень энергии и игровая область....
Экран радара
Экран радара показывает вам территорию, стоения и подразделения на игровой карте. Сразу после запуска игры экран радара неактивен. Чтобы он включился, игроку необходимо построить несколько зданий....
Индикаторы ресурсов
В игре Command & Conquer есть единственный индикатор ресурсов, расположенный в верхней части экрана и отображающий количество имеющегося у игрока тибериума. Планируя свою собственную стратегич...
Объекты для постройки
В середине правой части интерфейса расположены кнопки, представляющие здания и подразделения, которые может создать игрок. В начале игры игрок может создать всего несколько видов объектов. По ходу...
Уровень энергии
Хотя тибериум — это самый важный материал в Command & Conquer, без энергии ваши постройки не смогут функционировать. Индикатор энергии в нижнем правом углу интерфейса отображает объем использу...
Игровое поле
Чем была бы игра без игрового поля? Тем же самым, чем будет приборная панель автомобиля без ветрового стекла! Игровое поле используется чтобы показать игру в действии. На нем отображается территор...
Технология
Как и в большинстве современных стратегий реального времени, в Command & Conquer присутствуют две воюющие стороны. Каждая из них обладает собственными сильными и слабыми сторонами. В данном сл...
Храм NOD ©2002 Electronic Arts All Rights Reserved
После запуска ядерных ракет храм должен быть перезаряжен. Это сохраняет баланс игры, поскольку игрок NOD не может просто сидеть на месте и запускать ракету за ракетой. Ядерная ракета особенно раз...
Атака ядерных ракет на игрока GDI ©2002 Electronic Arts All Rights Reserved
Как я упоминал ранее, NOD обладает также замечательной обороной. Одно из таких оборонительных сооружений называется Рука NOD. Это башня с лазером, который может разрушить большинство врагов за од...
Рука NOD в действии ©2002 Electronic Arts All Rights Reserved
Узнав об огневой мощи, доступной NOD, вы можете спросить, что может противопоставить этому GDI. Оказывается GDI обладает исключительно быстрыми подразделениями и мощными воздушными силами. Из спе...
Баланс игры
Я полагаю, что одна из отличительных черт, выделяющих C&C, это возникающее чувство сбалансированности. По моему мнению Command & Conquer одна из наиболее сбалансированных игр. Вы не можете...
Warcraft Orcs & Humans
Почти в то же время, когда вышла игра C&C, другая компания выпустила не менее захватывающую стратегию реального времени. Этой игрой, конечно, была Warcraft от Blizzard Entertainment. Находясь...
StarCraft от Blizzard
Другой популярной игрой, выпущенной Blizzard Entertainment является StarCraft. StarCraft чем-то похожа на Warcraft: Orcs & Humans, но ее действие разворачивается в будущем. В игре имеются три...
Будущее стратегий реального времени
Теперь, когда вы увидели прошлое стратегий реального времени, я покажу вам будущее. Конечно, я не гадалка, но попытаюсь сделать это....
Широкомасштабные многопользовательские игры
Я предсказываю, что в стратегические игры реального времени будущего будут играть одновременно много пользователей. В настоящее время уже идет работа над несколькими широкомасштабными многопользов...
Умные компьютеры
Посмотрим правде в глаза: управляемые компьютером противники исключительно тупы. Сегодня не существует стратегии реального времени, которая могла бы бросить настоящий вызов игроку не прибегая к мо...
Первые стратегические игры
В отличие от стратегий реального времени обычные стратегические игры развивались в течение гораздо более длительного времени. Я не могу утверждать, что знаю какие игры были первыми, а здесь я пред...
Warlords
Давным давно я играл в игру с названием Warlords на моем компьютере Amiga. Несколько друзей собирались у меня дома и приступали к игре. Эти встречи обычно продолжались по 12 часов и более, посколь...
Empire
Около 1987 года компания с названием Interstel выпустила игру Empire. Empire — это двухмерная походовая стратегическая игра в которой вам надо завоевывать города, чтобы установить господство над м...
Классическая игра Empire ©2003 Killer Bee Software All Rights Reserved
Если вас заинтересовала игра Empire, проверьте сайт Killer Bee Software. Марк Кинкэд из Killer Bee Software приобрел права на серию Empire и планирует выпустить восстановленную игру Empire и обно...
Command H Q
Еще одна из моих любимых старых стратегических игр называется Command H.Q. Ее разработала Ozark Softscape, — небольшая домашняя команда разработчиков из Арканзаса. Наш мир настолько тесен,что один...
The Seven Cities of Gold
Если у вас был компьютер Commodore 64 или Atari 800, возможно вы играли в игру The Seven Cities of Gold. Это еще одна замечательная игра, созданная Ozark Softscape. Она была выпущена в 1987 году и...
XCOM UFO Defense
Ни один список классических стратегических игр не может считаться полным бехз упоминания об X-COM. X-COM — это очень интересная игра в которой вы защищаете Землю от вторжения инопланетян. Главная...
Итоги
В конце каждой главы будет приводиться подборка советов и секретов, представленных мною на протяжении главы. Итак, вот что мы узнали в главе 1: Простой набор основных правил может сделать вашу игр...
Архитектура программ Windows
Если вы до Windows работали с другой операционной системой, такой как UNIX, Linux или DOS, новый стиль программирования может показаться несколько необычным. Сначала придется отказаться от функции...
Работа управляемая событиями
Следующее отличие программирования в Windows заключается в том, что программы для Windows управляются событиями. Это значит, что программа, вместо того, чтобы бежать за информацией, может бездельн...
События
Вы можете задаться вопросом, какие виды событий обрабатываются. Существуют сотни, если не тысячи возможных событий, и некоторые из них описаны в таблице 2.1. Таблица 2.1. События Windows Событие...
Структура программы
Если назначение обработчика событий все еще кажется вам немного странным, не волнуйтесь. Я пока не показал как он вписывается в общую картину. Рисунок 2.1 поможет прояснить некоторые вещи....
Структура обработки сообщений Windows
На Рисунок 2.1 есть несколько областей, представляющих для нас интерес. Прежде всего обратите внимание на изображение окна программы. Под ним нарисована клавиатура, представляющая входные данные,...
Очередь событий
Вторая ключевая область называется очередь событий (event queue). С этого момента проявляются отличия программирования в Windows от программирования в других операционных системах. События, о кото...
Функция WinMain()
Следуя далее мы столкнемся с функцией WinMain(). Как я говорил ранее, она является неотъемлимой частью всех программ Windows, а также является первой функцией, вызываемой во время выполнения прогр...
Обработчик сообщений
Когда в своей программе вы создаете окно, то должны указать функцию, которая будет обрабатывать сообщения, поступающие от этого окна. Эта функция является действительным обработчиком сообщений. Ит...
Пишем первую программу для Windows
На этом я заканчиваю обсуждение теории, лежащей в основе программирования для Windows. Пришло время написать вашу первую программу для Windows. Во всех, рассматриваемых в этой книге примерах, я ис...
Начало работы с Visual C++ 6 0
Давайте продолжим. Запустите вашу копию Visual C++ 6.0. Вы должны увидеть экран, аналогичный представленному на Рисунок 2.2....
Интерфейс Visual C++ 6 0
В интерфейсе, представленном на Рисунок 2.2, нет ничего особенного. Основные элементы управления сосредоточены в верхнем меню: File, Edit, View, Insert и т.д. Все, что вы делаете в Visual C++, до...
Как создать проект
Лучший способ обучения — практика, так что давайте создадим новый проект, для чего щелкнем по меню File и выберем пункт New. Вам будет предоставлено множество вариантов, изображенных на Рисунок 2....
Диалоговое окно создания нового проекта в Visual C++
Диалоговое окно, которое вы видите, используется для указания типа создаваемого проекта. Как видно Visual C++ используется для создания всех типов программ, включая элементы управления ActiveX, C...
Диалоговое окно выбора типа Windowsприложения
Диалоговое окно, представленное на Рисунок 2.4, предлагает три варианта: An empty project — пустой проект; A simple Win32 application — простое приложение Win32; A typical "Hello World!"...
Диалоговое окно подтверждения выбранных параметров
Представленное диалоговое окно не содержит ничего необычного. Оно выводится только для того, чтобы вы могли удостовериться, что будет создан проект желаемого типа. Для продолжения работы щелкните...
Рабочее пространство
Итак, вот ваш проект во всей славе! Теперь, после того как проект создан, настало время подробнее поговорить о нем. Взгляните на Рисунок 2.6....
Пустое пространство проекта для вашей новой программы
Взгляните на рабочее пространство — область в левой части, содержащую имя вашего проекта со знаком «+» рядом с ним. Перейдите на вкладку FileView и разверните дерево, щелкнув по знаку «+». Вы уви...
Файлы ресурсов
Если вы умеете программировать, но являетесь новичком в программировании для Windows, вам может быть непонятно назначение папки Resource Files. В программировании для Windows ресурсами называются...
Добавление исходных файлов в проект
Раскройте меню Project и выберите пункт Project | Add To Project | New. В результате на экран будет выведено диалоговое окно, изображенное на Рисунок 2.7....
Диалоговое окно для выбора типа добавляемого к проекту файла
Фактически это то же самое диалоговое окно, что и изображенное на Рисунок 2.3, просто в нем выбрана другая вкладка. Вместо того, чтобы выбирать тип создаваемого проекта, сейчас мы будем выбирать...
Рабочее пространство с добавленным файлом
Я раскрыл папку Source Files, чтобы показать только что созданный файл CreateWindow.cpp. Когда вы дважды щелкаете по любому файлу, представленному в окне рабочего пространства, он загружается и в...
Погружаемся и сталкиваемся с кодом
Теперь, когда у вас есть чистый исходный файл, призывающий вас, настало время написать действительный код для Windows. Не волнуйтесь слишком много, я проведу вас через каждый шаг. Взгляните на при...
Включение файлов и прототипы функций
В нескольких первых строках кода указываются включаемые заголовочные файлы и приводятся прототипы функций. В программировании для Windows необходим только один заголовочный файл с именем windows.h...
Внутреннее устройство функции WinMain()
Первый элемент, упоминаемый в функции WinMain() - это объект, используемый для создания окна. Объект является структурой типа WNDCLASSEX и очень важен для создания окна вашей программы....
Структура данных WNDCLASSEX
Если в прошлом вы уже занимались программированием для Windows, то могли использовать структуру WNDCLASS. Между ней и объектом WNDCLASSEX есть только пара отличий. Во-первых добавлен апраметр, зад...
Взаимоотношения между классом окна и обработчиком сообщений
Четвертый член структуры относится к типу int и называется cbClsExtra. Это целое число задает количество байт, которые будут выделены сразу за структурой данных класса окна. Я не имею ни малейшег...
Некоторые стандартные значки Windows ©2002 Microsoft All Rights Reserved
Восьмой член структуры данных WNDCLASSEX очень похож на седьмой, за исключением того, что он задает используемый окном курсор. Его тип HCURSOR, а имя — hCursor. Тип HCURSOR это еще один замаскиро...
Функция RegisterClassEx()
Сейчас мы достигли момента, когда класс окна должен быть зарегистрирован. Ниже приведен фрагмент кода, выполняющий это действие.if(RegisterClassEx(&wndclass) == 0) { // Сбой программы, выход e...
Функция CreateWindowEx()
Для создания окна используется функция CreateWindowEx(). Ее можно применять для создания дочерних, всплывающих или перекрывающихся окон. При создании окна вы указываете используемый класс, имя при...
Координаты окна определяют его позицию в зависимости от того является окно дочерним или нет
Значения координат обоих окон на Рисунок 2.11 равны (10,10). Большее окно является родительским, поэтому его координаты (10,10) задают размещение окна почти вплотную к левой и верхней границам эк...
Функция ShowWindow()
Верите или нет, но факт создания окна не приводит к его отображению. (Эти парни из Microsoft иногда такие странные!) Чтобы окно было действительно выведено на экран вы должны вызвать функцию ShowW...
Получение сообщений функцией GetMessage()
Чтобы приложения Windows знали когда их окна закрываются, перемещаются или изменяют размеры, они должны принимать сообщения Windows. В общем случае ваши приложения для Windows должны всегда иметь...
Трансляция сообщений функцией TranslateMessage()
Перед тем, как отправить сообщение в вашу очередь сообщений, вы должны транслировать его в символьные данные. Это делает функция TranslateMessage(). Для нее требуется единственный параметр — указа...
Помещение сообщений в очередь функцией DispatchMessage()
Подобно функции TranslateMessage(), функция DispatchMessage() требует единственный параметр. Цель этой функции — отправить прошедшее трансляцию сообщение в очередь сообщений программы. После вызов...
Функция обработки сообщений
Вы вероятно задаетесь вопросом, где обрабатываются сообщения. Когда функция DispatchMessage() отправляет сообщения, они направляются функции обработки сообщений, указанной в классе окна. В рассмат...
Компиляция и выполнение кода
Итак, ваша программа целиком введена и вы готовы идти дальше. Чтобы скомпилировать программу в Visual C++ 6.0 вам необходимо сделать активным окно с компилируемой программой и нажать клавишу F7. Е...
Итоги
Разве вы не чуствуете себя лучше, узнав о том, как создать и отобразить окно? Я знаю, что это не работающая игра, но надо же с чего-то начинать. В данной главе не содержится много советов, поэтому...
Сюжет
Чем была бы игра без сюжета? Чтобы лучше понять это, подумайте чем стали бы интересные персонажи любой книги без другой второстепенной информации. Они бы стали очень скучными. То же самое справедл...
Тема сюжета
Первое, что вам следует сделать начиная писать сценарий — подумать о теме вашей игры. Вот несколько возможных тем: Научная фантастика. Средневековье. Вестерн. Мир после катастрофы. Есть множество...
Элементы сюжета
Существует несколько ключевых моментов написания сюжета вашей игры. Каждый из них важен, и вы должны удостовериться, что каждый из них существует, перед тем как перейти к другим частям разработки...
Сюжетная основа
Любой хороший сюжет имеет основу, и сюжет игры не является исключением. Сюжетная основа придает игровому сценарию глубину и смысл. Игрок сильнее стремится к победе, когда понимает причину этого. Н...
Конечная цель сюжета
Игровой сюжет также дает игроку цель для победы в игре. Так же как сюжетная основа дает дополнительную информацию об игре, цель сюжета предоставляет сведения, необходимые, чтобы у игрока появилось...
Расстановка целей
Как только у вас появится сюжет, можно начинать выписывать цели игры, основываясь на конечной цели сюжета. Зачем игроку нужны эти дополнительные цели, если он знает конечную цель сюжета? Наличие х...
Пример для изучения — Empire Earth
Чтобы прояснить разбираемый вопрос, я взял на себя смелость разбить процесс игры Empire Earth на несколько целей. Цели, которые я вношу в список, используются в однопользовательской игре против ко...
Описание событий
Для начала скажу, что Empire Earth очень похожа на игру Age of Empires где вы создаете цивилизацию на протяжении нескольких эпох, таких как каменный век и средневековье. Главное отличие Empire Ear...
Начальные цели
Игра начинается очень просто с небольшой деревней и горсткой людей. На данном этапе вы очень уязвимы и лишь несколько человек помогают вам воздвигнуть пока несуществующий город. Как вы можете пред...
Первая цель в игре Empire Earth
Вот к чему мы пришли: первая цель игры — добыть древесину для постройки зданий. Из первой цели можно вывести другие. Что, например, поможет добывать древесину быстрее? Очевидный ответ — отправить...
Вторая и третья цели игры Empire Earth
По мере продвижения игры вы скоро начнете понимать, что для создания необходимой инфраструктуры вы нуждаетесь в дополнительных ресурсах. На вашем пути встают два основных вида ресурсов — золото и...
Главные вехи
В Empire Earth вы начинаете игру в доисторическом веке. Чтобы выйти из доисторического века вы должны собрать заданное количество пищи. Это объясняет почему важно собирать пищу — она необходима ва...
Эпохи в игре Empire Earth
На Рисунок 3.3 видно, что игра поддерживает тринадцать эпох. Каждая из них дает дополнительные преимущества игроку и увеличивает игровые возможности. Хотя вехи делают игру увлекательнее, постарай...
Заключительная цель
Как только в Empire Earth вы достигли третьей эпохи, перед вами открывается новый набор целей. Во-первых, вы должны начать концентрировать усилия на создании армии, чтобы получить возможность напа...
Боевые единицы
Не во всех стратегических играх есть подразделения. Такие игры как SimGolf, Sim Theme Park и похожие на них вообще обходятся без сражений. Сперва вы можете решить, что эти игры не являются стратег...
Стоимость боевых единиц
Все боевые единицы должны иметь какую-то стоимость для игрока, выражающуюся в затрачиваемых на их создание ресурсах. Если боевые единицы слишком дешевы, то игроки будут приобретать их сотнями и ис...
Скорость боевых единиц
У боевых единиц должна быть не только стоимость, с ними также должен быть связан фактор скорости. Обычно в стратегиях реального времени большие и более мошные боевые единицы движутся медленнее, че...
Вычисление скорости боевых единиц
Что касается математической стороны расчета скорости боевых единиц, я рекомендую вам создать базовую шкалу скоростей со значениями от 1 до 100, где 1 соответствует самой медленной скорости, а 100...
Броня боевых единиц
Я использую термин «броня», чтобы ссылаться на значение, определяющее защищенность боевой единицы. Хотя не все боевые единицы обладают способностью нападать на противника, почти все должны уметь о...
Вычисление обороноспособности
Создание формулы вычисления защиты боевых единиц для вашей игры — боле тонкая задача, чем вычисление скорости. Главная проблема состоит в том, что вы можете захотеть иметь различные типы брони, ко...
Очки повреждений
Термин «очки повреждений» (hit points) пришел из ролевых игр старой школы, но нашел свое место и в других, связанных со сражениями компьютерных играх. Вы уже знаете, как вычислить защищенность или...
Огневая мощь боевых единиц
Немезида брони — огневая мощь. У каждого инь должен быть янь, и это именно такой случай. Все те же базовые правила, которые применялись для брони, применяются и для огневой мощи. Для начала вы дол...
Скорострельность
Скорострельность боевой единицы определяет как часто может стрелять установленное на ней оружие. Достаточно взглянуть на современное оружие, чтобы увидеть разницу в том как часто стреляет пистолет...
Вычисление скорострельности
Хорошо зарекомендовавший себя на практике метод вычисления скорострельности — определить сколько раз в минуту может выстрелить конкретное оружие. Это дает хорошую систему для установки параметров...
Тип повреждений
Я уже касался этой темы при обсуждении брони. С каждым оружием должен быть связан тип наносимых повреждений. Упомянутая выше автоматическая винтовка стреляет пулями, в то время как обсуждавшийся р...
Специальные повреждения
Специальными повреждениями называются повреждения, наносимые вне обычного хода событий. Очевидный пример — область действия эффектов применения оружия. Оружие, наносящее ущерб посредством взрыва,...
Скорость оружия
У самого оружия нет скорости, но она есть у вылетающих из оружия снарядов. Это ключевой момент проектирования оружия для вашей стратегической игры, поскольку он оказывает большое влияние на весь и...
Вычисление скорости снаряда
Скорость оружия очень похожа на скорость боевой единицы. Вам необходима стандартная система скоростей для назначения всем, используемым в игре снарядам. Я еще раз предлагаю использовать шкалу от 1...
Управление ресурсами
Какая стратегия реального времени может считаться законченной без управления ресурсами? Держу пари, что вы не сможете привести более пары примеров. Управление ресурсами лежит в самом сердце больши...
Выберите что вы будете пить
Первое необходимое действие — выбор ресурсов, которые должен собирать игрок. В зависимости от сложности вашей игры, потребуется наличие от трех до шести видов ресурсов, которые будет добывать игро...
Определение ресурсов
После того, как цели определены, вы вычисляете способ их достижения. Первая цель — накормить население — весьма прямолинейна. Чтобы кормить людей игрок должен собирать или выращивать продовольстви...
Добыча ресурсов
Теперь, когда определены три ресурса для игры, необходимо указать, как игрок может их получить. Я начну с пищи. Поскольку Battle Armor — научно-фантастическая игра, я не хочу, чтобы игрок управлял...
Гидропонная фабрика
Последний ресурс — топливо — теперь, когда другие два ресурса уже определены, тоже выглядит достаточно прростым. Следуя установленному шаблону, я хочу, чтобы для производства топлива игрок покупа...
Нефтеперегонный завод
Теперь, когда ресурсы игры Battle Armor остались позади, вы увидели процесс определения ресурсов для ваших стратегий реального времени. Он сводится к следующим этапам: Определение необходимых рес...
Баланс ресурсов
Ах, опять это слово — баланс. Вы будете встречать его еще много-много раз. Баланс является ключевой особенностью любой хорошей стратегической игры, а ресурсы требуют тщательной балансировки....
Пример несбалансированности
Возьмем для примера старую игру Total Annihilation выпущенную Cavedog. В Total Annihilation, или TA как часто называют ее, игрок добывает металл и энергию. Вот это простота — всего два ресурса! Гл...
Пример сбалансированности
Существует много примеров сбалансировааности. Command & Conquer выделяется тем, что игроки сильно зависят от тибериума. Замечательной особенностью является то, что запасы тибериума возобновляю...
Скорость добычи
Помимо решения о том как игрок собирает ресурсы, вы должны определить как быстро они могут быть собраны. Если игрок получает ресурсы слишком быстро, игра превращается в яростную гонку или, что еще...
Дерево технологий
Если ресурсы являются сердцем стратегии реального времени, то дерево технологий — это ее скелет. Все происходящее в стратегии реального времени зависит от дерева технологий. Если вы не знакомы с э...
Простое дерево технологий
На Рисунок 3.7 первым узлом дерева является огонь. Поскольку огонь лежит в основе человеческих технологий, он в нашем случае является первым узлом, или стволом. От данного узла идут ветви к двум...
Различные типы технологий
Чтобы проектировать дерево технологий для своей собственной игры, сперва следует рассмотреть различные типы технологий. Приведенный ниже список может служить хорошей отправной точкой: Инфраструкту...
Технологии для инфраструктуры
Основные типы технологий имеют дело с инфраструктурой цивилизации игрока. Они связаны со строительными блоками цивилизации. Без технологий инфраструктуры игрок не может прогрессировать к большим и...
Технологии для вооружений
«...И будут спущены с цепей псы войны...» Во всех значительных стратегических играх есть вооружение; поэтому относящиеся к вооружению узлы вашего дерева технологий очень важны. При их создании вы...
Технологии для модернизации
Если вы когда-нибудь играли в стратегии реального времени, то должны быть знакомы с концепцией модернизации. В большинстве стратегий реального времени имеющиеся в вашем распоряжении здания и боевы...
Стоимость технологий
Теперь, когда вы познакомились с тремя стартовыми типами технологий, надо выяснить, во что каждый из них обойдется игроку. Так как вы не хотите, чтобы игрок получал технологии бесплатно, следует н...
Игровая кампания
Когда у вас выбрана основная тема игры, выписаны общие цели для игрока, определены ресурсы и нарисовано дерево технологий, пора начинать работу над игровой кампанией. Я уверен, что вы уже играли в...
Редактор миссий
Каждая отдельная игра в режиме кампании называется миссией. Очевидная причина этого заключается в том, что вы посылаете игрока на выполнение задачи, которая связана и с опасностью и с наградой. Зв...
Цели миссий
Значительно раньше я уже говорил о целях, но не касался их отношения к миссиям. В отличие от цели игры, являющейся глобальной для всех миссий, цели миссии уникальны. Разрабатывая миссии для ваших...
Многопользовательская игра
Ах, моя любимая часть стратегических игр — многопользовательская игра! Лично я не слишком много играю в стратегии реального времени в режиме однопользовательской кампании, а предпочитаю сразиться...
Итоги
Теперь, когда вы познакомились с примерами основных строительных блоков стратегических игр, настало время перейти к более сложным темам. Перед тем, как отправляться дальше, вспомним ключевые момен...
Фаза идей
Итак, вы стоите на краю бесконечности. Только вы и ваш разум устанавливают границы того, что лежит впереди. Вы находитесь в фазе идей, также известной как стадия творчества. Именно здесь вы должны...
Создание наброска
Теперь у вас есть все эти идеи. Что дальше? Лучший из придуманных мной методов состоит в том, чтобы чтобы создать на основе идей набросок игры. Взгляните на следующий набросок: Исходные данные Вто...
Фаза определения требований
Хорошо, у вас есть ясно очерченная идея игры и вы готовы перейти к фазе определения требований. В этой фазе вы определяете, что должно быть в игре, чтобы она была признана готовой к производству....
Фаза технической документации
Руководители проекта и дизайнеры закончили свою работу, и теперь на сцену выходят разработчики, которые пишут техническое задание. Оно основывается исключительно на документе с формулировкой требо...
Взаимоотношения между проектной документацией
На Рисунок 4.1 вы видите как высокоуровневая идея игры обретает плоть в наброске. Элементы наброска служат основой для документа с формулировкой требований. Каждый элемент наброска разбивается на...
Фаза разработки
К сожалению, большинство многообещающих разработчиков игр пропускают предыдущие фазы и переходят прямиком к разработке. Хотя для нас, программистов, процесс разработки наиболее интересен, это не п...
Контроль исходного кода
Поверьте мне, я не фанат контроля. Возможно, я поклонник контроля или даже повелитель контроля, но точно не фанат. Контроль исходных текстов подразумевает помещение вашего исходного кода в виртуал...
Управление метками
Благодаря управлению метками вы можете получать преимущества от ясно помеченных ревизий исходного кода. Достигнув какой либо вехи в разработке, вы сохраняете весь ваш код и назначаете ему метку. Э...
Отслеживание ошибок
Предположим, во время игры вы обнаружили ошибку в вашем коде. Что делать дальше? Вместо того, чтобы сразу исправлять ее, вам необходимо ввести данные о ней в систему отслеживания ошибок. Зачем? Ис...
Отслеживание
Наиболее очевидную выгоду приносит отслеживание само по себе. Объединенный список ошибок позволяет вам видеть каждую проблему, которая проявилась в ходе разработки. Это весьма полезно, поскольку в...
Привязка к исходному коду
Большинство пакетов отслеживания ошибок позволяют связывать ошибку с исходным кодом. Это полезно в мире контроля исходного кода, так как библиотекарь исходного кода может определить, какой исходны...
Метрики качества
Одно из преимуществ наличия истории ошибок состоит в том, что на основании исторического архива вы можете создавать метрики качества. Вы можете вернуться во времени и увидеть, где было обнаружено...
Тестирование отдельных частей
Я не могу достаточно подчеркнуть, насколько важно тестирование отдельных частей. Тестирование частей — это испытание разработчиком его собственного изделия. Перед тем, как отправить игру команде т...
Фаза тестирования
Ах, моя любимая часть. К тому времени, как ваш код достигает фазы тестирования, вы должны быть очень счастливы. В этой точке у вас есть программа, которая по крайней мере устанавливается и работае...
Процесс тестирования
На Рисунок 4.3 показано как разработчики работают над кодом и помещают его в систему контроля исходного кода. Когда в систему помещен весь необходимый код, библиотекарь извлекает его и строит про...
Фаза производства
Ко времени перехода в фазу производства в вашем программном обеспечении не должно быть ошибок с серьезностью выше низкой. Если осталась хоть одна ошибка с высокой серьезностью, коду не место в это...
Распространение
Теперь у вас в руках есть полностью законченная игра; как поступать дальше? В то время как предыдущие разделы этой главы были посвящены внутренней работе цеха профессионалов, данный раздел посвяще...

Введение в программирование на PHP5 перейти

Методы и средства инженерии программного обеспечения перейти








Начало