Опять про обучение детей программированию: Microsoft Kodu Game Lab доступен для PC!
Я уже писал про обучение детей программированию на основе Лого. Однако возможен и другой, ещё более “симпатичный” подход – это визуальное программирование, в котором вообще не надо писать текст. Причём визуальное – это не обязательно рисование блок-схем! Например, можно исходить из понятия объекта, который находится в разных состояниях и реагирует на внешние события. В этом направлении у Майкрософт уже были наработки – например Popfly, который не пережил кризиса.
Теперь же идеи Popfly возродились с новой силой в проекте Kodu Game Lab. Kodu – это интерактивная среда создания трехмерных игр, доступная одновременно на Xbox 360 и на ПК. Я решил написать о ней подробнее, поскольку начиная с сегодняшнего для любой желающий может скачать и попробовать версию для ПК.
Как же устроена игра на Kodu? Для разработки игры вам по сути необходимо создать игровой мир, в котором будут жить внедрённые вами персонажи, и взаимодействовать по установленным вами правилам (а также с учётом законов физики). При начальном запуске игры вы можете загрузить множество существующих миров, или же начать с пустого мира.
Внутри мира живут объекты – это могут быть яйцеголовые “коду”, яблоки, деревья, пушки, снаряды и т.д. Объекты уже наделены некоторым поведением – например, пушка, добавленная в игровой мир, может вдруг сама по себе опрокидываться на спину и “улыбаться”. Другие действия можете добавлять вы – например, при нажатии на пробел можно попросить пушку “выстрелить” снарядом, а при нажатии на стрелки – повернуться. Снаряд, по умолчанию, столкнувшись с каким-то объектом взорвётся, уменьшив “здоровье” этого объекта. Когда здоровье уменьшится до нуля – объект сам умрёт.
Всё это заложенная по умолчанию функциональность – поэтому чтобы получить работающую игру, надо не так много – поместить объекты в мир и наделить минимальным поведением. В ответ на события (нажатие клавиш, перемещение мыши, столкновение и т.д.) можно просить объекты исчезать, испытывать эмоции (да-да, “улыбнуться” – это примитивное действие, и разные объекты делаю его по-разному!), перемещаться, исчезать, или переходить в новое состояние (которое в коду называется страницей).
Приведённые скриншоты демонстрируют весь процесс создания игры-стрелялки на Коду: создаём пустой мир, добавляем объекты (дерево, затем пушку), модифицируем свойства пушки, добавляя реакцию на клавиши – вот, собственно, и вся игра! А более подробно процесс показан на видео:
Как вы думаете – насколько такой подход к созданию игр близок к программированию? Можно ли это рассматривать как обучение программированию, или скорее как способ перетащить детей от пассивной роли игрока к более творческому процессу создания игры? Именно это, как мне кажется, самое главное, что позволяет сделать Kodu – показать, что компьютер может использоваться для создания чего-то нового, для воплощения в жизнь своих идей. Конкретные технологии, языки программирования и библиотеки всё время будут меняться, но этот принцип – свобода творчества, возможность создания виртуального творения своими руками – будет оставаться всегда.
Comments
Anonymous
January 28, 2010
Дмитрий, а планируется ли локализация Kodu?Anonymous
January 28, 2010
А вот и ответ: http://community.research.microsoft.com/blogs/kodu/archive/2010/01/28/localization-of-kodu.aspx