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

         

В конце каждой главы будет


В конце каждой главы будет приводиться подборка советов и секретов, представленных мною на протяжении главы. Итак, вот что мы узнали в главе 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/

    Содержание раздела