Объектно-ориентированный подход при создании игровых программных приложений
Введение в Mutlimedia Fusion 2: понятие и общая характреистика, оценка возможностей и назначение, интерфейс, объекты и формы. Описание процесса и основные этапы создания компьютерной игры с помощью данного программного обеспечения, ее эффективность.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 25.12.2011 |
Размер файла | 1,6 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
КУРСОВОЙ ПРОЕКТ
Тема «Объектно-ориентированный подход при создании игровых программных приложений»
Введение
Так как целью данной курсовой работы является демонстрирование возможностей и особенностей объектно-ориентированного подхода для создания компьютерной игры, то мы можем отказаться от непосредственного кодирования игры, в пользу специальных утилит упрощающих создание игровых приложений. Таких как Multimedia Fusion 2. Данный продукт - целый набор инструментов по созданию полновесных приложений (он ориентирован на игростроение, но с его помощью можно создать так же и обыкновенную программу). Способ создания игр в нем - объектно-ориентированный, что полностью позволяет оценить плюсы и минусы данного подхода при создании игр на ПК.
1. Введение в Mutlimedia Fusion 2
1.1 Общие сведения
Программный продукт созданный компанией ClickTeam, предназначен в первую очередь для молодых людей, желающих попробовать себя в роли создателя компьютерной. Огромный инструментарий позволяет создавать игры различной сложности и качества.
1.2 Интерфейс
Рисунок 1 - окно MMF2
В workspace toolbar отражаются наши проекты (есть возможность работы с несколькими проектами параллельно). Каждое приложение делится на фреймы (в игровом представлении - различные уровни игры). В свою очередь каждый фрейм раскрывается как набор объектов в этом фрейме.
Окно Properties - как видно из названия, есть свойства выбранного нами объекта\фрейма\проекта.
Справа находится основное рабочее окно программы. Открыв фрейм, мы видим поле с разбросанными объектами, а так же небольшое окошечко, где все эти объекты легкодоступны и сортированы.
1.3 Объекты и классы в MMF2
Щелкнув правой кнопкой мыши по рабочему окну открывается меню, где основным элементом является «Insert Object». Нажав его, открывается новое окошка выбора класса объекта. Наиболее используемый класс, «Active» - используется для описания основных игровых объектов, будь то монстры которых нужно убивать, или игральные карты, кости и т.д.
Отметим, что это только родительский класс (для всех активных), далее, когда нам надо будет создавать определенные объекты, для каждого типа объектом будет создаваться дочерний класс. Именно таким образом в данной программе, представлено наследование.
Инкапсуляция же здесь представлена хотя бы тем, что мы действительно не знаем ничего об этих классах и объектах, об использованных методах и их связях. Обо всем этом мы можем только догадываться, опираясь на логику и здравый смысл. Так, например мы можем представить, что все доступные классы иерархически выходят из одного родительского, и все что в нем может быть - это метод, который как раз загружает этот объект в игру. Далее классы развиваются по различным веткам, например, на подвижные и статичные. Развитие дерева классов точно проследить не получится, но для нашего проекта оно будет выглядеть так:
Рисунок 2 - ветка классов
Так же часто используется «Counter» - счетчик. Это может быть счетчик очков, патронов, жизней (но для последнего существует специальный класс «Lives»). Еще нужно отметить объект класса «Window Control» - он позволяет работать с размерами, ориентацией, приоритетом и другими свойствами окна. Я его использовал для изменения размера окна, а так же эффекта необычности в случае проигрыша.
Объект же класса «Backdrop» - обычно используется как «обои» для окна.
Это что о классах, которые использовались в данной работе. Теперь кратко о других, несомненно важных классах, но не использованных в нашей игре.
ѕ ActiveX - класс позволяющий использовать в своем приложении одноименные методы
ѕ Analog Joystick - позволяет использовать как способ управления джойстик и иные аналоговые устройства ввода
ѕ Animation - все понятно из названия, позволяет загружать *.avi файлы
ѕ Button - кнопки, radio-кнопки, чек боксы
ѕ Cursor - изменение курсора мышки
ѕ Hi-Score - обязательный элемент в любой аркадной игре, отображает список лучших игроков
ѕ Ini - возможность сохранять / загружать какие либо данные в/из *.ini файла, настраивается для создания «saves»
ѕ Lives - количество жизней
ѕ Mixer - так же обязательный элемент практически во всех играх, позволяет настраивать звук
ѕ Moo - набор иснтрументов для создания игр в стиле MMO (Massive Mutliplayer Online Game), требует высокой квалификации для настройки компонентов, позволяет создавать отдельно сервер игры и клиент
ѕ Network - упрощенный способ создания сетевой игры
ѕ Search - поиск файлов, строк, объектов
ѕ Sub-application - подпрограмма внутри нашего проекта (пример - всплывающее окно с подсказкой)
ѕ Window Shape - изменение внешнего вида нашего окна, всяческая стилизация и украшение.
Общее количество классов представленных в этой программе достаточно для создания полноценной игры, а если сделать упор на 2D игру, то она может выйти очень достойной.
2. О процессе разработки компьютерной игры
Для справки, приведем сокращенный план разработки компьютерной игры.
В начале, Заказчик дает основную идею игры, и пожелания к определенным ключевым моментам (жанр, геймплей, фичи). На этом этапе гейм-дизайнер пытается выведать все мысли заказчика, чтобы в процессе разработки не пришлось переделывать половину проекта. Дальше влияние заказчика на развитие проекта видится только в финансировании (оплате труда разработчиков).
Теперь в полную силу начинает работать дизайнер. Данный персонаж нашей эпопеи наиболее импонирует автору, поэтому его работу раскроем получше других. Дизайнер - самая творческая личность в команде разработчиков, на его плечи кладется ответственность за коммерческую успешность проекта, потому что в большей части именно от задумки, сбалансированности и интересности игровых моментов будет зависеть аудитория игроков, следовательно, продажи игры.
Все начинается с начальной проработки концепта игры. Обрисовывается игровой сюжет, и либо сюжет пишется специализированными писателями, любо самим дизайнером (если, конечно, он умеет красиво писать истории).
Далее, уже по готовому сюжету дописывается концепт. На этом этапе появляется более-менее законченный вид игры, т.е. имея сюжет о какой ни будь войне (битве, сражении), дизайнер подбирает информацию об этом эпизоде истории (если это, конечно, исторический момент), выбирает оружие которое использовалось в то время, находит топографические карты местности, униформу сторон, виды техники, соотношение сил и т.д. Потом, когда с энциклопедичной рутиной покончено берется за дело творческая мысль. Придумываются неожиданные ходы, фичи (features), геймплей. Вообще, фичи - это основной предмет душевных терзаний дизайнера, потому если с геймплеем практически все ясно, придумать что-то новое уже сложно, то с фичами все по другому обстоит. Каждую такую фичу необходимо просчитывать, как правило это баланс с другими фичами, и риски, которые она может привести в коммерческую часть вопроса, потому что бывает из-за одного минуса игра полностью проваливается. На протяжении всей разработки концепта, дизайнер должен стараться делать все модульно, что бы была возможность изменить\убрать\добавить какие либо части в любой момент.
Когда с концептом покончено, приходит время дизайн-документа, некоего методического пособия для программистов, художников, композиторов. Он содержит доходчивые инструкции по созданию игры, и должен быть создан так, что бы не возникло двусмысленности в понимании какого либо момента.
Собственно, теперь начинается работа кодировщиков и т.п. Они приводят мысли и задумки дизайнера в жизнь. А тут все происходит как при любой разработке любого программного продукта: кодирование, дебаггинг, тестирование, снова дебаггинг (повторять n раз) презентование заказчику и собственно выпуск игры.
Но в нашем случае игра создавалась без использования каких-либо языков программирования, что исключает баги и надобность в тестировании.
3. Процесс создания нашей игры
Итак, у нас есть пустое окно Multimedia Fusion 2
Создаем новый проект с пустым фреймом
Как Вы можете видеть, разрешение данного фрейма 640*480, его легко изменить, но мы не станем этого делать, потому что именно такое разрешение нам подходит.
Теперь поместим на рабочее поле новый объект. Нам понадобится объект класса «Active»:
На рабочем поле появится зеленый ромб, дважды щелкнув по нему, мы приступим к его изменению:
Итак, мы придали нашему объекту необходимый вид, теперь надо задать тип его движения, в нашем случае это будет простое отталкивание:
Так же, как Вы видите, есть возможно задать разные типы движений, но мы не будем останавливаться на этом. Нам необходимо «научить» шарик отталкиваться от стенок окна. Для этого мы заходим в меню «Event editor», его пиктограмма выглядит так - . Далее мы ищем необходимый нам пункт меню:
Выбираем «Test position of Players Robot», нам открывается окошко, в котором мы выбираем условия.
Теперь, мы будем набрасывать на наш фрейм все необходимые объекты и в конце концов получим такую картину:
Внизу мы видим Counter, в правом верхнем углу - Score.
Положение же Window Contol не суть важно, потому что оно не влияет на ход игры, и в самой игре мы его не увидим.
Чтобы просмотреть все «эвенты» связанные с каким либо объектом, надо щелкнуть по нему мышкой:
Так же, для более удобного восприятия есть возможность просмотра действий сразу, без захода в действие определенного объекта:
Довольно интересным будет способ задания направления, его можно задать визуально, либо формулой (в ММF2 есть сильный калькулятор поддерживающий различные функции - тригонометрические, логарифмические и т.п.), но в нашем случае это будет визуальный способ.
Данное направление задается при нажатии клавиши «Вверх», как видите движение будет равновероятностным в пяти направлениях.
Теперь пару слов о фрейме «Game Over». У меня с самого начала была мысль сделать его необычным, удивляющим, и идея о том, чтобы поместить туда известный всем опытным Win пользователям BSOD (Blue Screen Of Death - Синий Экран Смерти, так его «любя» называют пользователи), пришлась весьма кстати. Найдя картину в интернете, прикрепил ее к объекту «Backdrop».
Таким образом, наше приложение было закончено и осталось только превратить его в *.ехе файл.
Заключение
Итак, проделав данную работу, мы научились использовать Multimedia Fusion 2. Данный программный продукт позволяет в полной мере осознать структуру и смысл объектно-ориентированного подхода при создании игровых и не только приложений.
Размещено на Allbest.ru
Подобные документы
Понятие объектно-ориентированного программирования, общая характеристика языков высокого уровня. Разработка программного обеспечения для реализации компьютерной игры "пинбол" с помощью императивного программирования в среде Microsoft Visual Basic.
курсовая работа [428,9 K], добавлен 19.09.2012Приемы практического использования объектно-ориентированного подхода в создании законченного программного продукта. Разработка кроссплатформенной компьютерной игры "Морской бой". Принципы "хорошего стиля программирования C++/Qt". Описание классов игры.
курсовая работа [2,7 M], добавлен 12.08.2014Понятие электронных курсов. Описание программных и языковых средств разработки. Технология создания компьютерной обучающей системы, пакета вопросов в редакторе Excel. Разработка интерфейса ЭС. Организация диалога пользователя с экспертной системой.
дипломная работа [10,8 M], добавлен 20.06.2014Разработка программных средств. Жизненный цикл программного средства и понятие его качества. Форма и интерфейс приложений, алгоритмы решения задач на языке Delphi. Методы борьбы со сложностью. Преодоление барьера между пользователем и разработчиком.
курсовая работа [650,5 K], добавлен 27.01.2011Общая характеристика и функциональное назначение проектируемого программного обеспечения, требования к нему. Разработка и описание интерфейса клиентской и серверной части. Описание алгоритма и программной реализации приложения. Схема базы данных.
курсовая работа [35,4 K], добавлен 12.05.2013Характеристика объектно-ориентированного, процедурного, функционального программирования. Выбор языка программирования для создания программного обеспечения для управления справочником "Спортсмены". Алгоритм работы приложения, пользовательский интерфейс.
курсовая работа [1,6 M], добавлен 23.02.2016Анализ современного рынка программных продуктов. Понятие виртуального тура и возможности его применения. Изучение программного обеспечения и технологии создания виртуальных туров. Панорамный снимок и виртуальная брошюра. Настройка параметров панорамы.
курсовая работа [3,5 M], добавлен 22.03.2016Ознакомление с историей создания и особенностями объектно-ориентированного языка программирования Delphi. Разработка приложения, фиксирующего количество повторений какого-либо слова в тексте, введённом в поле MEMO. Описание интерфейса программы.
курсовая работа [880,1 K], добавлен 21.04.2015Объектный подход как метод реализации программных систем. Проектирование и программная реализация стратегической системы, реализующей процессы создания и взаимодействия группы объектов. Разработка объектной модели. Назначение элементов интерфейса.
курсовая работа [4,1 M], добавлен 11.05.2012Использование объектно-ориентированного программирования - хорошее решение при разработке крупных программных проектов. Объект и класс как основа объектно-ориентированного языка. Понятие объектно-ориентированных языков. Языки и программное окружение.
контрольная работа [60,1 K], добавлен 17.01.2011