見出し画像

(将棋ソシャゲ)初手の技術的な検討

こんばんは。将棋ソシャゲ開発運営室です。

今回は「将棋とソシャゲを融合したゲーム」を作るため、いよいよ技術的な検討を行っていきます。

まず、どのようなプラットフォームや言語で作るのか?を考えることにしました。

(参考記事)

まずはAIに質問

実は、私は最近のゲーム開発事情が分かりません。少し前に Unity をインストールして、勉強しようとしたことがあったので、Unity で作れたらいいな、ぐらいに考えていました。

しかし、Unity はクライアント向けのフレームワークであり、サーバの開発に向いているのかどうかが分かりません。

そこで、AIに質問してみました。AIとはもちろん、ChatGPT です。課金して GPT-4 にしてあります。

(質問)
Unity でいわゆるソーシャルゲームのサーバーを作ることはできますか?

(回答)

はい、Unityを使ってソーシャルゲームのサーバーを作成することができます。ただし、Unity自体は主にクライアント側の開発に使用されるため、サーバーの開発には他の技術やプラットフォームも検討してください。サーバーの開発と管理には、通常以下の手順が含まれます。

1.サーバーサイドのプログラミング言語とフレームワークの選択:Node.js、Python、Ruby、Java、C# などが一般的です。フレームワークは、Express.js、Django、Ruby on Rails、Spring Boot、ASP.NET Core などが人気です。

2.データベースの選択:データの保管には、リレーショナルデータベース(MySQL、PostgreSQL、Microsoft SQL Server など)や、NoSQLデータベース(MongoDB、Cassandra、Redis など)を選ぶことができます。

3.ユーザー認証と認可の実装:OAuth、JWT、OpenID Connect などの認証プロトコルを使用して、ユーザーのログインやデータアクセスを制御します。

4.RESTful APIかGraphQL APIの実装:クライアント(Unity)とサーバーがやり取りするためのAPIを開発します。

5.サーバーのデプロイとホスティング:AWS、Google Cloud Platform、Microsoft Azure、Heroku などのクラウドプロバイダーを利用するか、独自のサーバーを設定します。

Unityを使ったソーシャルゲーム開発では、Photon Unity Networking(PUN)やMirror、Firebase Realtime Databaseなどのネットワークソリューションを使用して、クライアントとサーバー間の通信を容易に実現することができます。これらのライブラリとサービスは、オンラインマルチプレイヤーゲームやソーシャル機能を統合しやすくなるため、開発を効率化できます。

ChatGPT

はっきり言って、分からない用語のオンパレードです。

Discord で訊いてみた。

私はとあるオンラインゲームをやっているのですが、同じギルドの方にこの話をしてみました。

そしたら、GS2というものがあるという事を教えていただきました。

これはこれで、役に立ちそうなのですが、友達同士で使うプロトタイプを作るにはハードルが高そうです。

Youtube はどうか?

Youtube で参考になりそうな動画が無いか探してみました。

こんな動画が見つかりました。

Unity でも Photon を使えば比較的お手軽にサーバが作れそうです。

ただ、これも手持の技術だけではダメです。長編にわたる動画を全部見るか、本を買ってくる必要があります。それで作れればいいのですが、実際にはこれだけでは無理となるリスクもあります。

手持の技術で作る。

どれもハードルが高そうですし、プロトタイプの段階では、手持の技術だけで作れる方向性を選ぶことにしました。

具体的には、自宅PCをサーバーにして、Web ベースで、サーバはPHPで作ります。データベースは MySQL です。

よくある、HTML+CSS+JavaScript と PHP+MySQL の組み合わせですね。

上でグラブルについて少し触れましたが、実はグラブルもこの組み合わせで作られています。

ひとまず、これらの技術でログイン画面を作って、盤面を表示させるところまで進めたいと思います。

実は、私は仕事で PHP を使用しているのですが、自宅にはきっちりとした PHP のプログラミング環境がありません。次回はこれらをセットアップして、その手順を記事にしたいと思います。

以上です。

この記事が気に入ったらサポートをしてみませんか?