Eaglercraft:ブラウザで動くMinecraftの驚愕の物語と、Mojangとの壮絶な法的闘争

Eaglercraft:ブラウザで動くMinecraftの驚愕の物語と、Mojangとの壮絶な法的闘争

ブラウザで動くMinecraft!? Eaglercraftの衝撃とMojangとの戦い

皆さんは、たった一つのHTMLファイル、もしくはWeb URLを開くだけで、ブラウザ上でMinecraft Java Editionをプレイできることをご存知でしょうか? 信じられないかもしれませんが、可能です。しかし、その裏には驚くべき開発者の努力と、巨大企業Mojangとの壮絶な法的闘争が隠されています。この記事では、Eaglercraftと呼ばれるこのプロジェクトの全貌を、詳細にわたってご紹介します。

免責事項: 私は弁護士ではありません。この文章は、Eaglercraftプロジェクトに関する情報を提供することを目的としており、違法行為を推奨するものではありません。Eaglercraftの使用は、MinecraftのEULAに違反する可能性があることをご理解ください。

Eaglercraft誕生秘話:不可能を可能にした開発者Lax1Dude

Eaglercraftの物語は、2020年、Lax1Dudeという名の一人のプレイヤーから始まりました。彼は、2016年以降、ブラウザ上での通常のJava版Minecraftの実行がサポートされなくなったことを受け、JavaScriptを用いてMinecraftをブラウザ上で動作させるという、前代未聞の挑戦に乗り出したのです。

JavaScriptはJavaとは異なるプログラミング言語ですが、ブラウザ上で動作することができ、インターネット上のウェブサイトの98%で使用されているほど普及しています。もし彼が成功すれば、それはMinecraftエンジニアリングにおける信じられないほどの偉業となるでしょう。

技術的難関:LWJGLと依存関係の壁

Lax1Dudeは、Minecraft Java EditionをJavaScriptで動作させるため、**TVM(TeaVM)**と呼ばれるツールを使用しました。TVMは、通常のJavaアプリケーションをJavaScriptで動作させるためのコンパイラです。しかし、問題はそう簡単ではありませんでした。

プログラミングでは、プログラムが動作するために必要な他のコードの断片を「依存関係」と呼びます。ケーキを焼くのに卵が必要なように、プログラムも依存関係に依存しています。Minecraftは、ゲームの主要な骨格となる**LWJGL(Lightweight Java Game Library)**という依存関係に大きく依存しています。

ところが、LWJGLはTVMでコンパイルすることができませんでした。さらに、Minecraft 1.6以降のバージョンは、LWJGL以外にも多くの依存関係を必要としていました。

最初のバージョンでは、Lax1Dudeは1.5版(2013年リリース)を対象に、丸々1ヶ月かけてLWJGLの依存関係を完全に書き直すという途方もない作業をこなしました。TVMとの互換性を持たせるため、ゼロからコードを再構築したのです。

困難を乗り越え、そして人気爆発:Eaglercraftの成功

LWJGLの対応以外にも、グラフィックの表示、JavaScriptによる遅延の解消、サーバーとの連携など、数多くの問題がありました。多くの月間にわたるプログラミングとテストを経て、2020年末にはMinecraft 1.5版を移植したEaglercraftが完成し、比較的安定した動作を実現しました。

さらなる挑戦:Minecraft 1.8へのアップデートとEaglercraft X

2022年5月、Lax1DudeはEaglercraftを1.8版にアップデートすることを決意しました。1.8版は彼の好みであり、多くのMinecraftサーバー(Hypixelを含む)で広くサポートされていたためです。

しかし、1.8版へのアップデートはさらに多くの依存関係の修正を必要としました。Lax1Dudeは、膨大な修正作業をこなし、新しいバージョンをEaglercraft Xと名付けました。この作業には7ヶ月以上の時間が費やされました。

プロジェクト名の謎:Eaglercraftの由来

Eaglercraftという名前の由来は、Lax1Dudeの中学時代までさかのぼります。彼は、秘密言語を開発しており、「鷲の卵を食べる者」を意味する「Eagler」という言葉を侮辱語として使用していました。

彼はEaglercraftが人気を集めれば、主に中学生がプレイするようになると予想し、この言葉をプロジェクト名に使用することで、彼らの日常会話に「Eagler」という言葉が浸透することを期待したのです。

Eaglercraftの人気の秘密:無料、オープンソース、そして圧倒的なアクセシビリティ

Eaglercraftが人気を博した理由はいくつかあります。まず、無料でオープンソースであることです。ただし、この点が法的問題の根源となります。Minecraft for Free.comの例を思い起こすと、その危険性は明らかです。

しかし、Eaglercraftは単に無料であるだけでなく、アクセス性が非常に高いという特徴があります。Googleで検索すると、Eaglercraftクライアントをホストする無数のウェブサイトがヒットします。オープンソースであるため、誰でもコードをコピーして独自のEaglercraftインスタンスをホストできるのです。

さらに、Lax1Dudeは、15MB以下の単一のHTMLファイルからローカルで実行できるようにEaglercraftを設計しました。これは、通常のMinecraft 1.8版のアセットサイズ(100MB以上)と比較して驚くほど小さく、低スペックな環境でも動作することを意味します。

法的紛争の勃発:MojangからのDMCA takedown

Eaglercraftの配布は、MinecraftのEULAに違反します。EULAには「我々が作ったものの配布を禁ずる」と明記されています。Lax1Dudeは、Minecraftモッドのように、ゲームコードに適用するパッチとしてコードを公開することで、この問題に対処しようとしました。

しかし、実際には、多くのウェブサイトがコンパイル済みのEaglercraft全体を配布していたため、この対策は効果がありませんでした。

壮絶な攻防:DMCAの嵐とLax1Dudeの戦い

2022年11月、Mojangは代理店AppDetexを通して、中国のEaglercraftサーバーに対して最初のDMCA takedown要求を送信しました。DMCA(デジタルミレニアム著作権法)は、著作権者の権利を保護する米国法です。DMCA takedown要求は、違法に使用されているコンテンツの削除を要求する公式通知です。

Lax1Dudeは、GitHubのリポジトリを削除しましたが、既に2000人以上がフォーク(複製)しており、Mojangは一つずつDMCAを送信する羽目になりました。しかし、数日後、MojangはLax1DudeのGitHubアカウント、ウェブサイト、Googleドライブリンク、さらにISPに直接DMCA takedown要求を送信しました。さらに、Discordサーバーも削除されました。

この事態を受け、Lax1Dudeは全てのEaglercraft関連コンテンツを削除しました。

そして、諦めない決意:Eaglercraftの復活と継続的な戦い

しかし、Lax1Dudeは諦めませんでした。彼はGitLabに移行し、Eaglercraftの開発を継続しました。MojangはGitLabにも連絡し、リポジトリとアカウントの削除を要求しましたが、この攻防は繰り返し行われました。MojangはDMCA takedown要求を送信するためのテンプレートを作成するほど、対応に追われることになりました。

Lax1Dudeは合計8件のDMCA takedown要求を受け取り、その他無数の要求が他のEaglercraftホスト者に送られました。YouTube動画も数え切れないほどDMCAされました。

Mojangが訴訟を起こさない理由:金銭的利益の不在?

驚くべきことに、Mojangは未だにEaglercraftに関して誰かを訴訟していません。Lax1Dudeは、プロジェクトから一切の金銭を得ておらず、単にMinecraftをブラウザで動かすというチャレンジを楽しんでいると主張しています。そのため、MojangはEaglercraftをさほど脅威とはみなしていない可能性があります。

未来への展望:Eaglercraftは続くのか?

Eaglercraftの未来は不透明です。より新しいバージョンのMinecraftへのアップデート、あるいはMojangによる徹底的な排除の可能性があります。Lax1Dudeは、Eaglercraftの開発を続ける可能性がありますが、Mojangとの戦いは、これからも続くでしょう。

Eaglercraftの技術的概要:

  • 目的: Minecraft Java EditionをWebブラウザで実行可能にすること
  • 主要技術: TeaVM (Java to JavaScriptコンパイラ)
  • 主要課題: LWJGL (Lightweight Java Game Library) のJavaScriptへの移植
  • 工夫: LWJGLの完全な書き直し、アセットの圧縮、不要な要素の削除
  • 特徴: 単一の小さなHTMLファイルから実行可能、低スペック環境でも動作

Eaglercraftの法的側面:

  • EULA違反: Minecraftのエンドユーザー使用許諾契約書(EULA)に違反している可能性が高い。
  • DMCA takedown: Mojangから多数のDMCA takedown要求を受けている。
  • 訴訟リスク: 高い訴訟リスクを抱えている。
  • Lax1Dudeの対応: ソースコードの公開、プロジェクトの削除と復活を繰り返している。

まとめ:

Eaglercraftは、技術的な挑戦と法的リスクを乗り越えながら、驚異的な人気を獲得したプロジェクトです。Lax1Dudeの粘り強さと、Mojangの執拗な法的対応は、ゲーム業界における著作権保護と技術革新の複雑な関係を改めて浮き彫りにしています。Eaglercraftの行方は、今後の展開が注目されます。

今後の展開予想:

  • バージョンアップデート: 最新バージョンのMinecraftへの対応
  • Mojangの対応: 訴訟の可能性、更なるDMCA takedown、技術的対策
  • コミュニティの活動: Eaglercraftのフォーク、代替プロジェクトの出現
  • 技術的進化: ブラウザ技術の進歩によるEaglercraftへの影響

Eaglercraftの物語は、単なる技術的な挑戦を超え、創造性、企業の権利、そしてインターネット上の自由の複雑な絡み合いを示す、現代社会の縮図と言えるでしょう。 この物語は、今後も私たちに多くの示唆を与え続けることでしょう。