Разработка программного продукта, предназначенного для имитации физического взаимодействия между объектами на основе игрового симулятора. Проектирование программы "LonelySpaceRanger", код которой представлен на языке VisualС . Разработка интерфейса.
Аннотация к работе
Сегодня как в России, так и во всем мире существует тенденция разработки игровых симуляторов. Однако, несмотря на то, что зачастую данные программы используют исключительно в коммерческих целях (выпуск игровых программ), так же данные программы можно использовать в определенной сфере науки. Игровой симулятор наглядно покажет, как происходят физические взаимодействия объектов в компьютерной среде.Задачи создания игровых симулятор зачастую сильно отличаются, отличая характерны как для самого игрового интерфейса, так и для среды, в которой программа должна симулировать взаимодействия. Сравнение и анализ будет проводиться со схожей программой «Galaxy War» (рисунок 1.1). При анализе существующего программного обеспечения выявлен ряд недостатков: - ограниченность выбора уровней сложности в связи с чем теряется его актуальность как игрового симулятора; В связи с этим возникает, необходимость разработать программный продукт, позволяющий устранить отмеченные недостатки и обладающий следующими функциональными возможностями: - выбор уровня сложности игрового процесса; Движок Box2D является кроссплатформенным ПО , он написан на платформо-независимом языке программирования C , поэтому может работать (выполняться) на любой платформе, на которой присутствует компилятор C .На основании анализа существующих аналогов разрабатываемого программного продукта, а также исходных данных на дипломную работу в качестве среды программирования был выбран VISUALC .Данный модуль осуществляет физическое взаимодействие между объектами. Затем графический движок должен подгружает графические ресурсы и создает объекты, необходимые для наглядного отображения физических взаимодействий. Далее модуль логики создает объекты игрового мира: противников, игрока, а также обеспечивает алгоритм их взаимодействия. Инициализация физики передает модулю информацию о физических взаимодействиях параметры, необходимые для корректной симуляции. Игровой процесс представляет собой набор функций обеспечивающих пользователю взаимодействие физической средой, такие как: - создание игрового поля, игрока и противников;Данная структура связи модулей программы позволяет обеспечить как наибольшую производительность программы, так и оптимальную оптимизацию памяти.Разработка включает в себя все работы по созданию ПО и его компонент в соответствии с заданными требованиями, включая оформление проектной и эксплуатационной документации, подготовку материалов, необходимых для проверки работоспособности и соответствующего качества программных продуктов, материалов, необходимых для организации обучения персонала и т.д. //передача движку служебной иформации hge = HGECREATE(HGE_VERSION);//версия движка hge->System_SETSTATE(HGE_LOGFILE, "lsr.log");//лог-файл hge->System_SETSTATE(HGE_FRAMEFUNC, FRAMEFUNC);//функция, содержащая логику hge->System_SETSTATE(HGE_RENDERFUNC, RENDERFUNC);//Функция отрисовки hge->System_SETSTATE(HGE_TITLE, "Lonely Space Ranger");//Заголовок окна hge->System_SETSTATE(HGE_WINDOWED,true);//Режим (на весь экран/в окне) hge->System_SETSTATE(HGE_SCREENWIDTH, 1024);//разрешение hge->System_SETSTATE(HGE_SCREENHEIGHT, 768); //При столкновении двух пуль обе уничтожаются if( (INFOA->type==BULLET)&&(INFOB->type==BULLET) ) {((c_projectile*)(INFOA->owner))->dispose=true; ((c_projectile*)(INFOB->owner))->dispose=true;} if( (INFOA->type==ENEMY_BULLET)&&(INFOB->type==ENEMY_BULLET) ) {((c_projectile*)(INFOA->owner))->dispose=true; ((c_projectile*)(INFOB->owner))->dispose=true;} if( (INFOA->type==ENEMY_BULLET)&&(INFOB->type==BULLET) ) {((c_projectile*)(INFOA->owner))->dispose=true; ((c_projectile*)(INFOB->owner))->dispose=true;} if( (INFOA->type==BULLET)&&(INFOB->type==ENEMY_BULLET) ) {((c_projectile*)(INFOA->owner))->dispose=true; ((c_projectile*)(INFOB->owner))->dispose=true;} //При столкновении противника с пулей игрока противнику наносится урон if( (INFOA->type==BULLET)&&(INFOB->type==ENEMY) ) {((c_enemy*)(INFOB->owner))->health-=((c_projectile*)(INFOA->owner))->damage; ((c_projectile*)(INFOA->owner))->dispose=true;} if( (INFOB->type==BULLET)&&(INFOA->type==ENEMY) ) {((c_enemy*)(INFOA->owner))->health-=((c_projectile*)(INFOB->owner))->damage; ((c_projectile*)(INFOB->owner))->dispose=true;} //При столкновении игрока с пулей противника игроку наносится урон if( (INFOA->type==ENEMY_BULLET)&&(INFOB->type==PLAYER) ) {((c_player*)(INFOB->owner))->health-=((c_projectile*)(INFOA->owner))->damage; ((c_projectile*)(INFOA->owner))->dispose=true;} if( (INFOB->type==ENEMY_BULLET)&&(INFOA->type==PLAYER) ) {((c_player*)(INFOA->owner))->health-=((c_projectile*)(INFOB->owner))->damage; ((c_projectile*)(INFOB->owner))->dispose=true;}В третьем разделе выбрана модель прототипа для проектирования программного продукта, в
Введение
Целью дипломной работы является написание программного продукта, предназначенного для имитации физического взаимодействия между объектами на основе игрового симулятора.
Сегодня как в России, так и во всем мире существует тенденция разработки игровых симуляторов. Поэтому на данный момент актуальным является выпуск, как самих игровых симуляторов, так и кода взаимодействия объектов. Однако, несмотря на то, что зачастую данные программы используют исключительно в коммерческих целях (выпуск игровых программ), так же данные программы можно использовать в определенной сфере науки. Обе стороны применения программного продукта могут принести не только прибыль, но и внести не малый вклад в развитие технологий в целом. Игровой симулятор наглядно покажет, как происходят физические взаимодействия объектов в компьютерной среде. Этот программный продукт предназначен как для обычных игроков, которые не задумываются о том, что происходит в программе, так и для организаций, которые занимаются серьезными исследованиями или разработкой более сложных игровых программ.
Использование игрового симулятора - это возможность оценить свои силы, получить информацию о игровых программах в целом, а также увидеть, как происходит процесс взаимодействий, основанный на математических формулах. Игровые симуляторы позволяют весело проводить время, показать физику объектов, чтобы наглядно увидеть ее, но и возможно в будущем смогут помочь при разработке более серьезных программ.
Вывод
На основании анализа существующих аналогов разрабатываемого программного продукта, а также исходных данных на дипломную работу в качестве среды программирования был выбран VISUALC . Данный язык позволяет максимально удобно реализовать данный программный продукт, а также сделать оптимизацию программного продукта. Так же для языка VISUALC существует множество различных программных дополнений, которые упрощают процесс реализации.
В результате выполнения данной дипломной работы должен быть разработан программный продукт (ПП) для моделирования игрового процесса программно ориентированных объектов, обладающий графическим пользовательским интерфейсом, с возможностью хранения результатов и выбора настроек игрового процесса.Данная структура связи модулей программы позволяет обеспечить как наибольшую производительность программы, так и оптимальную оптимизацию памяти. Удобный пользовательский интерфейс позволяет максимально упростить управление программой.В третьем разделе выбрана модель прототипа для проектирования программного продукта, в соответствии с которой разработан программный продукт «LONELYSPACERANGER». Код программы представлен на языке VISUALC . Данный ПП удовлетворяет всем требованиям заказчика, устойчив к сбоям, корректно работает под ОС Windows.
4. Экономическое обоснование разработки программного продукта