Разработка программного модуля для компьютерной игры

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



Содержание

Введение

Раздел 1. Специальный раздел

1.1. Исследовательская часть

1.1.1. Постановка задачи

.1.2. Предварительные НИР

.1.3. Информационные потребности пользователей

.1.4. Требования, предъявляемые к системе

.2. Конструкторская часть

.2.1. Структура входных и выходных данных

.2.2. Общая схема работы модуля

.2.3. Выбор платформы проектирования и его обоснование

.2.4. Проектирование архитектуры модуля

.2.5. Конфигурация технических средств

.2.6. Алгоритмы работы модуля

.2.7. Методика тестирования

.2.8. Результаты экспериментальной проверки

Раздел 2. Технологический раздел

.1. Проектирование на языке UML

.1.1. Концепция Unified Modeling Language

.1.2. Виды диаграмм UML

.1.3. Связь с объектно-ориентированными языками

.2. Идеология STL в применении к архитектуре модуля8

.2.1. Шаблоны в C++

.2.2. Контейнеры

.2.3. Алгоритмы

.2.4. Потоки

.2.5. Умные указатели

.3. Специализированный инструментарий

.3.1. Средства работы с zip-архивами

.3.2. Шифрация по алгоритму CRC32

.4. Тестирование

.4.1. Модульное тестирование

.4.2. Типы тестов

.4.3. Планирование модульных тестов

.4.4. Примеры тестирования

.4.5. Методы грубой силы и их применение при отладке программы

Раздел 3. Организационно-экономический раздел

.1. Цели определения себестоимости и цены модуля

.2. Методы определения себестоимости

.2.1. Метод калькуляции

.2.2. Расчет на основе нормо-часа

.2.3. Метод удельных показателей

.2.4. Метод коэффициентов

.3. Расчет себестоимости VFS

.4. Методы расчета цены

.4.1. По стоимости изготовления

.4.2. На основе отчислений с продаж (роялти)

.4.3. На тиражируемый продукт

.5. Расчет цены VFS

.6. Выводы

Раздел 4. Раздел производственно-экологической безопасности

4.1. Производственная безопасность

.2. Анализ работы за компьютером с точки рения производственной безопасности

.2.1. Психофизиологические факторы

.2.2. Электромагнитные излучения

.2.3. Освещение рабочего места

.2.4. Электробезопасность

.2.5. Микроклимат

.2.6. Зашумленность

.3. Инженерный расчет освещенности машинного зала

.4. Экологическая безопасность

.5. Пожарная безопасность

.6. Выводы

Заключение

Список литературы

Приложения

Введение

Современные компьютерные игры - крупные и сложные программные комплексы. Затраты только на программную разработку часто измеряются сотнями человеко-месяцев. По объему задействованных технологий, привлеченных средств и уровню профессиональной подготовки разработчиков игровая индустрия давно заняла отнюдь не последнее место в мире IT.

Разработка аппаратной базы в секторе персональных компьютеров уже довольно долго стимулируется именно игровой индустрией. Развитие многих программных технологий, в частности, всех мыслимых способов отрисовки трехмерных изображений, идет именно благодаря играм.

Одной из отличительных черт игры как компьютерного приложения является работа с огромным количеством ресурсов. Текстуры, музыка, видео, скрипты часто исчисляются гигабайтами, особенно в последнее время. Имеет место проблема организации ресурсов, в частности, информации на диске. Применение СУБД в данном случае сопряжено с техническими и экономическими сложностями:

) Для представления данных в табличном или объектном виде чаще всего нужна их обработка. Сама по себе СУБД - отдельное приложение, с которым нужно устанавливать связь, разделять ресурсы и т.д. Редактирование данных на этапе разработки вызовет сложности. Также тяжело решить некоторые специфичные проблемы, речь о которых пойдет ниже.

) Современные быстродействующие СУБД стоят довольно больших денег, и в случае с распространением игры как товара, как правило, требуется отдельное лицензирование.

Чаще всего разработчики реализуют иерархические структуры на диске. В силу внешних причин отдельные части ресурсов могут быть заархивированы и/или зашифрованы. Часть ресурсов может быть оставлена на ключевом носителе (сейчас в этой роли часто выступает оптический диск), который тоже может быть защищен по какой-либо технологии (оптический диск - StarForce, LaserLock и другие). Также ресурсы могут быть размещены на сетевом сервере, что накладывает свои требования к доступу, верификации и иногда к защите. Ситуация в индустрии диктует ещё одно требование: необходима возможность работы с несколькими параллельными версиями ресурсов - это нужно для корректной установки патчей (пакетов исправлений и дополнений) и пользовательских модификаций. В результате разработчики часто оказываются перед распределенным комплексом весьма сложных по структуре хранилищ. Кроме того, необходимость знать о типах хранилищ и особенностях работы с ними, вызывает резкое усложнение кода и затрудняет его повторное использование.

В данной работе рассмотрен известный подход к организации подобных хранилищ, названный виртуальная файловая система. Основные положения этого подхода:

) Любые обращения к файловой системе идут по виртуальному дереву каталогов, начиная с корня (root).

) Любое файловое хранилище - носитель, архив, сетевой каталог и т.п. - может быть присоединено (замонтировано) к дереву как ветка, соответственно, часть полного пути до файла будет располагаться в дереве, а часть - в ветке.

) Под файлом подразумевается любой потоковый источник информации, это могут быть дисковый файл, устройство или пр