shkolaput.ru 1

СИСТЕМА ИГРОВОГО ОБУЧЕНИЯ


И.С. Игнатьев

Факультет Автоматики и Вычислительной Техники


Сегодня цифровые игры – более чем двадцатимиллиардная всемирная индустрия. Люди не только играют на своих консолях и компьютерах в одиночку, но и через локальные сети с друзьями и случайными людьми, знакомятся в играх, практически живут в играх. Однако для обучения потенциал компьютерных игр задействован пока слабо, несмотря на имеющиеся наработки в сфере некомпьютерного игрового обучения, такие как имитационные методы активного обучения, широко развивавшиеся в нашей стране в тридцатых и семидесятых годах прошлого века.

Исходя из теорий активного обучения, игровому обучению присущи те же черты, что и игре:


  • свободная развивающаяся деятельность, предпринимаемая по указанию учителя, но без его диктата и осуществляемая учениками по желанию, с удовольствием от самого процесса деятельности;

  • творческая, импровизационная, активная по своему характеру деятельность;

  • эмоционально напряженная, приподнятая, состязательная, конкурентная деятельность;

  • деятельность, проходящая в рамках прямых и косвенных правил, отражающих содержание игры и элементов общественного опыта;

  • деятельность, имеющая имитационный характер, в котором моделируется профессиональная или общественная среда жизни человека;

  • деятельность, обособленная местом действия и продолжительностью, рамками пространства и времени.

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

С другой стороны, и игры для обучения приспособлены достаточно слабо. Есть отдельная ниша игр, рассчитанных на детей 4-7 лет и содержащих базовые знания о мире вокруг, подаваемые в игровой форме. Однако игры уже достаточно давно перестали быть исключительно детским времяпрепровождением. Несмотря на это, для более старшей аудитории обучающих игр практически нет. Это связано как с инерцией мышления, так и с не до конца сформированным рынком. Наиболее близко к серьезным обучающим играм подошла компания Microsoft, снабдив свою help-систему анимированным героем («Скрепка») и дав ему игровую функцию ментора. Также можно привести обучающие игры knetwalk (присоединение терминала к серверу за минимальное число шагов) из пакета игр KDE, различные вариации игр программирования роботов (gnurobots, c++ robots) и Uplink. Кроме того, разрабатываются различные специализированные приложения, носящие имитационный характер, однако они не получают распространения практически нигде и зачастую не содержат игровых признаков. Очевидно, что этого мало.


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

Для организации работы такого комплекса необходимы следующие компоненты:


  1. Клиент на машине пользователя. Очевидно, что уже сейчас есть вполне упорядоченная практика описания установленного на компьютере пользователя программного обеспечения в базе данных определенного вида (windows registry, система портов(FreeBSD), различные пакетные системы(apt, portage, yum, etc.)). С их помощью можно получать информацию о том, какое программное обеспечение установлено у клиента. Затем сравнить ее с базой описаний имеющихся обучающих модулей и предложить пользователю загрузить и запустить эти обучающие игры. Отсюда вытекает то, что клиент должен уметь запускать эти игры или информировать пользователя о том, что нужно установить для их успешного запуска (например, виртуальную машину java или какое-либо специфическое программное обеспечение).

  2. Серверная часть. В связи с ориентированностью системы на массовое использование, он должен быть доступен через сеть Интернет. Данный сервер должен предоставлять следующие сервисы:

    1. Централизованная база данных описаний игр. Хранит описания игр и выдает их пользователям.

    2. Фаиловый сервер игр. Хранит сами игры.

    3. Сервис обработки данных, полученных от пользователя (об установленном программном обеспечении). Он обрабатывает данные, полученные из реестра программного обеспечения на машине пользователя клиентом, и на их основе подбирает по описаниям игры.

    4. Сервис добавления игры и ее описания в базу данных и на файловый сервер.. Загружается описание игры и сам уже готовый скомпилированный/ транслированный исполняемый код.


    5. Сервис проверки синтаксиса описаний.

    6. Игровой клиентский сервис (игровой веб-сервер, форум, рейтинги игроков, собственные сайты игр и т.д.)

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

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

  1. Инструментарий разработчика игр для системы, включающий такие инструменты, как:

    1. Среда разработки игр на упрощенном языке программирования. Собственная среда разработки упрощает построение игры для системы. Она содержит необходимые примитивы и функции для разработки простой игры и интерпретации ее в java-код

    2. Транслятор игры из исходного кода в платформо-независимый java-код.

    3. Инструмент написания описаний игр.

Для реализации вышеописанной модели необходимы следующие теоретические разработки:

  1. Протокол обмена информацией о программном обеспечении компьютере клиента, который устанавливает соглашения по обмену информацией на основе XML. Протокол позволяет передавать необходимые для системы сведения о программном обеспечении на компьютере клиента для подбора обучающих этому программному обеспечению игр, а также среде работы клиента для обеспечения корректной работы игр.
  2. Протокол описания игр. Этот протокол должен сформулировать описания игр для системы, в которое включается как и просто название игры, текстовое описание, так и ключевые слова, на которые должна игра реагировать для предложения своей установки.


  3. Язык написания простых игр. Очевидно, что наибольшее количество игр не должны быть комплексными и сложными, а должны быть достаточно простыми, и их можно свести к определенному числу повторяющихся блоков. Именно эти блоки и предполагается выделить. Так, можно выделить отдельных персонажей-советчиков, различные служебные конструкции, такие как компонент проверки корректности выражения и т.д.

  4. Протокол обмена информацией о успехах клиента в игре. Протокол должен формулировать передаваемые сведения, которые затем могут быть использованы для анализа интересов играющих, их действий, их ошибок, для отладки самих программ, для сбора данных об играющих и оценки их успехов в игре.

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

      1. Игры можно основать на движке программы, то есть использовать ее возможности, ресурсы, функции API.

      2. Игры можно писать на Java, чем обеспечивается их кроссплатформенность и независимость от среды.

      3. Игры также можно писать для какой-то конкретной архитектуры и распространять в бинарном коде.

Большая часть игр системы являются java-играми, а потому могут также с успехом выполнятся на мобильных устройствах, которые сейчас активно развиваются, и в то же время не встретят препятствий для выполнения как на linux, так и на windows-платформе.

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

Проект реализуется в основном на основе системы распространения программного обеспечения paludis для linux-cистем и GetIt и appupdater для windows-систем. В качестве базы данных выбрана MySQL, в качестве файлового сервера – proftpd (в дальнейшем планируется переход на распространение по протоколу bittorrent). Среда разработки игр основана на GameKit и G-Java2 (G-Creator).


Проект предполагает несколько способов получения прибыли:


  1. Получение оплаты за использование сервера от пользователей. Пользователям предлагается подписка на услуги сервера, то есть они должны ежемесячно оплачивать некий набор услуг, который будет предоставлять сервер. Возможно наличие бесплатного базового пакета и платного пакета с расширенными возможностями системы, различными аналитическими инструментами и доступом к более шировому набору игр. Цена доступа должна быть минимальна – до трехсот рублей в месяц, для охвата большей части населения.

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

  3. Продажа игр через систему. В том случае, если автором игры выбрана лицензия, не предоставляющая возможности свободного распространения через систему, возможна продажа игры через систему с небольшой наценкой за услуги системы.

Все способы предполагается к использованию.

Игры стремительно развиваются, уже сейчас игры вполне достоверно имитируют отдельные – наиболее увлекательные – стороны жизни , а, значит, могут имитировать и те ситуации, которые подробно рассматриваются в курсе обучения, навыкам поведения в которых пытаются обучить в институте. Лабораторная работа и семинар – это тоже вид имитации, однако при помощи компьютерных игр можно достигнуть гораздо большего. Игры добавляют дополнительную непосредственную мотивацию к получению знании, актуальную сейчас, а не в далеком будущем. Это позволяет передавать те знания, которые в обучном случае являются трудноусвояемыми, с большим эффектом и большей заинтересованностью проходящих обучение. Более того, опыт, полученный в ходе игр, отличается большей персональностью и интерактивностью. Компьютерное имитационное обучение процессу проигрывает пока только реальному процессу, что уже широко используется в различных ситуациях, когда пройти в ходе обучения через реальный процесс невозможно или неоправданно опасно и дорого.

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