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

mcwithcode プロジェクト概要

mcwithcode プロジェクト概要

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

たくのろじぃ / Takunology

September 20, 2024
Tweet

More Decks by たくのろじぃ / Takunology

Other Decks in Technology

Transcript

  1. 自己紹介 たくのろじぃ Takumi Okawa 外部での活動 1. mcwithcodeプロジェクトの企画、Webサイト制作 2. OSS開発 :

    MinecraftConnection / MinecraftConnectionBE 趣味 • Minecraft (Java版、統合版どちらもやります) • プログラミング(主にC#) • GitHub 徘徊 • 温泉巡り • グルメ旅 • アニメ 3. イベント登壇 4. 執筆・ドキュメント作成など
  2. プロジェクト概要 – 背景 Minecraft は Techを体験・学習できるツールとして活用できる Minecraft Education / Minecraft

    統合版 MakeCodeを使用したビジュアルプログラミング, JavaScript など マイクラを軸にプログラミングやクラウドなど、気軽に触れるきっかけを作りたい Java版 Minecraft Mod開発, プラグイン開発(Java), サーバ構築 など マイクラは遊んで楽しく、学べることもたくさんある
  3. プロジェクト概要 – 学びと共有のサイクル形成 ① Minecraft × Tech による資料を起点に、学習と共有をくり返す流れをつくる 学習サイクルの形成 共有サイクルの形成

    新しい体験を探す スキルを学ぶ 実践して楽しむ 知見を公開 Tech と組み合わせる 記事の作成 体系的に学べる学習サイト・リファレンスとしての役割を果たす 学習 - Input 知見を持っている人が備忘録としてスタック・共有する役割を果たす 共有 - Output
  4. プロジェクト概要 – 大図書館の構築 ② 誰かに「教える」のではなく「ヒントの種を撒く」活動を行う 気になることを自主的に調べて実践することを継続する人たち 公開する ご自由にどぞー 資料を作る ◯◯と△△の組み合わせで

    面白い資料ができそう 資料を見つける お、面白そうな資料 発見!やってみよ~ 実践してみる 資料のとおりに やったらできた! 改変してみる ここの数値変えると? メソッド変えると? 見つけた種を自由に持ち帰って育てる ヒントの種を作って撒く 知見を自主的に伝えることを継続する人たち 「こんなことできるよ!」を共有したい人と「こんな機能をつくりたい!」と挑戦したい人が自然な形でマッチング 本プロジェクトは「スクール」ではなく「大図書館」をつくる
  5. プロジェクト概要 – 研究と開拓 ③ Minecraftの機能 × Tech による組み合わせの研究と開拓 • C#

    → 基本構文 (for, if) によるコマンドの連続実行、条件つきコマンドの実行 • C# + OpenCVSharp → 地上絵の作成 • C# + NPOI → エクセルのシートからの読み取り(設計図)を利用した建築の自動化 • Azure Virtual Machines → マイクラサーバの構築 • Azure Functions → タイマートリガーを使用した打ち上げ花火 なぜ C# なのか • Java はすでに Forge による Mod開発が主流に • Python は mcrcon ライブラリが普及している • JavaScript, Python は MakeCode の機能に組み込まれている • 誰も開拓していない領域 (マイクラC#) への挑戦 • C# のプラットフォームが豊富で移行しやすい • (個人的に) 単純にC#が好き! 組み合わせの例 Cloud Web Desktop Mobile Gaming IoT AI Azure ASP.NET Core Blazor WinApp SDK / WinUI WPF/ UWP WinForms .NET MAUI Unity ARM32 ARM64 ML.NET .NET for Apache Spark Java Edition Bedrock Edition Education Minecraft .NET 8
  6. プロジェクト概要 マイクラを軸にプログラミングやクラウドなど、気軽に触れるきっかけを作りたい 目的 Minecraft × Tech による知見・体験の共有プラットフォームを提供する 目標 ① 学びと共有のサイクルを形成する

    ② ヒントの種を撒くための大図書館を構築する ③ Minecraft × Tech を組み合わせた領域の研究と開拓を進める ※本プロジェクトは所属する会社とは関係なく、個人の趣味として立ち上げたものです 対象 年齢や性別に関係なく、マイクラで Tech を体験したいすべての人
  7. コンテンツ紹介 プラットフォームを実現するためのコンテンツ プロジェクトの総称、知見を共有・学習するためのWebサイト .NET(C#) による Minecraft BE / Education 向けコマンド実行ライブラリ

    Minecraft Java Edition を使用した花火大会イベントの開催・演出技術の研究 .NET(C#) による Minecraft Java Edition 向けコマンド実行ライブラリ
  8. コンテンツ紹介 .NET(C#) による Minecraft Java Edition 向けコマンド実行ライブラリ OSSのリンク https://github.com/takunology/MinecraftConnection Windows

    App SDK を使った コマンド生成アプリの例 WPF + OpenCVSharp を使った 地上絵作成アプリの例 マイクラ特有のコマンドの面倒な部分を、プログラムで効率化・自動化する
  9. コンテンツ紹介 .NET(C#) による Minecraft BE / Education 向けコマンド実行ライブラリ OSSのリンク https://github.com/takunology/MinecraftConnectionBE

    OpenAI (ChatGPT) を使用して AI と相談しながら作業を進める例 ブロックが置かれたことをトリガーとして TNTブロックを設置する例 Java版だけでなく統合版でもプログラムを動かせる環境をつくる
  10. プロジェクト運営 技術スタック・利用ツール フレームワーク 使用言語 デザイン CI/CD モニタリング インフラ / コンテナ

    データベース ASP.NET Core MVC / Entity Framework Core C# / Java / JavaScript / HTML / CSS / SCSS Microsoft Azure / Docker Azure SQL Database / Microsoft SQL Database / Azure Blob Storage Figma GitHub Actions Google Analytics / Google Search Console / Application Insights 他、使用ツールなど GitHub / Visual Studio / VS Code / NuGet / Azure Data Studio
  11. プロジェクト運営 参考)mcwithcode Webサイトの構成図 Azure Web Apps Actions Azure SQL Database

    User Admin / Contributor Azure Web Apps Developer Repository Deploy Commit / Push Deploy Read only (EF Core) Read and Write (EF Core)