Работа по разработке инновационного продукта, а именно настольной игры «Conflicts of history» – набора smart инструментов имеет социальную направленность, но в то же время представляет собой инженерно-практическую задачу, где в ходе эксплуатации полученного продукта решается задача по овладению учащимися общекультурными компетенциями и гибкими навыками soft skills.
Перед разработкой собственной настольной игры «Conflicts of history», был проведен анализ игр со схожей тематикой. Пришлось рассмотреть, как настольные игры, так и игры – приложения на смартфон и компьютер. Выявлены следующие слабые стороны данных игр, как инструментов для развития у детей общекультурных компетенций по истории России и гибких навыков soft skills:
- в случае с настольной игрой основным минусом является стоимость игрового набора и большое число составных элементов, что неизбежно ведет к нарушению комплектности. Кроме этого игра рассказывает только об одной исторической эпохе.
- в случае с играми-приложениями главным минусом является отсутствие живого общения между детьми, что не позволяет говорить о развитии 4К компетенций (критическое мышление, креативность, коммуникация, координация) в комплексе.
Разработанный
набор smart-инструментов представляет собой совмещение настольной игры и приложения для смартфона. То есть по игровому полю в качестве фишек передвигаются смартфоны с написанным в процессе работы над проектом android приложением «Conflicts of history». Таким образом устранены недочеты настольных игр. Для игры требуется только игровое поле, а смартфон есть у каждого ребенка. То, что дети играют не каждый на своём смартфоне, а все вместе на игровом поле, дает возможность говорить о комплексном развитии 4К компетенций. Возможность смены эпох в приложении позволяет развивать общекультурные знания детей не только по одной эпохе, как в случае с классическими настольными играми, а по целому спектру исторических событий.
В качестве стартового варианта представлена битва «Бородинское сражение» времен Отечественной войны 1812 года.
Игровое поле для игры разработано в Adobe Photoshop. Игра происходит на столе или другой горизонтальной поверхности. Игроки распределяются на две команды по равному количеству участников. Поле боя делится на две части и игроки расставляют своих юнитов (смартфоны) на тайлы. Целью игры является победа над командой противников, путём уничтожения всех её юнитов.
Приложение «Conflicts of history» написано на языке программирования Java в среде программирования Android Studio.
Приложение может быть сервером или клиентом в зависимости от положения переключателя на главном экране приложения.
При запуске в режиме сервера приложение создаёт серверный сокет TCP в отдельном потоке и переходит на экран управления игроками. Поток в бесконечном цикле ожидает входящих соединений, и при их наличии передаёт управление дополнительному потоку, который обрабатывает входящие пакеты от клиента и отправляет для него исходящие пакеты. Для поддержания канала, клиент и сервер постоянно обмениваются пакетом 0x0F.
При запуске приложения в режиме клиента приложение подключается по указанному адресу с введённым именем пользователя. На сервере клиент появляется в списке подписанный своим именем пользователя. Все сетевые события обрабатываются в отдельном потоке.
При первом подключении клиента к серверу, клиент переходит на экран ожидания и выбора юнита. Выбор юнита не будет доступен, пока на сервере не будет выбрана сторона боя игрока. Когда сторона боя будет выбрана сервером, клиенту станет доступен выбор юнита. Клиент должен будет выбрать юнит, и ждать запуска игры с сервера. После старта сервером игры, программа перейдёт на главный экран, где собственно говоря, происходит игра.
Во время игры, при изменениях в статистике вражеских юнитов, сервер отправляет клиенту синхронизирующий пакет с данными о текущей статистике врага. Когда счётчик жизни у клиента достигает 0, отображается сообщение с текстом «Вы умерли!» на весь экран. На клиентах противника юнит отображается с подписью «Умер». В этом состоянии игрок не может выполнять каких-либо действий в сторону вражеских юнитов. Когда все юниты на одной стороне «умерли», выигрывает противоположная сторона.