80 lines
6.0 KiB
Markdown
80 lines
6.0 KiB
Markdown
|
+++
|
||
|
date = "2023-12-25"
|
||
|
tags = ["ue5"]
|
||
|
title = "β版を作ったけど公開を見送った話"
|
||
|
slug = "game"
|
||
|
+++
|
||
|
|
||
|
今回は、ゲームのβ版を完成させたんだけど公開を見送った話をします。
|
||
|
|
||
|
理由としては「クオリティに問題があるから」という一点につきます。
|
||
|
|
||
|
今回はそんなゲーム制作で考えたことを書いていきたいと思います。
|
||
|
|
||
|
### 1ヶ月でゲームを完成させる
|
||
|
|
||
|
11/30くらいからはじめたゲーム制作ですが、最初はどんなゲームにしたいのかとか、そういうのはあまりありませんでした。ただキャラクターを動かしてゲームの世界を飛び回っていました。
|
||
|
|
||
|
これがゲームと呼べるのかと言うと、呼べないでしょう。ゲームとは条件があるものだから。例えば、クリア条件や報酬条件、勝利条件などなど。
|
||
|
|
||
|
さて、そんなことをしているうちに、アドベントカレンダーの日が近づいてきました。私は12/24に担当していて、ゲーム作りを始めたよって話をしようと思ってたんだけど、急に思い立って、ゲームを完成させて公開しちゃおうと思いました。
|
||
|
|
||
|
これを思いついたのが12/20あたりだったと思います。そこから本格的にゲームの実装を書きはじめたのでした。
|
||
|
|
||
|
ゲームはシンプルに「アイがカードを落としたのでそれを探す」というものです。簡単なように見えて相当面倒なゲームの作り方をここではじめて学習しはじめることになります。
|
||
|
|
||
|
それまでは本当にのんびりしたもので、ゲームのタイトル画面すら作っていませんでした。
|
||
|
|
||
|
12/24にゲームを完成させようと思わなければ、おそらく、ずっとタイトル画面すら作らなかったでしょうね。その意味で「とりあえずゲームを完成させる」という目標を短期に設定できたのは本当に良かった。
|
||
|
|
||
|
さて、今回のβ版の内容に触れていきたいのですが、私が行ったのは主に3つでした。
|
||
|
|
||
|
#### 1. タイトル画面の設定
|
||
|
|
||
|
ここでは、ユーザー名の入力欄を作ってカードアカウントのidを取ってくる実装を行いました。あと、ワールドを移行する処理などを初めて実装しました。また、ゲームをスタートできる期間を設定し、その期日を過ぎると「公開は終了しました」みたいな表示を出るようにしました。また、クリアしている人も「ゲームはクリア済み」と出るようにしました。これらはapiに新たな項目を追加することで実現しています。
|
||
|
|
||
|
idは後にアイテムをゲットした時、つまり、クリア時ですね。クリアしたときにカードアカウントに特定のカードを送信する実装に使います。
|
||
|
|
||
|
#### 2. 星に入れるようにする
|
||
|
|
||
|
ゲームでは最初に大きな星が目の前に登場します。実はアイテムはこの星の中にあります。飛んでいって星に入れるようにしなければなりません。ですが、これもなかなかにテクニックが必要でして、私が使っているアセットでは、星にぶつかると消えてしまう実装になっていました。そのため星の中にちょうどいい大きさの円アクターを入れて、それにぶつかるとワールドを移行するようにしました。
|
||
|
|
||
|
#### 3. アイテムを拾う
|
||
|
|
||
|
これがゲームのクリア条件であり、アイテムを拾う処理と、アイテムを消す処理を作りました。ここでは本当に複雑な処理を行います。アイテムを拾うとグローバル変数にとってあるidを元にカードアカウントへの配送処理を行います。同時にゲームをクリア済みとapiに伝達します。
|
||
|
|
||
|
他にもメッセージを表示したり、bgmを設定したりといったことをやりました。
|
||
|
|
||
|
これでβ版は完成です。β版をプレイして動作が確認できたのは12/23でした。
|
||
|
|
||
|
### 色々と考えた末に公開を見送る
|
||
|
|
||
|
私は基本的にmacで開発し、srcをwindowsに送ってbuildするという方式で開発しています。windowsで作ってもいいのですが、なんとなくメインがmacでないと落ち着かないというか、そんな理由からmacで開発しています。
|
||
|
|
||
|
で、windowsでbuildするわけですが、なぜかapiへのpost-requestがwindowsでは動いていませんでした。これではゲーム内でアイテムを獲得してもアカウントに反映されません。ちなみに、get-reqは動いています。
|
||
|
|
||
|
この問題を把握したのは12/24でした。
|
||
|
|
||
|
これは色々やれば修正や回避することはできると思いました。ですが、ここでもう一度考える機会がありました。
|
||
|
|
||
|
「本当にこれを公開していいのだろうか」
|
||
|
|
||
|
一応、クリア条件も設定されゲームとしては普通にプレイできると思います。ですが、クオリティに納得していない自分がいました。
|
||
|
|
||
|
これはwindowsではpost-requestが不明なerrによって動いていないという些細なことが問題ではありません。全体的に納得していないのです。
|
||
|
|
||
|
とりあえずゲームを完成させてみようと思い、完成させることはできました。
|
||
|
|
||
|
「とりあえず完成させる」これはすごく重要なことだと思います。そう思うことで、私は色々と実装を進めることができました。そう思わなければ進んでいない。
|
||
|
|
||
|
ですが、ゲームのクオリティというか、全体的な完成度の高さというものは、ゲームにおいて、特に、ビデオゲームにおいて、とても大切なことです。
|
||
|
|
||
|
最初の印象がすべてを決める。
|
||
|
|
||
|
後々も引きずってしまう。
|
||
|
|
||
|
そういうものではないでしょうか。
|
||
|
|
||
|
もう少しだけゲーム制作やってみる。
|
||
|
|