В Майкрософт задумываются над проблемами обучения детей, в частности, уже писалось про проект Kodu Game Lab.
Kodu – это интерактивная среда создания трехмерных игр, доступная одновременно на Xbox 360 и на ПК. Я решил написать о ней подробнее, поскольку начиная с сегодняшнего для любой желающий может скачать и попробовать версию для ПК.
Как же устроена игра на Kodu? Для разработки игры вам по сути необходимо создать игровой мир, в котором будут жить внедрённые вами персонажи, и взаимодействовать по установленным вами правилам (а также с учётом законов физики). При начальном запуске игры вы можете загрузить множество существующих миров, или же начать с пустого мира.
Внутри мира живут объекты – это могут быть яйцеголовые “коду”, яблоки, деревья, пушки, снаряды и т.д. Объекты уже наделены некоторым поведением – например, пушка, добавленная в игровой мир, может вдруг сама по себе опрокидываться на спину и “улыбаться”. Другие действия можете добавлять вы – например, при нажатии на пробел можно попросить пушку “выстрелить” снарядом, а при нажатии на стрелки – повернуться. Снаряд, по умолчанию, столкнувшись с каким-то объектом взорвётся, уменьшив “здоровье” этого объекта. Когда здоровье уменьшится до нуля – объект сам умрёт.
Всё это заложенная по умолчанию функциональность – поэтому чтобы получить работающую игру, надо не так много – поместить объекты в мир и наделить минимальным поведением. В ответ на события (нажатие клавиш, перемещение мыши, столкновение и т.д.) можно просить объекты исчезать, испытывать эмоции (да-да, “улыбнуться” – это примитивное действие, и разные объекты делаю его по-разному!), перемещаться, исчезать, или переходить в новое состояние (которое в коду называется страницей).
Приведённые скриншоты демонстрируют весь процесс создания игры-стрелялки на Коду: создаём пустой мир, добавляем объекты (дерево, затем пушку), модифицируем свойства пушки, добавляя реакцию на клавиши – вот, собственно, и вся игра!
А более подробно процесс показан на видео (рекомендую смотреть на YouTube в HD):
Как вы думаете – насколько такой подход к созданию игр близок к программированию? Можно ли это рассматривать как обучение программированию, или скорее как способ перетащить детей от пассивной роли игрока к более творческому процессу создания игры? Именно это, как мне кажется, самое главное, что позволяет сделать Kodu – показать, что компьютер может использоваться для создания чего-то нового, для воплощения в жизнь своих идей. Конкретные технологии, языки программирования и библиотеки всё время будут меняться, но этот принцип – свобода творчества, возможность создания виртуального творения своими руками – будет оставаться всегда.