В конце каждой главы будет приводиться подборка советов и секретов, представленных мною на протяжении главы. Итак, вот что мы узнали в главе 1:
Простой набор основных правил может сделать вашу игру интересной. Очень сложные системы игры не являются необходимыми. Главное — заинтересовать игрока.
Иногда простая идея может следать игру гораздо интереснее.
Планируя свою стратегию реального времени, подумайте о размещении выводимых данных. Не следует загромождать весь интерфейс текстом — это важный аспект разработки интерфейса.
Постарайтесь, чтобы игра не выглядела похожей на электронную таблицу. Для этого вы должны использовать графические представления числовых значений.
Чтобы игра была интересной и захватывающей, роскошная графика и спецэффекты не обязательны.
Разрабатывая свою игру убедитесь, что вы выполнили моделирование сражений между разными подразделениями. Это поможет выявить их сильные и слабые стороны, а также обнаружить критическую несбалансированность.
Игра с сотнями несбалансированных подразделений гораздо хуже, чем игра с десятком идеально сбалансированных подразделений.
Разве вы не чуствуете себя лучше, узнав о том, как создать и отобразить окно? Я знаю, что это не работающая игра, но надо же с чего-то начинать. В данной главе не содержится много советов, поэтому приводимый список будет коротким и простым. Ваши игры будут повторно использовать один и тот же код Windows снова и снова. Вам следует сохранить стартовый проект, аналогичный написанному мной примеру, и использовать его как основу для последующих проектов.
Следите, чтобы имя класса окна было уникальным. Это важно поскольку имя класса определяет тип создаваемого окна.
Убедитесь, что ваша программа никогда не попадает в длительный цикл без обработки сообщений Windows. Если вы не будете регулярно обрабатывать сообщения, ваше приложение может зависнуть.
Убедитесь, что ваша программа никогда не попадает в длительный цикл без обработки сообщений Windows. Если вы не будете регулярно обрабатывать сообщения, ваше приложение может зависнуть.
исходный текст перевода взят с сайта netlib.narod.ru и собран специально для http://www.natahaus.ru/
Теперь, когда вы познакомились с примерами основных строительных блоков стратегических игр, настало время перейти к более сложным темам. Перед тем, как отправляться дальше, вспомним ключевые моменты данной главы:
Постарайтесь разработать вашу игру так, чтобы отправка лавины дешевых боевых единиц не являлась успешной тактикой. В конце концов от этого ваша игра только выиграет.
Удостоверьтесь, что ваша система управления ресурсами легко настраивается, и вы можете сбалансировать вашу игру, внося минимальные изменения в код.
Используйте легкие для понимания деревья технологий. Даже если жанр игры предполагает, что действие разворачивается в будущем, постарайтесь основывать названия технологий на сегодняшней реальности.
исходный текст перевода взят с сайта netlib.narod.ru и собран специально для http://www.natahaus.ru/
В этой главе вы узнали о цикле производства программного обеспечения. В него включено много этапов и вы можете по-разному комбинировать их. Многие люди придумывают собственные методы, но надеюсь я дал вам несколько идей, которые послужат отправной точкой. Запомните следующие моменты:
Тестирование отдельных частей — это тестирование, выполняемое командой разработчиков.
Системное тестирование — это тестирование, выполняемое командой тестировщиков.
Метрики качества используются, чтобы сократить количество ошибок, обнаруживаемых во время тестирования и производства.
Никогда не переходите к производству программы, если в ней есть известные ошибки.
Никогда не переходите к производству программы, если в ней есть известные ошибки.
исходный текст перевода взят с сайта netlib.narod.ru и собран специально для http://www.natahaus.ru/
Вот мы и поговорили о блочной графике. Вспомните следующие ключевые моменты визуализации блоков:
Блоки позволяют создавать большие карты с минимальным расходом памяти.
Блоки позволяют создавать динамическое графическое содержание.
Тщательно выбирайте размер блоков для вашей игры.
Применение спрайтов упрощает визуализацию блоков.
Применение спрайтов упрощает визуализацию блоков.
исходный текст перевода взят с сайта netlib.narod.ru и собран специально для http://www.natahaus.ru/
Можете представить себе это? Глава действительно закончилась! Краткий обзор поможет вспомнить вам некоторые вещи, относящиеся к разработке и программированию интерфейса.
Определите требования к интерфейсу прежде чем начниете программировать.
Детализируйте проект интерфейса, включив в него максимум информации.
Разрабатывая интерфейс, спрашивайте себя, как в нем выполняются три ключевых правила удобства и простоты использования.
Прямоугольная проекция в трехмерном пространстве позволяет вам отображать двухмерные изображения, используя оборудование, предназначенное для трехмерной графики.
Разбивайте необходимые для интерфейса большие изображения на несколько текстур, соответствующих заложенным в оборудовании для трехмерной графики ограничениям.
Активные зоны полезны для обнаружения поступающих от мыши данных.
Подсветка активных зон улучшает внешний вид меню.
В качестве домашнего задания сыграйте 100 000 раз в Warcraft III. (Шутка.)
В качестве домашнего задания сыграйте 100 000 раз в Warcraft III. (Шутка.)
исходный текст перевода взят с сайта netlib.narod.ru и собран специально для http://www.natahaus.ru/
Вспомните следующие моменты, относящиеся к звуковому сопровождению:
DirectSound предоставляет низкоуровневый доступ к звуковой аппаратуре.
DirectMusic предоставляет больше возможностей, чем DirectSound.
Интерфейс DirectMusicLoader используется для загрузки звуковых файлов.
Интерфейс DirectMusicPerformance используется для воспроизведения звуковых файлов.
Интерфейс DirectMusicSegment используется для хранения загруженных звуковых данных.
DirectShow может использоваться для воспроизведения файлов MP3 и потокового видео.
Интерфейс графа DirectShow используется для загрузки аудио и видео потоков.
Интерфейс управления аудиовизуальным потоком DirectShow используется для воспроизведения аудио и видео потоков.
Интерфейс позиционирования аудиовизуального потока DirectShow используется для перемещения по аудио и видео потокам.
Интерфейс событий аудиовизуального потока DirectShow используется для получения уведомлений о событиях аудио и видео потоков.
Metallica самая талантливая из всех металлических групп. Точка.
исходный текст перевода взят с сайта netlib.narod.ru и собран специально для http://www.natahaus.ru/