アマゾンバナーリンク

ディスプレイ広告

スポンサーリンク

HappyMyBarthDay&unity1week初参加できなかった作品

こんにちは!ジェイです。ゲーム開発をしている人達は自分の作品を発表する場があると思います。その中で今日はゲームエンジンUnityを使っている人達に向けに開催されているunity1weekというイベントについてお話していきます。

記事内広告

unity1week

Unityでゲーム開発をしている人には、お馴染みのunity1weekというイベントがあります。今回のお題は「2」で2021年4月26日~2021年5月2日でした!

初参加の決意

以前にイベントの作品をYouTubeで実況プレイする機会がありましたが、その時の様子はこちらです。

この時から参加したくてウズウズしていて、今回は5月3日が私の誕生日だということもあり、○○代最後の思い出にこのイベントに参加するのを決意しました。

開発1日目

#unity1week 企画書も書かずにいきなりプログラムを書き始めました!!
お題は2なので2プレイのオンラインゲーム作るという無謀なことを始めました。
今日はログイン画面を作って終了果たして間に合うのでしょうか!?乞うご期待

Originally tweeted by ジェイ@Unityオンラインゲームスペシャリスト (@JY20160816) on 2021年4月26日.

ツイートでは、企画書も書かずにとありますが、人に見せるための物でなく自分用のものは書いてます。仕様書やブログの記事なども同様で型を使ってます。技術全般に言えることですが、この型を習得するのがとても大事だと思ってます。

開発2日目

#unity1week
進捗2日目
・自キャラ
・敵AI
・武器
・当たり判定
まで終わりました。1人プレイは普通にできますが、マルチプレイはできず2人プレイになるとエラーの嵐です。作業量が多いので全力で飛ばしていきます!

Originally tweeted by ジェイ@Unityオンラインゲームスペシャリスト (@JY20160816) on 2021年4月27日.

2日目でシングルプレイの格子の部分は一気に組み上げました。この時から体調が悪くて、自律神経が乱れて、なかなか寝付けずしんどくなってきました。

開発3日目

#unity1week
進捗3日目
今日でマルチプレイの同期はだいたいできました!
めずらしくマッチングありにしたので、詰む可能性は少ないはず。
次はエラー修正して、ステージの切り替え処理と敵のAIがまだまだなので調整します。
unity1weekお題「2」進捗3日目 https://youtu.be/NHlDHUb20pU @YouTubeより

Originally tweeted by ジェイ@Unityオンラインゲームスペシャリスト (@JY20160816) on 2021年4月28日.

もうすでにオンラインゲーム開発の落とし穴は何度も経験していたので、マッチングありでシンプルに同期する仕様で進めていきました。

開発4日目

#unity1week
・キャラの復活
・AIのターゲットの変更
・ステージの遷移
・爆発物
以上の機能を実装しました。武器の種類を増やしたいので頑張ります。けど、マルチプレイのデバッグを1人でやるのは大変ですね😅
unity1weekお題「2」進捗4日目 https://youtu.be/_TBDVR1irws @YouTubeより

Originally tweeted by ジェイ@Unityオンラインゲームスペシャリスト (@JY20160816) on 2021年4月29日.

体調的にかなり限界が来てましたが、完成間近だったのでラストスパートで頑張りました。

開発5日目

#unity1week
ついに完成!!と思いきやここで止まるとは
アップロードしなければ動くのにな…
・アイテム関連とショップ
・複数の武器
・ゲームオーバー処理
・Tweet機能
以上を実装しました。動き次第配信します。

Originally tweeted by ジェイ@Unityオンラインゲームスペシャリスト (@JY20160816) on 2021年4月30日.

開発5目の4月30日にほぼ完成だったので、アップロードしようとしたのですがここで止まってしまいました。そして、最後の力を振り絞って、作品を提出しようと色々と試行錯誤したけど、次の日に限界が来たので諦めることにしました。

初参加の夢の終わり

おはようございます!何とかこの時間に起きられました。明後日はなんとついに私の誕生日なのです!体調整えて迎えたいのでunity1weekは諦める事にしました(>_<)みなさんは引き続き頑張って下さい!

Originally tweeted by ジェイ@Unityオンラインゲームスペシャリスト (@JY20160816) on 2021年5月1日.

ここでunity1week初参加は断念することになりました。正直体調管理がしっかりできてなかった自分が不甲斐ないです。

症状

  • Unityエディタ上やビルドしてローカル環境でのプレイは問題なし
  • unityroomにアップロードすると以下のエラーがでる
  • Unity2020.3.16f1

unityroom自体は作品を上げたこともあり、JavaScriptのエラーも何度も経験しましたが、今回のパターンは正直原因がわかりませんでした。しかし、以前のバージョンでは、jsでなく今回からgzになってたのは気になるところです。

最後のwasm.gzにどれを入れたらいいのかがわからなかったので、適当に全部試してはみましたがダメでした。友人に聞いてみた事から、PhotonCloudPUN2の原因ではないようです。(MonobitEngineではプロトコルの設定が必要)

WebGLに対して思うこと

結論からいうと私の開発スタイルからすると使い続けるのはかなり厳しいです。

自分はプログラミングしかやらないので、必然的にアセットストアに頼ることが多くなり、オンラインゲームを主体にゲーム開発をしてるので、リソースが重めになって、JavaScriptのエラーがよく出ます。

前回作ったUnityChanShooterはMonobitEngineで開発したオンラインゲームですが、unityroomで公開してましたが、その時にも限界を感じました。

理由は以下通りです。

  • エディタ内やビルド後にもでないエラーがアップロード後に出る
  • プロファイラ見ながらメモリ削って効率化して、ビルドしてアップロードの繰り返し
  • スタンドアロンと比べて制約が多い

逆に他の人たちが普通にunity1weekに参加しているのを見るとすごいなと思います。私みたいにエラーなどに詰まって諦める人はどれくらいいるのか気になるところです…

TwinWaveShooter

今回のお題「2」に合わせて開発した2プレイ(1プレイも可)のオンラインゲームです。アップロード時に挫折して、デバッグもろくにしてないので、バグだらけなのが予想されますが、unity1week初参加失敗記念に配布します。

説明書

2プレイ対応アクションシューティングゲームで、全方位から来る敵を一定数倒すと次のステージ(Wave)に行けます。
最初にプレイヤー名を入力してボタンをクリックするとルーム設定画面に移ります。
ルーム設定画面では、上から、部屋の名前、プレイ人数、難易度(設定できるようにする予定)で、新規プレイをする場合は、部屋を作成するボタンを押します。2プレイをする場合は、クリックする度に数字が1、2と変化するので、プレイしたい人数を指定してください。
2人目の人は、入りたい部屋名をクリックするだけで、入室できます。2プレイを選択時は、2人揃うまでは、始まりませんので注意してください。

操作方法
マウスでキャラの方向転換と攻撃
武器の切り替え=ホイールを回す
aswdで移動と単純な操作になってます。

ダウンロードはこちらから

最後に

正直なんともやるせない気分ですが、体調管理がしっかりできてなかった自分の責任なので仕方ないです。この失敗を最後に誕生日を迎えるのも正直自分らしいといえば自分らしいですが…

最後にunity1week参加する際にアドバイスを一言。「新しいバージョンを使うな!!!!」 です。

私は割とすぐに新しいバージョンに飛びついてしまうのですが、どこかに提出する場合はLTSを使うことを強くおすすめします。理由は安定しない、不具合が起きる可能性が高いからです。今なら2019のLTS辺りが安定感バツグンで良さそうです。

以上、誕生日を間近にunity1weekに参加しようと努力したけど参加できなかった失敗談でした。もし応援してくれる人がいたら、下のいいねや投げ銭をいただけると誕生日のケーキ代にして、それらを糧に失敗から立ち直ってモチベをあげられるので、よろしくお願いします。

+5