遊戯王の紹介
遊戯王とは、元々日本の漫画家高橋和希による作品で、ここでは特にそれを原作としたメディアミックスゲームを指す。
又は、カードゲームの分野に所属し、KONAMIから発売された「遊戯王OCG」は世界中で人気となり、2011年には累計販売枚数251億7000万枚を突破、「世界一販売数の多いトレーディング・カードゲーム」として認定されている。
コンピューター及びインターネットの高速発展により、利便性を持つデジタルゲームは求められ、「遊戯王マスターデュエル」というKONAMIが開発されたデジタルトレーディングカードゲームは2022年1月19日にリリースされた。おかげでプレーヤーは紙のカードを使うわず、パソコンまた携帯電話の上でデュエルを行うことができるようになった。
Steamで発売してから、同時接続数26万人を突破し、そして2022年2月6日には、ダウンロード回数が1000万回を超えたという発表がある。
YGOProとMyCardコミュニティーの紹介
「マスターデュエル」はKONAMI会社の公式ゲームとして、中国のプレーヤーにとって二つの欠点がある:
- 利益を求める商業ゲームであり、プレーヤーは様々な強力なカードを集めるには現金またはゲームコインを使用する必要がある;
- 中国ではグレート・ファイアウォールの存在により、日本に配備されてあるゲームサーバーと接続することが難しい。
以上の欠点を解決し、更に中国の遊戯王コミュニティーの発展を促進したのは、「YGOPro」のことです。
YGOProは中国の同人プレーヤーから開発され、GPLv3 ライセンスに準拠したオープンソースゲームです。完全無料で、プレーヤーは自由に友達或いはネットで知らない相手と対戦することができる。
現在MyCardという中国最大の遊戯王ファンコミュニティーがYGOProの運営や開発を主導し、グッズの販売によってサーバーの出費を支える。
YGOProに基づき、MyCardは豊富な機能(例えば競争試合やダブルモード)を提供している。その他、定期的にイベントを行い、中国のファンたちを楽しませるよう努力をしている。
Neosの紹介
現在YGOProはPCとIOSとAndroidの配信を提供していない。つまり、プレイヤーはアプリをウロードしなければならないので、ブラウザで直接体験することが出来ない。
今ではほとんどのソフトウェアはWeb版が配信されてあることになり(Discord、Telegramなど)、この点では「YGOProは時代遅れ」そういう意見も出るかもしれない。
この問題を解決するため、私が2022年10月にWebバージュンのYGOProの開発を開始し、「遊戯王アニメ」の二代目主人公が好きで、彼のエースモンスター「Neos」に名付けられた。
それからほぼ一年が経ち、Neosは重大な成果を収め、正式なリリースの目標に向かって進んでいる。
Neosのデザイン
Neosのシステムは全体的に「フロントエンド」と「バックエンド」という二つの部分に分けられることができる。
バックエンドの務め:
- アカントの管理;
- ゲームの流れのコントロール;
- カードの効果の処理。
フロントエンドの務め:
- ゲーム画面の表示;
- プレーヤーの操作をバックエンドに伝える。
バックエンド
YGOProのバックエンドには複数の実装が存在している、例えば、233とkoishi。
フロントエンドに特定な「IPアドレス」と「ポート番号」をあげたらバックエンドとSocketまたはWebSocketを通じて接続することができる。
これまで遊戯王は千枚以上のカードを発売した上で、いかにこんな数のカードの効果を正確に処理するのか?
YGOProの開発者はC++言語に基づいて、ygopro-coreという「カード脚本エンジン」を開発したことで、遊戯王のカードをneovimの設定ファイルのようにlua脚本として処理できるようになった。
フロントエンド
NeosはReactとTypeScriptとCSSに基づき操作画面を構築し、valtioを使って状態を管理する。
全体のデザインは以下の画像に示されている:
詳しくはこちらへ:https://doc.neos.moe/docs/coding/design
デモンストレーション
Github: https://github.com/DarkNeos/neos-ts
サイト: https://neos.moecube.com
コードに貢献する
Welcome to create merge request in Neos repo.
著者: SKTT1Ryze
リンク: https://ccc.neos.moe/2023/07/27/neos/
この文章は CC BY-NC-SA 4.0 に基づいてライセンスされています。転載の際は原著者と出典を明記してください。