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
7k
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
350
Minecraft を使った Azure の新しい学び方
takunology
2
1.3k
MLSA 卒業式&歓迎会!@Microsoft Base 代官山
takunology
0
180
マイクラ花火師入門
takunology
1
480
Ambassadors Meetup 2022
takunology
1
1.3k
MS Tech Camp #14 資料
takunology
0
260
ASP.NET Core と Azure Web Apps でできる!簡単 Web サイト作成&公開デモ
takunology
0
250
MinecraftConnection ライブラリによるマイクラプログラミング
takunology
0
450
Other Decks in Technology
See All in Technology
プロダクトオーナー向け生成AI支援サービスの仮説検証事例
yosuke_matsuura
PRO
1
200
Node-RED MCUの活用事例とノードの開発
404background
0
110
SREがいない”今いる場所”で 「SRE」について聞いて、考えてみた
maimyyym
1
210
プロダクトの不具合傾向分析と改善活動について
masayuki_yamad
0
210
異次元のCloudFormation 拡張コマンド~Rain~
watany
0
120
静的解析ツールの刷新に向けた取り組み
suginao
1
150
チームでテストを実装していく / Implementing Tests as a Team
ropqa
0
170
[JSAI24]Object Segmentation from Open-Vocabulary Manipulation Instructions Based on Optimal Transport Polygon Matching with Multimodal Foundation Models
keio_smilab
PRO
0
120
UFACTORY Lite 6用リーダーフォロワーシステムの作成
hygradme
0
120
Improve developer experience with Spring Interface Clients Spring I/O 2024
olgamaciaszek
0
130
Multimodal LLMs and foundation models in robotics
keio_smilab
PRO
2
690
온디바이스 AI 및 로컬 AI의 도전 과제 / Challenges of On-Device AI and Local AI
inureyes
PRO
0
800
Featured
See All Featured
Music & Morning Musume
bryan
42
5.7k
Designing for humans not robots
tammielis
247
25k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
34
8.9k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
41
4.5k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
246
20k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
126
32k
Building a Scalable Design System with Sketch
lauravandoore
457
32k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
221
21k
Why Our Code Smells
bkeepers
PRO
331
56k
The World Runs on Bad Software
bkeepers
PRO
61
6.8k
Rebuilding a faster, lazier Slack
samanthasiow
74
8.3k
The Invisible Customer
myddelton
114
12k
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