Исследование и реализация игровой компьютерной среды дисциплины "Представление знаний в информационных системах"
Анализ моделей и средств построения игровой компьютерной среды предметной области. Разработка алгоритмов построения игровой компьютерной среды. Отладка и экспериментальное тестирование компьютерной игры "Представление знаний в информационных системах".
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 12.08.2017 |
Размер файла | 2,9 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru//
Размещено на http://www.allbest.ru//
Содержание
Введение
1. Анализ моделей и средств построения игровых компьютерных сред
1.1 Анализ методов представления предметной области
1.1.1 Имитационные модели
1.1.2 Ситуационные модели
1.1.3 Формально-логические модели
1.2 Анализ существующих компьютерных обучающих систем
1.2.1 СДО «Прометей»
1.2.2 PLATO
1.2.3 ComputerMentor
1.2.4 Memris
1.3 Постановка задачи
2. Анализ моделей и технологий разработки
2.1 Выбор среды проектирования и языка разработки
2.1.1 Adobe Flash
2.1.2 Unity 5.3
2.1.3 Construct 2
2.1.4 Corona SDK
2.1.5 Clickteam Fusion
2.1.6 Выбор технологии разработки
2.2 UML-моделирование
2.2.1 Построение концептуальной модели предметной области
3. Разработка алгоритмов построения игровой компьютерной среды
3.1 Построение игровой среды предметной области
3.2 Алгоритм многоуровневой генерации заданий
4. Разработка программных модулей
4.1 Меню и навигация
4.2 Основная игровая сцена
5.. Отладка и экспериментальное тестирование модулей
6. Разработка технической документации
7. Проведение исследования
Заключение
Список использованных источников
Приложение. Листинг одной из сцен обучающего модуля
Введение
Применение игровых компьютерных сред в образовательных целях на сегодняшний день явление уже не редкое. Игровая компьютерная среда - это определенный вид игры, в которой заложены обучающие цели. Данную среду можно рассматривать как обучающую систему, процесс обучения которой интегрирован в игру. Главным преимуществом использования обучающих игровых компьютерных систем является большой мотивационный потенциал, который характерен высококачественным средам [1].
Ключевая характеристика, определяющая качество игровой обучающей среды - это баланс игровой и обучающей компоненты, которая обеспечивает целостность восприятия игры, а также предоставляет возможности для достижения целей обучения. Вариантом интеграции образовательного процесса в игровой является возможность совмещения внутри игры как игровых, так и обучающих действий, то есть способ включения образовательного курса в игровой сценарий [1].
В существующих обучающих системах применяются различные варианты совмещения обучающих и игровых сценариев. В зависимости от соотношения обучающей и игровой части эти варианты можно разделить на обучающие системы с элементами игры и игры с элементами обучения. Обучающие системы с элементами игры следуют принципу «edutainment», при котором образовательный контент помещается в игро-подобную (game-like) среду [2].
Часто обучающими играми могут стать обыкновенные компьютерные игры. Компьютерные игры, чаще всего применяемые в образовательных целях - это игры-стратегии, такие как, например, Minecraft [3] или Civilization [4], первоначально разрабатываемые как коммерческие продукты и не предназначенные для обучения. Во всяком случае модели предметной области, которые были реализованы в этих играх, настолько богаты и реалистичны, что игры имеют самостоятельную обучающую ценность [5].
Между перечисленными двумя крайними вариантами систем заложены игровые среды, с разным успехом сочетающие как обучающую, так и игровую составляющую. Но при этом, на сегодняшний день существующие решения по интеграции процесса обучения в контекст игры, как правило, ограничены возможностью применения только в одном продукте и не могут применяться при разработке новых. Поэтому основной целью разработки игровой компьютерной среды стал поиск способа интеграции процесса обучения в компьютерную обучающую игру, позволяющего достигать в игре обучающих целей и сохранять при этом игровую привлекательность, что влечет за собой большой мотивационный потенциал для игрока [1].
Именно большой мотивационный потенциал игровых сред и порождает рост их популярности. Поэтому перед нами была поставлена цель - создать игровую компьютерную среду дисциплины “Представление знаний в информационных системах”, изучаемой в учебном процессе по направлению 09.03.02 "Информационные системы и технологии".
Согласно опросу, проводившемуся в рамках работы над выпускной квалификационной работой было выявлено, что по меньшей мере 60% респондентов не хватает времени, проведенного на занятиях, чтобы усвоить материал в полной мере (распределение ответов изображено на рисунке 1.1) [6], поэтому дополнительная обучающая система, которая обладает к тому же большим мотивационным потенциалом будет как нельзя кстати.
Известно достаточно большое количество компьютерных обучающих систем, которые мы рассмотрим в разделе 1.2. Разработчики инструментальных средств решают преимущественно вопросы применения методологий и технологий тестирования, оформления интерфейса, стыковки различного программного обеспечения. Но их слабым местом является отсутствие игровой составляющей, поэтому у обучающихся может быть недостаточно мотивации для полного прохождения компьютерной тестирующей системы.
Новизной реализуемого нами решения, по сравнению с аналогичными работами для других предметных областей является использование многоуровневой генерации заданий вкупе с игровой составляющей. В зависимости от правильности решений заданий обучаемым, ему дается разный по сложности и тематике материал: чем хуже ответы на одну из когорт заданий, тем выше вероятность получения заданий из этой когорты и при этом более простых. Таким образом будет повышаться уровень знаний по определенной теме обучаемым. К тому же формирование заданий происходит только в момент тестирования из хранящихся в памяти шаблонов заданий и диапазонов параметров, что позволяет использовать сравнительно небольшой размер памяти компьютера.
Данная работа позволяет повысить уровень знаний обучающихся дисциплине «Представление знаний в информационных системах», уменьшить нагрузку на преподавателя в следствии большей самостоятельности учеников при использовании игровой компьютерной среды.
При постановке задачи было выдвинуто предположение, что такой способ подачи материала и его изучения повысит уровень знаний обучающихся дисциплине «Представление знаний в информационных системах». В ходе работы был проведен эксперимент подтверждающий эту гипотезу.
С докладом по теме «Исследование и реализация игровой компьютерной среды» прошло выступление в рамках молодежного научного форума «Молодые исследователи - регионам» в апреле 2017 года в г. Вологда. В рамках форума, организованного при участии Вологодского государственного университета проводилось несколько мероприятий, одним из которых была международная научная конференция «Молодые исследователи - регионам». По итогам выступления тезисы были рекомендованы к публикации в сборнике материалов международной научной конференции «Молодые исследователи - регионам».
Выпускная квалификационная работа состоит из 7 разделов. В первом разделе проводится анализ моделей и средств построения игровой компьютерной среды предметной области. Во втором разделе проводится анализ моделей и технологий разработки. В третьем разделе проводится разработка алгоритмов построения игровой компьютерной среды. В четвертом разделе проходит разработка программных модулей. В пятом - отладка и экспериментальное тестирование. Шестой раздел посвящен разработке технической документации. В седьмом разделе представлено исследование, проводившееся в рамках работы над этой выпускной квалификационной работой.
1. Анализ моделей и средств построения игровых компьютерных сред
1.1 Анализ методов представления предметной области
Способ включения процесса обучения в игровую компьютерную среду зависит от внутреннего представления предметной области компьютерной среды. По способу представления предметной области можно выделить игры на основе имитационного моделирования, на основе ситуационного моделирования и на основе формально-логической модели.
1.1.1 Имитационные модели
Имитационные модели используются в играх-симуляторах (simulator), моделирующих реальные условия профессиональной деятельности специалиста в какой-либо области знаний. К такому классу игр можно отнести симуляторы управления различными транспортными средствами, медицинские, тактические, социальные и бизнес-симуляторы. В проектирование игр-симуляторов входит разработка реалистичной модели процесса в соответствующей предметной области, которая является предметом изучения в игре. Например, для разработки авиа-симулятора (Microsoft® Flight Simulator X, X-Plane и др.) необходимо создатья физическую (симуляция параметров самолёта и его взаимодействия со средой) и графическую (виртуальная или реальная машина пилота) модель.
При помощи компьютера в играх-симуляторах как можно более плотно воспроизводится физическое поведение, а также управление сложными объектами технической системы (например, боевым истребителем, автомобилем и т. д.). Главным показателем качества игр-симуляторов является полнота и реалистичность моделирования объекта симуляции.
Игровая составляющая в играх-симуляторах реализуется при помощи богатства графики и звуковых возможностей современных средств вычислительной техники для компьютерной интерпретации реальных процессов [1]. Основой игровой составляющей имитационных моделей является точное воспроизведение особенностей какой-то предметной области. Благодаря имитационным моделям возможно обучение управлению или использованию сложных технических аппаратов без риска повредить их, к тому же значительно дешевле с финансовой стороны, так как обучение происходит на специальных обучающих стендах или персональных компьютерах, зачастую даже без специального оборудования.
1.1.2 Ситуационные модели
Ситуационные модели применяются в играх, в которых осуществляется обучение на примерах (case study-подход) с использованием возможностей компьютерных игр (организация диалогов, визуализация персонажей, событий и среды обитания и т.д.). Такие игры, как правило, реализуются в ролевом (role-playing) или приключенческом (adventure) жанре. Игрок попадает в виртуальную среду, разработанную на базе описаний ситуаций из реальной действительности, действует в соответствии с заложенным в игру сценарием (планом действий), ведет предварительно предусмотренные в игре диалоги, выбирает свои решения из заданных наборов и в результате обучается на примерах правильных решений. В процесс создания подобных игр входят: разработка описания, игрового сюжета на основе сценария, разработку виртуальной среды и способа ее отображения. Основной задачей разработчиков таких обучающих игр является выбор и реализация способов наиболее привлекательного с игровой точки зрения воспроизведения сценария [1].
1.1.3 Формально-логические модели
В таких игровых жанрах как «паззл» (puzzle games), игры на сопоставление предметов и объектов (matching games), разнообразные виды игр на тренировку памяти (memory games, brain training games) используется формально-логическая модель предметной области. Такие игры базируются на проверке соответствия данных, которые вводит игрок, с заданными в системе паттернами. Введенные данные интерпретируются как высказывания на определенном языке, заданном грамматикой, формально-логическая модель применяется для проверки истинности высказываний [1].
Для игровой компьютерной среды дисциплины “Представление знаний в информационных системах” было решено использовать ситуационную модель предметной области. Ситуационные модели используются в игровых средах, в которых реализовано обучение на примерах. Такие игровые компьютерные среды чаще всего реализуются в приключенческом, ролевом жанре или играх-квестах. В них игрок помещается в виртуальную среду, созданную на основе некоторой ситуации, и действует согласно плану (сценарию) игровой среды [1].
1.2 Анализ существующих компьютерных обучающих систем
В настоящее время известно достаточно большое количество компьютерных обучающих систем. У всех них разное назначение и место в учебном процессе. В настоящее время утвердилась определенная типологическая модель системы учебных изданий для вузов, в которую включено пять групп изданий, разделенных по функциональному признаку [7]:
программно-методические (учебные планы и учебные программы);
учебно-методические (методические указания, руководства, содержащие материалы по методике преподавания учебной дисциплины, изучения курса, выполнению курсовых и дипломных работ);
обучающие (учебники, учебные пособия, тексты лекций, конспекты лекций);
вспомогательные (практикумы, сборники задач и упражнений, хрестоматии, книги для чтения);
контролирующие (тестирующие программы, базы данных).
У каждой обучающей компьютерной системы свои достоинства и недостатки. Чаще всего их разработчики решают преимущественно вопросы применения методологий и технологий тестирования, оформления интерфейса, стыковки различного программного обеспечения. Но их слабым местом может являться отсутствие игровой составляющей, поэтому у обучающихся может быть недостаточно мотивации для полного прохождения компьютерной тестирующей системы.
1.2.1 СДО «Прометей»
Система дистанционного обучения (СДО) "Прометей" продуктивно применяется в различных проектах государственных и корпоративных структур. Ее уже используют ведущие учебные заведения России, Украины, Казахстана, Беларуси и других стран СНГ. Система СДО "Прометей" дает возможность построить виртуальную версию университета и реализовать там дистанционное обучение для значительно большой аудитории слушателей, при этом автоматизировав весь учебный цикл -- от приема заявок до отметки о выдаче итогового сертификата [8].
Модуль «Учебный портал» дает возможность использовать СДО «Прометей» в качестве комплексной системы управления обучением и контентом. Благодаря функциям ведения лент новостей и редактирования информационных блоков, этим порталом способен даже управлять рядовой пользователь компьютера. Функции групповой регистрации пользователей и группового зачисления на курс слушателей значительно повышают эффективность использования СДО «Прометей» в крупных проектах.
В системе есть 3 основных режима. Первый -- режим тестирования -- тренинг -- дает возможность после ответа на каждый вопрос сразу же сообщать слушателю, правильно ли тот ответил на вопрос. Тестирование в таком режиме позволяет слушателю значительно увеличить продуктивность работы над ошибками на начальной, чаще всего наиболее важной стадии освоения нового материала.
Гибкий инструментарий планирования учебного процесса позволяет составлять групповые учебные планы с последующей их корректировкой для отдельных слушателей. Эта возможность значительно облегчает работу тьюторов и позволяет отлично сочетать массовость обучения с индивидуальным подходом к студентам.
Инструменты «Фильтрация» и «Алфавитный пейджинг» помогают облегчить навигацию в больших объемных списках, а также увеличивают эффективность работы с базами данных.
Интерфейс СДО «Прометей» локализован на украинский, казахский, азербайджанский, английский и французский языки. Система поддерживает импорт курсов в стандартах IMS и SCORM 2004, а также предоставляет пользователям ряд интересных возможностей, которые позволят им найти новое применение дистанционного обучения в своей повседневной деятельности.
Основными достоинствами системы являются:
дружественный интерфейс, предельная простота освоения и легкость в эксплуатации;
отсутствие лицензий на клиентские места;
возможность использования методики онлайн-обучения, основанной на командной работе;
высокая производительность и масштабируемость по мере увеличения числа пользователей и нагрузки;
10 видов тестов, возможность использования графики и мультимедиа в тестах;
возможность построения дополнительных отчетов силами специалистов Заказчика;
возможность объединения нескольких систем в единую образовательную среду;
возможность интеграции с кадровыми, бухгалтерскими, информационными и ERP-системами;
невысокие требования к ресурсам сервера и клиентских мест СДО;
установка стандартной СДО вместе с системным ПО осуществляется в течение одного дня.
Несмотря на такой обширный список достоинств у СДО «Прометей» есть существенный недостаток - в нём отсутствует игровая составляющая, которая могла бы значительно повысить мотивацию обучающихся и тем самым увеличить эффективность обучения.
1.2.2 PLATO
Programmed Logic for Automated Teaching Operations (PLATO, рус. Программный алгоритм, предназначенный для автоматизированных операций преподавания) -- первая система электронного обучения (изначально работавшая на компьютере ILLIAC I), к концу 70-х годов состояла из нескольких тысяч терминалов по всему миру и более десятка мейнфреймов, которые были соединены общей компьютерной сетью. Система ПЛАТО была разработана в Университете Иллинойса и использовалась повсеместно в течение 40 лет. Ее первоначальной функцией было выполнения курсовых работ обычными студентами университета Иллинойса, местными школьниками и студентами ряда других университетов. На сегодняшний день существует несколько работающих систем, которые являются непосредственными потомками ПЛАТО [9].
Реализацией проекта системы ПЛАТО занималась компания Control Data Corporation (CDC). Она разрабатывала компьютеры, на которых работала эта система. Президент корпорации Уильям Норрис первоначально планировал сделать систему ПЛАТО самой важной силой в компьютерном мире, однако вывод системы на рынок не дал успешных результатов. К сожалению, последняя работающая система была отключена в 2006 году (всего через месяц после смерти Норриса), но за это время благодаря ПЛАТО были ввнедрены такие базовые интернет-понятия как форум, онлайн-тестирование, электронная почта, чат, мгновенное сообщение, удалённый рабочий стол, многопользовательская игра. Специально для компьютеров ПЛАТО в 1973 году была создана первая игра c трёхмерной графикой Spasim, a также впервые переделаны под систему такие знаменитые игры, как Маджонг и Солитер.
В 1959 году Чалмерс Шервин, физик Университета штата Иллинойс, предложил идею создания компьютеризированной системы обучения Уильяму Эверетту -- декану инженерного колледжа, который, в свою очередь, рекомендовал Даниэлю Альперту, другому физику, созвать совещание на этот счет, пригласив всех инженеров, системных администраторов, математиков и психологов. Спустя несколько недель после первой встречи совещание так и не пришло к общему мнению, как должна быть устроена система и её дизайн. Альперт коснулся этого вопроса в личном разговоре с лаборантом Дональдом Битцером, после которого лаборант решил разработать демо-версию системы.
Сегодня Битцер считается «отцом» системы ПЛАТО. Он признаёт, что для обеспечения качественного компьютерного образования, хорошие графические возможности не требовались (скорость печатания на телетайпах 10 символов в секунду в то время было нормой). К 1960 году система ПЛАТО впервые стала доступна для работы на компьютере ILLIAC I; для работы на нём прилагался телевизор в качестве устройства вывода и специальная клавиатура для навигации и работы с меню. А в 1961 году была спроектирована ПЛАТО 2, которая была ориентирована на работу двух пользователей одновременно [9].
Участники проекта не сомневались в ценности и значимости этих систем, и, таким образом, ПЛАТО развивалась и самосовершенствовалась с 1963 по 1969 года. ПЛАТО 3 давал возможность пользователям при создании новых модулей уроков применять язык программирования TUTOR, разработанный аспирантом биологии Паулем Тенцзаром в 1967 году. ПЛАТО 3 мог одновременно запускать до 20 программ с уроками. Он использовался в Иллинойском университете в Урбана-Шампейн. Система была устроена таким образом, что можно было входить в систему через пользовательские терминалы.
В 1972 году была спроектирована система ПЛАТО 4. У новой системы имелся ряд инноваций, таких как оранжевая плазменная панель, разработанная Битцером. В нее были встроены функции растровой графики и память. С помощью плазменного дисплея поддерживалась возможность быстрой векторной отрисовки линий. Скорость работы была около 1260 бод, 60 строк или 180 символов в секунду. Формат дисплея был 512x512 битов; с помощью логики, зашитой в аппаратное обеспечение, осуществлялась отрисовка векторной графики и символов. Пользователи могли создавать свои собственные символы. Новое решение позволяло использовать графику растрового изображения. Сжатый воздух приводил в движение селектор изображения, работающий по принципу микрофильмирования. Цветные изображения проецировались на экран под программным контролем. Кроме того, дисплей ПЛАТО 4 также обладал сеткой инфракрасной сенсорной панели с размером 16х16, что позволяло учащимся давать ответ на вопрос касанием пальца в любом месте экрана. Еще одной функцией была возможность подключения терминала к периферийным устройствам. Одним из таких устройств был синтезатор Gooch Synthetic Woodwind, который мог обрабатывать и синтезировать 4 голоса и передавать информацию непосредственно в ПЛАТО 4. Позднее была разработана новая версия синтезатора, которая могла распознавать уже до 16 голосов, а также объединять и разделять звуки с целью получения более сложных комбинаций звуков. Также был создан специальный синтезатор речи Votrax [9].
Основной задачей этой системы было обучение пользователей и развитие их музыкальных навыков. К примеру, программа могла оценить скорость и тембр игры, так как в неё были включены интерактивные примеры, музыкальные диктанты. Для ПЛАТО 4 были созданы два специальных музыкальных и текстовых редактора, а также компилятор для языка, системы регистрации для музыки исполняемых файлов, программы для воспроизведения музыки в режиме реального времени и прочие музыкальные программы. Так ПЛАТО стала первой системой, обладающей расширенными мультимедийными возможностями.
С появлением микропроцессоров были спроектированы новые, более дешёвые и обладающие большими возможностями терминалы. В университете Иллинойса им дали название ПЛАТО 5, хотя самой системы ПЛАТО 5 никогда не существовало (она продолжала называться ПЛАТО 4). С помощью микропроцессоров Intel 8080, которые были встроенны в терминалы, система теперь могла выполнять программы локально, как сегодня работают Java-апплеты или элементы управления ActiveX, а также загружать небольшие модули программного обеспечения в терминал, для того чтобы сделать разнообразными учебные курсы за счёт сложной анимации и других возможностей, которые недоступны в обычных терминалах.
В 1972 году в университете штата Иллинойс исследователям компании Xerox PARC продемонстрировали систему ПЛАТО. Им были представлены отдельные модули системы, такие как программа для генерирования изображений для ПЛАТО, и программа для «отрисовки» новых символов. Многие из этих инноваций в дальнейшем послужили фундаментом для разработки других компьютерных систем. Некоторые из этих технологий в усовершенствованном виде проявились в системе Xerox Alto, которая, в свою очередь, стала прототипом для разработок компании Apple [9].
К 1975 году система ПЛАТО, выполнявшаяся на суперкомпьютере CDC Cyber 73, обслуживала почти 150 мест, включая не только пользователей системы ПЛАТО 3, но и гимназии, лицеи, колледжи, университеты и военные объекты. В ПЛАТО 4 в составе учебных курсов предлагались текст, графикa и анимация. Кроме того, имелся механизм разделяемой памяти («общие» переменные), что позволяло с помощью языка программирования TUTOR обмениваться данными между различными пользователями в реальном времени. Все это легло в основу создания первых программ для чата, а также первого многопользовательского авиасимулятора.
После появления ПЛАТО 4 Битцер заявил об её общем успехе, утверждая, что его главная цель достигнута: универсальное компьютерное обучение теперь доступно всем. Однако стоимость терминалов ПЛАТО была слишком высокой (около 12 000 долларов), поэтому для достижения состояния общедоступности, стоимость системы ПЛАТО было необходимо сократить.
Вопреки тому, что система ПЛАТО фактически была первопроходцем в сфере компьютерных обучающих систем, из-за своей дороговизны и развития конкурентов она свой век закончила.
1.2.3 ComputerMentor
ComputerMentor предоставляет возможность для создания бесконечного множества заданий по различным темам изучаемой предметной области, призывая ученика решить задачу и ввести ответ. В ситуации, если учащийся не способен дать правильный ответ, программа продемонстрирует полный путь решения текущей сгенерированной задачи. Таким образом, у обучающегося появляется возможность ознакомиться с вариантами решений большого количества задач из разных разделов предметной области [10].
Возможность ознакомиться с вариантами решений большого количества задач из различных разделов предметной области является несомненным преимуществом этой системы, но в нём же кроется и один из основных недостатков этой системы - недостаточная вариативность подачи контента и вкупе с ней пониженная мотивация. Решить эту проблему могло бы наличие игровой составляющей, в которую была бы погружена эта тестирующая система. Собственно, эта задача и была решена в данной работе.
1.2.4 Memrise
Memrise - это обучающая система, базирующаяся на интервальном запоминании и служит в качестве системы, помогающей изучать иностранные языки, хотя может использоваться и как обучение практически любой предметной области. Интервальное запоминание базируется на следующем принципе - если повторять материал в строго определённые промежутки, то он не забудется. Сначала вы повторяете через час, потом через шесть часов, потом через сутки и так далее. Чем дальше, тем больше промежутки и тем меньше времени вы тратите [11].
Принцип интервального запоминания основывается на работе краткосрочной памяти человека и её взаимосвязью с долгосрочной памятью. Мы узнали что-то новое. А через два часа мы можем забыть до 80% изученного. Человек забывает по особой кривой. Примерное представление этой кривой приведено на рисунке 1.2.1. На оси абсцисс отсчитывается время в часах после получения новой информации, а по оси ординат - процент забытой информации.
Рисунок 1.2.1 - Скорость забывания информации человеком
Технология Memrise использует новейшие открытия в области нейролингвистики и методик обучения. Её преимуществом является способность подстраиваться под индивидуальные особенности нашей памяти. Уникальная система мнемонического запоминания помогает быстро и эффективно пополнять словарный запас. При этом, важно не только выучить слова или фразы, но и не забыть их со временем. Memrise предлагает очень простую и эффективную функцию интервального повторения - через определённые промежутки времени программа будет напоминать о выученных словах и поможет закрепить их в памяти навсегда [11].
Помимо прочего Memrise доступна не только на персональных компьютерах, но и на смартфонах, работающих на операционных системах iOs и Android.
1.3 Постановка задачи
игровой компьютерный информационный знание
Задачей данной работы является разработка и исследование игровой компьютерной среды дисциплины «Представление знаний в информационных системах», изучаемой в учебном процессе по направлению 09.03.02 «Информационные системы и технологии». Данная среда должна сочетать в себе большой мотивационный потенциал игровых сред и тестирующе-обучающую систему, пройдя через которую обучаемый получит новые знания, научится отвечать на вопросы и решать задачи предметной области. Кроме того, следует изучить влияние такой игровой компьютерной среды на результаты обучения студентов, и сделать выводы по ним.
Также при разработке игровой компьютерной среды необходимо привнести научную новизну в эту сферу. Поэтому к игровой среде необходимо добавить многоуровневую генерацию заданий. Это позволит давать в зависимости от правильных решений обучаемого разный по сложности и тематике материал. Задания должны быть разбиты на когорты, из которых с определенной вероятностью выдается задача обучаемому: чем выше знания определенной когорты вопросов будет показывать игрок, тем реже он будет получать задания этой когорты. Таким образом будет повышаться средний уровень знаний обучаемого по предметной области. К тому же формирование заданий таким образом происходит только в момент тестирования из хранящихся в памяти шаблонов заданий и диапазонов параметров, что позволяет использовать сравнительно небольшой размер памяти устройства, на котором производится тестирование обучающего.
После реализации игровой среды требуется провести исследование её влияния на уровень знаний обучаемых и провести оценку результатам всей работы.
2. Анализ моделей и технологий разработки
2.1 Выбор среды проектирования и языка разработки
При выборе среды проектирования и языка разработки наибольший приоритет отдавался языкам программирования, которые имели минимальный порог входа или были уже известны, так как времени, выделенного на выпускную квалификационную работу было недостаточно для освоения новых средств разработки и изучения нового языка, особенно с учетом рабочей и учебной нагрузки.
В качестве возможных вариантов рассматривались среды, которые уже имели некий нужный функционал из стандартных библиотек, либо в этих средах было легко и удобно писать с нуля нужный функционал для игровой компьютерной среды «Представление знаний в информационных системах».
2.1.1 Adobe Flash
Adobe Flash (ранее Macromedia Flash) -- мультимедийная платформа, разработанная компанией Adobe Systems предназначенная для создания и разработки приложений или мультимедийных презентаций. Она довольно широко применяется при разработке игр, анимации, баннеров, а также служит механизмом воспроизведения на веб-страницах видео- и аудиозаписей. В последнее время Adobe Flash уступает технологии HTML5 [9].
В данной платформе присутствует ряд средств для разработки, такие как Adobe Animate и Adobe Flash Builder, а также программа для воспроизведения flash-контента на веб-сайтах -- Adobe Flash Player.
Adobe Flash предоставляет возможности для работы с векторной, растровой и с трёхмерной графикой. При этом в ней используется графический процессор. Платформа поддерживает двунаправленную потоковую трансляцию аудио и видео контента. Для КПК и других мобильных устройств была разработана специальная «облегчённая» версия платформы, получившая название Flash Lite. Ее функциональность ограничена в расчёте на возможности мобильных устройств и в зависимост от их операционных систем.
Компанией было разработано стандартным расширение для скомпилированных flash-файлов (анимации, игр и интерактивных приложений) -- SWF (Small Web Format).
Flash использует язык программирования ActionScript, основанный на ECMAScript.
У flash-приложений присутствует большой недостаток -- это огромная нагрузка на центральный процессор. Это связано в большей степени с неэффективностью виртуальной машины Flash Player. Несмотря на это, следует отметить, что в некоторых случаях причиной может быть и недостаточная оптимизация flash-приложений их разработчиками, использование так называемых «генераторов» flash-приложений.
Вторым важным недостатком flash-приложений является недостаточный контроль ошибок, что впоследствии приводит к частым отказам работы как самих приложений, так, в некоторых ситуациях, и всего браузера. Способность flash-приложений нарушать работу всего интернет-браузера неоднократно вызывала критику со стороны разработчиков.
Третий недостаток свойственен для всех виртуальных машин. Проявляется он в том, что не всегда присутствует возможность запустить flash-приложение, либо это связано с некоторыми трудностями. К примеру, многие пользователи или администраторы отключают в настройках браузеров flash-контент для экономии системных ресурсов, избавлением от надоевшей рекламы и для обеспечения информационной безопасности. Данный недостаток делает технологию Flash менее универсальной и ограничивает её использование в веб-приложениях критической важности.
Еще одним важным недостатком можно отметить затруднение индексирования поисковыми системами при использовании Flash для размещения текстовой информации. Несмотря на то, что определённая система индексирования текста внутри swf-файлов была создана и внедрена Google и Yahoo! ещё в 2008 году, доля сайтов, целиком и полностью созданных на Flash, всё еще остаётся небольшой.
Action Script 3.0 считается языком, порог входа в который достаточно небольшой, что является несомненным плюсом.
2.1.2 Unity 5.3
Unity -- это инструментарий, предназначенный для создания двух- и трёхмерных приложений и игр, которые работают под операционными системами Windows, Linux и OS X [9].
Разработанные в Unity приложения могут функционировать под операционными системами Windows, OS X, Windows Phone, Android, Apple iOS, Linux, а также на игровых приставках Wii, PlayStation 3, PlayStation 4, Xbox 360, Xbox One и MotionParallax3D дисплеях (устройства для воспроизведения виртуальных голограмм), например, Nettlebox. При помощи специального подключаемого модуля Unity (Unity Web Player), а также с помощью реализации технологии WebGL пользователь может создавать приложения для работы в интернет-браузерах.
Разработанные с помощью Unity приложения поддерживают DirectX и OpenGL. Данный движок широко используется как крупными разработчиками (Blizzard, EA, QuartSoft, Ubisoft), так и разработчиками Indie-игр вследствие наличия у Unity бесплатной версии, а также удобного интерфейса и простоты работы с движком.
В редакторе Unity встроен Drag&Drop интерфейс, который довольно легко настраивать. Он состоит из различных окон, и благодаря этому можно производить отладку игры прямо в редакторе. У движка есть возможность поддержки двух сценарных языков: C#, JavaScript (модификация). Расчётами физики оперирует физический движок PhysX от NVIDIA.
Проект в Unity разделен на сцены (уровни), представляющие собой отдельные файлы, в которых содержатся свои игровые миры с собственным набором объектов, сценариев и настроек. Сцены могут включать в себя как объекты (модели), так и, непосредственно, пустые игровые объекты -- те, у которых нет собственной модели («пустышки»). Самих объектах, в свою очередь, содержатся наборы компонентов, с которыми и взаимодействуют скрипты. Также у объектов есть название (в Unity допускается наличие двух и более объектов с одинаковыми названиями), может быть тег (метка) и слой, на котором он должен отображаться. Таким убразом, у любого объекта на сцене обязательно присутствует компонент Transform. Его функция -- это хранение в себе координат местоположения, поворота и размеров объекта по всем трём осям. У объектов с видимой геометрией также по умолчанию присутствует компонент Mesh Renderer, делающий модель объекта видимой. К объектам можно применять коллизии (в Unity т. н. коллайдеры -- collider).
Также Unity поддерживает физику твёрдых тел и ткани, а также физику типа Ragdoll (тряпичная кукла). В редакторе имеется система наследования объектов; дочерние объекты будут повторять все изменения позиции, поворота и масштаба родительского объекта. Скрипты в редакторе прикрепляются к объектам в виде отдельных компонентов.
2.1.3 Construct 2
Construct 2 предоставляет возможность любому желающему создавать 2D-игры любой сложности и любого жанра, даже не имея навыков программирования. Игры, сделанные на нём, легко портируются на все основные платформы -- PC, Mac, Linux, браузеры с поддержкой HTML5, Android, iOS, Windows Phone, Blackberry 10, Amazon Appstore, Chrome Web Store, Facebook и пр. Поддержка iOS и Android осуществляется благодаря технологиям CocoonJS от Ludei, directCanvas от appMobi и Intel XDK, которые используют аппаратное ускорение для увеличения производительности HTML5 игр в 5-10 раз [9].
Программа обладает интуитивно понятным и простым в освоении интерфейсом. Благодаря визуальному WYSIWYG-редактору от пользователя не требуется знаний в программировании и опыта в разработке игр, в ней способен разобраться даже ребёнок. Логика игр в Construct 2 создается с помощью системы событий (англ. events) и связанных с ними действий (англ. actions).
Редактор Construct 2 написан на языке C++, а игры кодируются в Javascript. При экспорте проекта JavaScript минифицируется, однако есть возможность подключить Javascript Plugin SDK и модифицировать код вручную. Также существенным плюсом является наличие у Construct 2 модульного дизайна, благодаря которому любые плагины или поведения, которые не задействованы в проекте, не включаются в скрипт, что помогает оптимизировать проект и уменьшить его вес.
Для того чтобы овладеть Construct 2 необходим лишь базовый опыт работы с ПК и немного усилий. Кроме того, систематические обновления делают использование программы достаточно безопасным.
Данный конструктор игр одинаково хорошо подходит как для неопытных новичков, желающих попробовать себя в создании простых игр, так и для профессионалов, которые хотят научиться делать качественные игры. Более того, с его помощью можно легко создавать прототипы игр, демонстрационные версии, презентации и интерактивные обучающие приложения.
Construct 2 отлично подходит под требования разработки игровой компьютерной среды дисциплины «Представление знаний в информационных системах». Но тем не менее поиск среды проектирования продолжается.
2.1.4 Corona SDK
Corona - это довольно быстрый и простой инструмент разработки для Пк, iOs и Android игр и приложений [12].
Corona SDK обладает множеством различных свойств, позволяющих разрабатывать надежные приложения. Некоторые из этих свойств включают:
разработка родных приложений: исполняемые файлы Corona на 100% Objective-C/C. На самом деле, в Corona для компиляции требуется Xcode;
автоматическая интеграция OpenGL-ES: нет необходимости вызывать дополнительные классы или функции для создания простых манипуляций с экранами;
кросс-платформенная разработка: Corona может создавать приложения для iOS (iPhone, iPod Touch, iPad), Android-устройств и Windows;
производительность: Corona оптимизирована под использование свойств с аппаратным ускорением, что дает непревзойденную производительность в играх и приложениях;
свойства устройств: доступ к родным контроллерам и аппаратному оснащению устройств вроде камеры, акселерометру, GPS и так далее;
легко изучать: Corona использует язык программирования Lua, который имеет очень низкий порог вхождения.
Для разработки приложений в Corona применяется язык программирования Lua. Lua - это язык разработки скриптов, который широко используется в разработке игр. Он уже довольно устойчиво прижился на рынке и в сообществе разработчиков. Синтаксис Lua можно поддается сравнению с такими языками как javascript или ActionScript 3, что делает его крайне простым в изучении.
Также несомненным плюсом Corona SDK является то, что у меня имеется опыт работы как с ней самой, так и с языком lua в частности.
2.1.5 Clickteam Fusion
Clickteam Fusion -- это конструктор 2D-игр для разных популярных платформ, созданный компанией Clickteam, выпускающей подобные программы на протяжении уже многих лет. В сущности, Clickteam Fusion является перерождением другого конструктора игр, Multimedia Fusion 2, который перестал развиваться в декабре 2013 года, когда вышел Clickteam Fusion 2.5. Данный конструктор не ограничивается жанровой направленностью и платформенной принадлежностью, разрабатываемых в нём игр [9].
Как утверждают авторы данного конструктора, ни с одним конструктором создание игр и программного обеспечения не было настолько простым и быстрым, как с Clickteam Fusion 2.5. Редактор событий конструктора CF2.5 дает возможность быстро генерировать игры или приложения, не требуя особых навыков программирования. Потратив небольшое количество времени можно легко постичь основы, которые в дальнейшем позволят разрабатывать игры для Windows, Android, Flash и XNA, а также для Windows Mobile и Xbox 360.
Один-единственный инструмент «перетаскивание» обладает множеством удивительных особенностей, таких как:
отсутствие потребности в приобретении специальных знаний в области программирования;
простота и легкость использования и интуитивно понятные интерфейс и функционал;
доступность шейдерных эффектов;
возможность создания вкладок при помощи только одного инструмента «перетаскивание»;
возможность публиковать приложения на нескольких разных платформах;
возможность публиковать игры и приложения на нескольких разных платформах;
полная свобода творчества;
аппаратное ускорение игр и приложений;
дружественная группа поддержки.
Программа CF2.5 подстраивается под разные виды платформ с помощью дополнительных экспортеров:
оперативно создает HTML5 и производит его автоматический запуск в вашем браузере;
использует расширение SDK для расширенной функциональности;
оперирует программами аппаратного ускорения и шейдеров на мощных машинах с Windows;
сотня вспомогательных объектов обеспечивает дополнительную функциональность инструмента;
CF2.5 подключается непосредственно к любому устройству Android и формирует APK;
получает доступ к ОС Android при помощи простой системы прав доступа;
создает игры для всех сенсорных устройств iOS, включая Ipad, Iphone и Ipod;
увеличивает опционный контроль интерфейс-объектов Accelerometer и Multitouch;
создает игры для Xbox 360 и Windows 8 Mobile;
имеет множество вариантов управления для нескольких платформ;
в Adobe Flash Player легко создает полностью настраиваемый SWF.
Данный конструктор игр отлично подойдёт для тех, кто хочет быстро, и без заморочек с языками программирования, создавать кроссплатформенные игровые 2D-приложения на популярные платформы.
2.1.6 Выбор технологии разработки
Под требования для реализации игровой компьютерной среды дисциплины «Представление знаний в информационных системах» больше всего подошли: Corona SDK, так как у меня есть опыт работы с ней и этот инструмент достаточно прост и удобен для разработки, Construct 2, так как это простой и удобный конструктор с минимальным порогом вхождения, и Clickteam Fusion, так как этот конструктор также отлично подходит для быстрой и простой разработки приложений для основных популярных платформ.
Их общие достоинства:
технологии просты в освоении для начинающих и имеют большой потенциал для более продвинутых пользователей;
хорошая сопровождающая документация;
мало, либо совсем нет, значимых ошибок - технологии достаточно оптимизированы для работы с основными популярными платформами;
большое развитое сообщество, к которому всегда можно обратиться за помощью и в соответствующих чатах, форумах или группах всегда подскажут как выйти из проблемной ситуации.
За Corona SDK - наличие опыта в работе с ней и знание языка lua, за Construct 2 и Clickteam Fusion - то, что они конструкторы, и это значит, что потребуется минимальное владение языками программирования, чтобы написать на них что-то, а также удобный графический редактор, в котором большинство действий можно совершить при помощи drag&drop.
Для данной работы была выбрана Corona SDK. Причиной этому послужило наличие опыта работы с ней и преимущество перед конкурентами в виде непосредственного написания кода программы, тем самым получая полный контроль над процессом разработки.
2.2 UML-моделирование
Основной составляющей объектно-ориентированного анализа при разработке компьютерных обучающих систем является декомпозиция проблемы на отдельные классы понятий (концептуальные классы) или объекты. Моделью предметной области является визуальное представление концептуальных классов или объектов реального мира в терминах предметной области. Это один из первых этапов моделирования предметной области, который необходим для сбора, классификации и формализации сведений обо всех аспектах предметной области, определяющих свойства разрабатываемой системы [13].
Многие специалисты, будучи вовлеченными в развитие программного и информационного обеспечения компьютерных технологий обучения в образовательной сфере, должны понимать контекст, в котором работают обучающие системы. Этот навык необходимо иметь ключевым разработчикам, в частности архитекторам и аналитикам, для адекватного отражения требований в создаваемой компьютерной обучающей системе. Моделью предметной области описываются такие значимые понятия контекста, как объекты предметной области, а также связь этих объектов друг с другом. В результате, при проведении объектно-ориентированного анализа и проектирования системы, объекты предметной области помогут распознать некоторые классы.
В соответствии с методологией объектно-ориентированной разработки программных систем, в основе которой в качестве процесса в текущей работе используется Унифицированный процесс компании Rational -- Rational Unified Process (RUP), в технологическом процессе бизнес-моделирования имеют место быть несколько сценариев моделирования производства, что является условием представления бизнес-модели как надмножества модели предметной области [13]. При разработке приложений типа компьютерных обучающих систем (КОС), основной целью которых является предоставление информации и управление ею, технологический процесс бизнес-моделирования подразумевает моделирование предметной области. Целью моделирования предметной области компьютерные технологии обучения как альтернативной детали технологического процесса бизнес-моделирования является:
идентификация классов понятий или концептуальных классов компьютерной технологии обучения;
детализация объектов предметной области;
концептуальное представление понятий предметной области.
На языке Unified Modeling Language (UML) модель предметной области представляется в виде набора диаграмм классов, с неопределенными операциями. Модель предметной области может отображать следующее:
объекты предметной области или концептуальные классы;
ассоциации между концептуальными классами;
атрибуты концептуальных классов.
Для создания модели предметной области необходимо проделать несколько этапов.
выявление концептуальных классов на базе списка категорий и метода анализа текстового описания для текущей итерации разработки;
отражение концептуальных классов в модели предметной области;
добавление необходимых ассоциаций, которые бы отражали связи, для которых требуется выделение памяти;
включение атрибутов, необходимых для выполнения информационных требований.
Модель предметной области компьютерных обучающих систем воспроизводит основные (с точки зрения моделирующего) классы понятий (концептуальные классы) или словарь предметной области. Неформально, концептуальный класс -- это некая демонстрация идеи или объекта. Выражаясь более строго, концептуальный класс можно рассматривать в терминах символов, содержания и расширения, которые интерпретируются следующим образом:
символы (symbol) -- слова или образы, представляющие концептуальный класс;
содержание (intension) -- определение концептуального класса;
расширение (extension) -- набор примеров, к которым применим концептуальный класс.
Символьное описание и содержание концептуального класса при создании модели предметной области является предпочтительным, так как именно они представляют наибольший практический интерес. Выявление концептуальных классов, которые адекватно отражают абстракции предметной области, может быть осуществлено следующими способами:
выбор из списка категорий концептуальных классов;
на базе лингвистического анализа -- выявление существительных и именных групп из текстовых описаний предметной области и их выборе в качестве концептуальных классов.
Определение концептуальных классов, предназначающихся для компьютерных обучающих систем, с помощью обнаружения существительных и именных групп из текстового описания предметной области может быть проведено с применением детальных описаний прецедентов -- набора взаимосвязанных сценариев, в которых описывается применение системы для решения определенной задачи. Между тем данную методику стоит применять с осторожностью, так как между существительными и концептуальными классами нет взаимно однозначного соответствия, и, при этом, слова естественного языка могут обладать несколькими значениями. Отсюда следует, что наилучшими основами концептуальных классов для предметной области являются высокоуровневое описание задачи, низкоуровневые требования и экспертная оценка задачи [13].
Для восприятия контекста системы с помощью модели предметной области можно рассматривать в виде наиболее важных объектов «предметы», которые существуют, или события, которые происходят в рабочей среде системы. Большая часть объектов предметной области, или, если применить более точную терминологию, классов предметной области можно определить из документа-концепции, разработка которого предшествует моделированию предметной области. Классы предметной области можно разделить на три типовые категории:
бизнес-объекты (производственные объекты), описывающие сущности, применяемые в текущем рабочем процессе, такие как компьютерный учебник, компьютерный тренажер и практикум;
объекты и понятия реального мира, отслеживаемые системой, такие как стендовые тренажеры, подключенные к автоматизированной системе обучения;
события, которые произойдут или произошли, например, сеанс тестирования, обновление компьютерного учебника.
Полный список классов предметной области компьютерных обучающих систем соответствует требованиям и принятым упрощениям для основных сценариев прецедентов системы. Не существует понятия «правильный» список. Его можно охарактеризовать, как произвольную комбинацию абстракций и понятий из словаря предметной области, представляющуюся важной по мнению разработчика модели. Вместе с тем, если для идентификации концептуальных классов применять изложенные выше стратегии, то различные специалисты по моделированию составят примерно одинаковые списки.
Целесообразно в объектном проектировании (особенно при моделировании предметной области) и программировании создавать программные классы, имена и содержание которых соответствуют сущностям реального мира. Это значительно уменьшит разницу между представлением заказчика о понятиях предметной области и выявлении этих понятий в программном обеспечении. При таком сокращении семантического разрыва между программной и концептуальной моделями результатом будет практическое преимущество.
В ходе процесса разработки модели предметной области следует выявить связи (ассоциации) между концептуальными классами, которые удовлетворяют информационным требованиям разрабатываемых на текущей итерации сценариев, а также выделить те из них, которые содействуют лучшему освоению модели предметной области.
Результатом разработки создание достаточно полезной и продуктивной модели предметной области компьютерной обучающей системы. Не существует такого понятия, как "единственно верная модель". Каждая модель является аппроксимацией изучаемой предметной области. Хорошая модель отличается представленными в ней наиболее существенными абстракциями и данными, которые необходимы для понимания предметной области в контексте текущих требований.
Подобные документы
Обоснование использования виртуальной модели, средства для разработки функциональных модулей. Разработка виртуальной модели "Представление знаний в информационных системах". Разработка алгоритмов построения виртуальной модели предметной области.
дипломная работа [1,4 M], добавлен 12.08.2017Общие сведения и существующие среды реализации компьютерной игры "Лабиринт". Разработка алгоритмов в виде блок-схемы, принципы программной реализации игры. Особенности тестирования разработанного программного продукта. Аспекты эксплуатации продукта.
курсовая работа [1,4 M], добавлен 18.01.2017Анализ предметной области разрабатываемого программного продукта. Разработка интерфейса пользователя и структурной схемы игровой программы "Крестики-нолики". Отладка и тестирование. Проведение исследования компонентов программной среды Borland Delphi 6.0.
курсовая работа [660,4 K], добавлен 08.03.2015Ознакомление с понятием компьютерных игр и их основными жанрами. Выбор сюжета игры и среды программирования. Отрисовка графики; проведение функционального и интерфейсного тестирования программы. Анализ условий труда в данной компьютерной лаборатории.
дипломная работа [3,2 M], добавлен 13.07.2014Использование информационных технологий в учебном процессе. Тестирование как средство контроля знаний. Разработка компьютерной системы тестирования знаний. Описание языка программирования. Вредные факторы воздействия компьютера на здоровье человека.
дипломная работа [562,2 K], добавлен 06.06.2014Особенности разработки дизайна и элементов окружающей среды для компьютерной игры в жанре RPG. Создание концепт-артов вспомогательных персонажей и ландшафтов, которые соответствуют игровому миру. Расчет трудоемкости и затрат на разработку дизайн-проекта.
дипломная работа [5,7 M], добавлен 18.08.2014Оценка предметной области: концептуальные требования; выявление информационных объектов и связей между ними; построение базы данных. Описание входных и выходных данных информационной системы "Магазин компьютерной техники". Анализ диаграммы прецедентов.
курсовая работа [294,8 K], добавлен 13.04.2014Проблема представления знаний в компьютерных системах – одна из основных проблем в области искусственного интеллекта. Исследование различных моделей представления знаний. Определения их понятия. Разработка операции над знаниями в логической модели.
курсовая работа [51,9 K], добавлен 18.02.2011Разработка структуры реляционной базы данных для информационной системы "Распределение учебной нагрузки". Требования к информации, надежности, составу и параметрам технических средств. Нормализация информационных объектов, логическая модель данных.
курсовая работа [2,3 M], добавлен 03.05.2015Разработка и реализация компьютерной игры "Змейка" с помощью языка программирования Pascal и модуля CRT. Составление общего алгоритма программы, выделение ее функциональных частей. Разработка тестовых примеров. Использование типизированных файлов.
курсовая работа [2,1 M], добавлен 23.02.2011