見出し画像

Unityでオンラインゲームみたいな何かを作った(雑)

正確にはUnityのAssetの"Photon2"という、これを使えば簡単に!オンラインゲームを作れるよ!っていうアセットを使いました。

あるオンラインゲームにめちゃくちゃはまっていた時、「あー、ここはマルチだとそういう仕様なんだー。ここがこうだったらまた別に面白そうだよなー。でもオンゲーだったらMOD入れた時点でアウトな感あるしなー。いっそ自分でオンゲー作ってみたら全てを支配できて面白そうだな。よし」っていってGoogle先生に聞いてみたら、あらなんとUnityで実装できるよ~とのこと。そして軽い気持ちで始めたのが運の尽き、そもそもUnityなんてVRChat(VR内でのSNS)のワールド作成のためにたくさん岩とかのアセット並べて、「すごーい!風情あるワールド作れちゃった!!俺、もしかして、”Unity使えてる????”」とかほざいていた私にとって、これから苦難の多々でした(苦笑)

あとなんかこのアセット、ちょっと調べてみれば色んな有名タイトルオンラインゲームにも採用されているらしく、これ使えればかっこよくね!?????っていう理由でも選んだ理由です。

とりあえず、作ったよくわからない”ぶつ”をここに置いておきます。これはオンラインゲームなので、そもそもあなた以外に人がいなくて何もできない。というのがデフォなので、あくまでも展示会でガラスケース越しにみる触れない遊び道具のようなものだということですね。はい。

ひとまず、これをこのunityroomという全世界に発信するツールでこの作品を挙げることができたので、皆様方に認知され、オンゲーを完成させるという私の目標は完ぺきに達成しました。オンゲー、と名乗るからにはオンラインで参加できなければそれはオフラインゲーですからね。なんだか何かに供養している気分です。

この作品、まず完成してからほぼデバッグしてないため、一応部屋に6人まで入れる設定になっているのですが、2人までしかデバッグしていません。オンゲーのデバッグを一人でやるのは大変すぎる!!ここでもゲーム作りが如何に大変か、身に染みてわかりました。そもそもネットワークのIPアドレスの設定とかで皆様方が部屋に参加できないかもしれません。だって自分のIP一個しかないからね!検証できないね!しょうがないね!あと普通にプラットフォームはスタンドアロンで開発してたからWebGLにしたらタイトルとかその他諸々のUIが消えた!なんで!←

まあ、そんなこんなあるけど、私はオンラインゲームってどういう風に成り立っているのかなーっていう興味が少しだけ満たせたので割と満足しています。こんな出来でも。オンラインゲームは楽しいからまた作るかもしれないけど、また新たに作り直そうかな。コードとか、参考にするかもだけど、そもそもほぼ初めてゲームらしいゲーム作りをしたから、変数とか名前空間とかぐっちゃぐちゃすぎて今でもわけわからんとこあるからなあ...。

ただ、やはりオンラインゲームのネットワークっぽいことも学べました。まず初めて知ったのが、オンラインゲームにおける弾丸とかの動機の方法。[RPC(リモートプロシージャコール)]といって、弾を打つ入力をした時だけの位置角度だけを同期し、弾はローカル上で再生することによって、弾の位置を連続して同期するより、通信の負荷を減らすことができるという方法。かしこいなあって。この作品にも搭載されております。これを実装する方法学べただけでも作った甲斐あるぅ。[PunRPC]て書いてその下に関数を宣言すればええんだっけな。楽ちんすぎてPUN様様~!(最初に触ったときは使い方わからなすぎて丸一日試行錯誤して、夜中にやっと動いて感動した思い出)

ほかにもサーバー上で時間とか共有させたいときの方法。これはPUN2を使用するならおそらくカスタムプロパティというのを使わなければならない。もうカスタムプロパティに関してだけは作っていて理解することができなかった。仕様が難しすぎる!!o8queさんの公式?っぽいドキュメントからサンプルコードコピペしたらなんか動いた。

カスタムプロパティっていうくらいだから使いこなせれば楽しそうなんだけどなぁ。気が向いたらまた調べよう。

あと部屋への参加方法も適当にPUN2の公式チュートリアルを学んでからそのまま流用したから直に部屋にぶち込まれるシステムになってるから、綺麗な部屋参加画面とか今度作れたらいいな。なにせUnityのUIオブジェクトの操作方法をこのゲーム作りで初めて触ったもんだから、行き当たりばったりにやってるこのゲーム作りに複雑なUIとか実装できるわけない。頭がパンクしてしまう。UIの実装の難しさとともに、エフェクトとかも追加していかないとしょぼいゲームからは抜け出せないのよなあ。そこの重要さも改めて知った。エフェクトにこだわり始めたら永遠にゲーム作り終わらなそう...。


大学生の春休みいっぱい使って(作ってる途中大作ゲーム2本の大沼にハマったけど)これを作ったので、まだまだ語れることあるけど、このくらいにしとこうかな。オンラインゲームの基本の”き”くらい学べてたらいいな。

今日はここまで!


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