Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Minecraft with Code Project 概要

Minecraft with Code Project 概要

Minecraft with Code Project についての紹介スライドです。
Webサイト https://www.mcwithcode.com/

More Decks by たくのろじぃ / Takunology

Other Decks in Technology

Transcript

  1. Minecraft with Code Project 概要 たくのろじぃ / Takunology (Takumi Okawa)

    @takunology_net Takunology Java版Minecraft を用いたプログラミング学習の支援とコンテンツ提供 2022/08/24 更新
  2. 2 自己紹介 大川 匠 (たくのろじぃ/Takunology) 日本大学理工学部 4年 / 元高専生 【趣味】

    プログラミング / Minecraft / Azure で遊んだり、GitHub徘徊したり… 【好きな言語】 C#(最近は Windows App SDK / WinUI 3 まわりを触ったりしてます) 【主な活動】 • Minecraft with Code Project (2020/11/1~) • Microsoft Learn Student Ambassadors (2021/1/7~) • MinecraftConnection ライブラリ開発 (2021/7/1~) • classmall Kids マイクラプログラミング講師 (2022/7/6~) 【出版物 (Zenn にて公開中)】 • Azure × LINE Messaging API によるMinecraft 農業の自動化 (2021/3/8) • C#ではじめるマインクラフトプログラミング (2022/2/9) @takunology_net Takunology たくのろじぃのメモ部屋
  3. 目次 1. Gigaスクール構想とプログラミング教育 2. Minecraft によるプログラミング学習 3. Minecraft with Code

    Project 4. Minecraft へのコマンド送信 5. MinecraftConnection 6. 実装例 7. プロジェクト紹介 3
  4. 1. Gigaスクール構想とプログラミング教育 4 Gigaスクール構想 学校でのICT教育を活用するため、生徒1人に1台ずつ端末を配布 • 生徒の反応を踏まえた双方向型の授業 • 1人1人の学習状況に応じた個別学習 •

    意見交換を通じて多様な考え方を共有 ICT教育 ICTの活用によって、子供たちの力を最大限に引き出せるような学びを提供 • 調べ学習による情報の収集・整理・分析 • 文章作成やメディアを用いた表現・制作 • 各学校との連携や海外との遠隔教育(リモート授業) • 情報技術を活用することによる情報モラル教育 (リーフレット)GIGAスクール構想の実現へ (mext.go.jp) 参考:
  5. 1. Gigaスクール構想とプログラミング教育 5 プログラミング教育 プログラミング教育を通して、コンピュータの仕組みや活用方法を見いだせるようにする • コンピュータを用いた問題解決およびコンピュータの理解 • プログラミング的思考(処理の組み合わせ)の習得 •

    コンピュータの活用による社会づくり 教育の情報化の手引き-追補版-(令和2年6月)第3章 (mext.go.jp) 参考: ビジュアルプログラミング 処理の書かれたブロックをつないでプログラムを作成していく • 理科:電気回路を模倣したプログラムの作成(例:距離が〇〇のとき点灯) • 数学:図形の描画や統計を行えるプログラムの作成 • 社会(総合):タッチパネル式の町案内表示板の作成 • 音楽:リズム・パターンの組み合わせによる作曲
  6. 2. Minecraft によるプログラミング学習 6 Minecraft の活用 Minecraft Education Edition にはプログラミング学習コースがある

    エージェントをプログラムで動かすことで、ブロックを積み上げたりアイテムを運んだりすることができる → ビジュアルプログラミングによるプログラミング学習ができる! 海外では教材として取り入れられているが、日本ではあまり普及していない・・・
  7. 2. Minecraft によるプログラミング学習 7 Minecraft Education Edition を利用するには・・・? → Office

    365 A3 / A5 サブスクリプションが必要(学校側で導入) Office 365 Education プランの比較 (microsoft.com)
  8. 2. Minecraft によるプログラミング学習 8 Minecraft Win10版 ではプログラミング学習は可能か・・・? → Code Connection

    for Minecraft を使用するとプログラミングが可能(ただし学習コースはない) (Education Edition を有効にすると、元素記号の書かれたアイテムが使える)
  9. ここまでのまとめと提案 10 Gigaスクール構想 + プログラミング教育 の普及 → 学生がコンピュータを扱う機会が増加 Minecraft Education

    Edition での教育 → マイクラの世界でプログラミングができる Java版Minecraft でプログラミング学習できるコンテンツをつくる Java版Minecraft でプログラミング学習は・・・? → 学習コースは無く、初心者よりも経験者向けの内容(Mod開発 / プラグイン開発) 子供から大人まで人気の Minecraft ならば楽しく学習できそうだが・・・ → Minecraft Education Edition でプログラミング学習ができるのは一部の学生(団体)だけ → Win10版ならばプログラミング学習可能(ただし学習コースはないので書籍を買いましょう)
  10. C#言語でできることは多い 13 C#だけでWebアプリやデスクトップアプリ、モバイルアプリなどを作れるような環境が整ってきた → C#を習得できれば幅広くアプリ開発ができるようになる Cloud Web Desktop Mobile Gaming

    IoT AI Azure ASP.NET Blazor .NET MAUI WPF/WinUI WinForms .NET MAUI Xamarin Unity ARM32 ARM64 ML.NET .NET for Apache Spark .NET 6 Common Base Libraries / APIs Infrastructure Runtime Components Compilers Languages 【参考】 https://devblogs.microsoft.com/dotnet/announcing-net-6/
  11. Minecraft も加えたい 14 Minecraft も1つのプラットフォームとして .NET と結びつけたい → C#でできることを増やす 現在は

    Java 版のみだが、可能であれば統合版や教育版にも広げていく Cloud Web Desktop Mobile Gaming IoT AI Azure ASP.NET Blazor .NET MAUI WPF/WinUI WinForms .NET MAUI Xamarin Unity ARM32 ARM64 ML.NET .NET for Apache Spark .NET 6 Common Base Libraries / APIs Infrastructure Runtime Components Compilers Languages Minecraft Java Edition Bedrock Edition Education Edition
  12. 4. Minecraft へのコマンド送信 15 TCP/IP ベースの通信プロトコルを用いて、サーバにコマンドを送る RCON (Remote Console) Login

    Pass(Request ID) / Command / Command response で構成されている パケット Login pass Request ID Request ID connect ・ ・ ・ Command Response ・ ・ ・ close Minecraft へのコマンド送信はRCONプロトコルを使用する 参考:RCON - wiki.vg クライアント サーバ
  13. 6. 実装例 19 花火を打ち上げるには・・・ - /summon コマンドを使用してロケット花火を打ち上げる - ロケット花火を構成するデータが初見の人には何がなんだかわからないかも? /summon

    firework_rocket ~20 ~ ~ {LifeTime:30,FireworksItem:{id:firework_rocket,Count:1,tag:{Fireworks:{Flight:2,Explo sions:[{Type:1,Flicker:0,Trail:0,Colors:[I;3887386],FadeColors:[I;2437522]}]}}}} 上記のコマンドをプログラムで定義する 作ったプログラムは再利用可能なので、コマンドを打ち直さなくても良い
  14. 7. プロジェクト紹介 20 Minecraft 自動化 MinecraftConnection を使用した C# プログラミング 建築や湧き潰しなどの実践的な活用方法について考える

    Mod 開発 プログラミング学習 Fireworks Project Forge を用いた Java プログラミング オリジナルアイテムやツールの制作を通してMod開発を体験する Minecraft で C#プログラミングを学習する Minecraft で打ち上げ花火を楽しむ Minecraft with Code Project Minecraft とプログラミングで楽しく遊べるコンテンツ製作を目指す
  15. ロードマップ 21 プログラミングをするための 「きっかけ」 と「技術」を支援 入門者 / 学生 初心者 経験者

    Minecraft Education Edition / Scratch などの ビジュアルプログラミングを用いた学習 MinecraftConnection を用いた C#プログラミング学習 より高度なプログラミングの体験 マイクラ自動化 / Fireworks Project 社会人 / 経験者 業務や趣味でC#プログラミングができるようになる .NET / ASP.NET / Console / Unity(VR) / Mobile …