Игровой движок на PascalABC.NET. Разработчик Андрей Жарский

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

С этой целью мы написали игровой движок, созданный на PascalABC.NET. Он создан для облегчения обучения детей языку программирования: Pascal используется в школьных программах, и сам по себе представляет простой язык, а игры помогают заинтересовать детей,  дать им стимул для обучения.

Для создания этого движка использовались библиотеки PascalABC.NET GraphABC и Timers.Также была написана собственная библиотека EngineSource, позволяющая создавать кнопки, графические объекты, на подобие спрайтов в Scratch и Constract 2,

dvilok2

 

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

Работать с графикой в нашем движке, с одной стороны легко, с другой, используя соответствующие навыки, можно создавать иллюзию 3D. Таким образом, с помощью нашего движка можно создавать огромное количество разноплановых игр, переписывать, на свой манер, популярные среди детей, тем самым дать большой простор для творчества, не выходя за рамки школьной программы.
У нас получилась удобная реализация для использования мыши на экране. Также улучшена и облегчена реализация таймеров и нажатий на клавиши. Затем движок был превращен в отдельный .ехе файл, как и в других движках, и к нему добавлена способность «создавать проекты», который создаёт папку с файлом .pas, в котором заранее написаны начальные части, и с библиотекой. Сама библиотека насыщена новыми удобными функциями, например, быстрое привязывание кнопки к процедуре, создание кнопок на экране. После этого был облегчен интерфейс для создания 2D игр.

dvilok3

 

Добавлено быстрое превращение кода в ехе файл. В качестве примера, при тестировании системы мною, например, была создана игра «крестики нолики» 10 на 10, причем на создание игры ушло меньше 10 минут.

dvilok1
У проекта возможно огромное количество путей для развития: улучшение интерфейса; создание собственной точечной графической системы для работы с движком, увеличение количества функций библиотек, для облегчения работы пользователю, специальные файлы-гиды для самостоятельного обучения; помощники для быстрого рисования спрайтов для игр и т.д.

Подобно тому, как пополняются различными функциями известные игровые движки, можно пополнять и нашу игровую библиотеку, можно создать хостинг-проcтрантво и сделать наш движок open-source, свободным для использования и пополнения: каждый может внести вклад в пополнение игровой библиотеки, скачать или создать специальный файлы-гиды для самостоятельного обучения. Наша система может стать популярной и быстро распространяющейся. Есть версия PascalABC.NET для Linix и на нашем движке можно работать на самых дешевых и маломощных компьютерах (Raspberry Pi), поскольку весит он мало.

 

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

На ЕГЭ по информатике необходимо знание языка программирования Паскаль.В школе обычно учат пользовательским навыкам, а на экзамене больше половины чистого программирования. Причем некоторые задания повышенной сложности. Язык программирования Паскаль очень узок по своему функционалу и ему сейчас очень сложно конкурировать в борьбе за внимание школьников, по сравнению с другими языками программирования и игровыми движками. Учитывая эти факты мы решили расширить функционал PascalABC.NET: создать игровой движок, дополнительные библиотеки с тем, чтобы заинтересовать и научить программированию не через выработку технических навыков, а через понимание внутренней логики процессов.

 

Разработчик Андрей Жарский

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

методические материалы по информатике