Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Minecraft with Code Project 概要
Search
たくのろじぃ / Takunology
August 04, 2021
Technology
0
6.8k
Minecraft with Code Project 概要
Minecraft with Code Project についての紹介スライドです。
Webサイト
https://www.mcwithcode.com/
たくのろじぃ / Takunology
August 04, 2021
Tweet
Share
More Decks by たくのろじぃ / Takunology
See All by たくのろじぃ / Takunology
家族のために ChatGPT と話せるLINE Bot を作った話
takunology
0
340
Minecraft を使った Azure の新しい学び方
takunology
2
1.2k
MLSA 卒業式&歓迎会!@Microsoft Base 代官山
takunology
0
160
マイクラ花火師入門
takunology
1
460
Ambassadors Meetup 2022
takunology
1
1.3k
MS Tech Camp #14 資料
takunology
0
250
ASP.NET Core と Azure Web Apps でできる!簡単 Web サイト作成&公開デモ
takunology
0
240
MinecraftConnection ライブラリによるマイクラプログラミング
takunology
0
430
Other Decks in Technology
See All in Technology
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
4
37k
Além do else! Categorizando Pokemóns com Pattern Matching no JavaScript
wmsbill
0
700
Google Cloud Next '24でブログを10本書いた方法と勉強会を沸かせた方法
yasumuusan
0
330
コードや知識を組み込む / Incorporate Code and knowledge
ks91
PRO
0
140
MLOpsの「壁」を乗り越える、LINEヤフーの Data Quality as Code
lycorptech_jp
PRO
8
620
家族アルバム みてねにおけるGrafana活用術 / Grafana Meetup Japan Vol.1 LT
isaoshimizu
1
910
【SORACOM UG 東海】あらゆるモノがつながる社会へ、IoT と SORACOM
soracom
PRO
1
140
require(ESM)とECMAScript仕様
uhyo
4
950
Autonomous Database Cloud 技術詳細 / adb-s_technical_detail_jp
oracle4engineer
PRO
15
35k
R3のコードから見る実践LINQ実装最適化・コンカレントプログラミング実例
neuecc
3
2.2k
Microsoft for Startups Founders Hub_20240429 update
daikikanemitsu
1
2.4k
Babylon.jsと色々なものを組み合わせる:ブラウザのAPIやガジェットや2D描画ライブラリなど / Babylon.js 勉強会 vol.3
you
PRO
0
160
Featured
See All Featured
Creatively Recalculating Your Daily Design Routine
revolveconf
211
11k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
19
6.9k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
33
6k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
7
1.3k
Music & Morning Musume
bryan
41
5.6k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
358
22k
It's Worth the Effort
3n
180
27k
Building Adaptive Systems
keathley
32
1.9k
The Illustrated Children's Guide to Kubernetes
chrisshort
32
46k
5 minutes of I Can Smell Your CMS
philhawksworth
199
19k
How STYLIGHT went responsive
nonsquared
92
4.8k
VelocityConf: Rendering Performance Case Studies
addyosmani
321
23k
Transcript
Minecraft with Code Project 概要 たくのろじぃ / Takunology (Takumi Okawa)
@takunology_net Takunology Java版Minecraft を用いたプログラミング学習の支援とコンテンツ提供 2022/08/24 更新
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 たくのろじぃのメモ部屋
目次 1. Gigaスクール構想とプログラミング教育 2. Minecraft によるプログラミング学習 3. Minecraft with Code
Project 4. Minecraft へのコマンド送信 5. MinecraftConnection 6. 実装例 7. プロジェクト紹介 3
1. Gigaスクール構想とプログラミング教育 4 Gigaスクール構想 学校でのICT教育を活用するため、生徒1人に1台ずつ端末を配布 • 生徒の反応を踏まえた双方向型の授業 • 1人1人の学習状況に応じた個別学習 •
意見交換を通じて多様な考え方を共有 ICT教育 ICTの活用によって、子供たちの力を最大限に引き出せるような学びを提供 • 調べ学習による情報の収集・整理・分析 • 文章作成やメディアを用いた表現・制作 • 各学校との連携や海外との遠隔教育(リモート授業) • 情報技術を活用することによる情報モラル教育 (リーフレット)GIGAスクール構想の実現へ (mext.go.jp) 参考:
1. Gigaスクール構想とプログラミング教育 5 プログラミング教育 プログラミング教育を通して、コンピュータの仕組みや活用方法を見いだせるようにする • コンピュータを用いた問題解決およびコンピュータの理解 • プログラミング的思考(処理の組み合わせ)の習得 •
コンピュータの活用による社会づくり 教育の情報化の手引き-追補版-(令和2年6月)第3章 (mext.go.jp) 参考: ビジュアルプログラミング 処理の書かれたブロックをつないでプログラムを作成していく • 理科:電気回路を模倣したプログラムの作成(例:距離が〇〇のとき点灯) • 数学:図形の描画や統計を行えるプログラムの作成 • 社会(総合):タッチパネル式の町案内表示板の作成 • 音楽:リズム・パターンの組み合わせによる作曲
2. Minecraft によるプログラミング学習 6 Minecraft の活用 Minecraft Education Edition にはプログラミング学習コースがある
エージェントをプログラムで動かすことで、ブロックを積み上げたりアイテムを運んだりすることができる → ビジュアルプログラミングによるプログラミング学習ができる! 海外では教材として取り入れられているが、日本ではあまり普及していない・・・
2. Minecraft によるプログラミング学習 7 Minecraft Education Edition を利用するには・・・? → Office
365 A3 / A5 サブスクリプションが必要(学校側で導入) Office 365 Education プランの比較 (microsoft.com)
2. Minecraft によるプログラミング学習 8 Minecraft Win10版 ではプログラミング学習は可能か・・・? → Code Connection
for Minecraft を使用するとプログラミングが可能(ただし学習コースはない) (Education Edition を有効にすると、元素記号の書かれたアイテムが使える)
2. Minecraft によるプログラミング学習 9 Java版Minecraft でプログラミング学習は可能か・・・? → 学習コースは用意されていないが、Mod開発やプラグイン開発を通してプログラミング(Java)は可能 しかし、どちらも初心者向けではなく経験者向けなので難易度が高い
ここまでのまとめと提案 10 Gigaスクール構想 + プログラミング教育 の普及 → 学生がコンピュータを扱う機会が増加 Minecraft Education
Edition での教育 → マイクラの世界でプログラミングができる Java版Minecraft でプログラミング学習できるコンテンツをつくる Java版Minecraft でプログラミング学習は・・・? → 学習コースは無く、初心者よりも経験者向けの内容(Mod開発 / プラグイン開発) 子供から大人まで人気の Minecraft ならば楽しく学習できそうだが・・・ → Minecraft Education Edition でプログラミング学習ができるのは一部の学生(団体)だけ → Win10版ならばプログラミング学習可能(ただし学習コースはないので書籍を買いましょう)
3. Minecraft with Code Project 11 Java版Minecraftを使用して、C#言語によるプログラミングを体験できるコンテンツを制作するプロジェクト マイクラ自動化 プログラミング入門
3. Minecraft with Code Project 12 マイクラで花火大会を実現するためのもう1つのプロジェクト : Fireworks Project
MS Tech Camp #17 後夜祭!より
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/
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
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 クライアント サーバ
5. MinecraftConnection 16 マイクラのコマンドを C# から送信することを可能にした、マイクラプログラミング向けライブラリ 2022年8月の時点では Version 2.0.1 です。
6. 実装例 17 MinecraftConnectionを使って花火を打ち上げるプログラムを作る例
6. 実装例 18 まず、プレイヤーの現在地(相対座標)を取得するには・・・ - /data get コマンドを実行してプレイヤーの情報を取得する - 取得できるデータは不要な文字列も含まれているので、正規表現を使って座標だけ抽出
- 座標は文字列型なので、型変換して算術演算ができるようにする ← CoreRCON を使った場合 ↓ MinecraftConnection を使った場合
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]}]}}}} 上記のコマンドをプログラムで定義する 作ったプログラムは再利用可能なので、コマンドを打ち直さなくても良い
7. プロジェクト紹介 20 Minecraft 自動化 MinecraftConnection を使用した C# プログラミング 建築や湧き潰しなどの実践的な活用方法について考える
Mod 開発 プログラミング学習 Fireworks Project Forge を用いた Java プログラミング オリジナルアイテムやツールの制作を通してMod開発を体験する Minecraft で C#プログラミングを学習する Minecraft で打ち上げ花火を楽しむ Minecraft with Code Project Minecraft とプログラミングで楽しく遊べるコンテンツ製作を目指す
ロードマップ 21 プログラミングをするための 「きっかけ」 と「技術」を支援 入門者 / 学生 初心者 経験者
Minecraft Education Edition / Scratch などの ビジュアルプログラミングを用いた学習 MinecraftConnection を用いた C#プログラミング学習 より高度なプログラミングの体験 マイクラ自動化 / Fireworks Project 社会人 / 経験者 業務や趣味でC#プログラミングができるようになる .NET / ASP.NET / Console / Unity(VR) / Mobile …
Minecraft with Code Project