石像備忘録

モアイ像がいろんなメモを書き残す場

unity1week「肉アツステーキ」制作ログ

お久しぶりです、しもむ~です。

調べたら出てくることは記事にしなくていいかの考えでいたら
全く記事を書いてこなかったので、久しぶりの投稿なります。

2018-09-03~2018-09-09にunityroomで開催された1週間ゲームジャムに
参加しました。
お題は「あつい」でした。

前回の「ぎりぎり」には参加しなかったので約7ヶ月ぶりの参加になります。

作ったもの

タイトルは「肉アツステーキ」です。

f:id:simomuuu:20180911230710g:plain:w300

肉を分厚く切って、いい感じに焼き上げるゲームです。
完成したものはこちらで遊べます。
https://unityroom.com/games/nikuatu_steak

ゲーム内容決め

とりあえず「あつい」で思いつくのは

  • 厚い
  • 熱い

あたりだったので、両方を取り入れ
厚い→肉厚
熱い→ガスバーナー
で、ガスバーナーで厚い肉を焼くゲームに決定。

最後に参加した「あてる」の反省点から、ゲームのテンポを優先し
結果の勢いで楽しませにかかる方針に。

モデル作成

肉や皿のモデルをBlenderでサクッと制作
クオリティを高くせず、それっぽく見えればいい程度に

f:id:simomuuu:20180911224516j:plain:w300
f:id:simomuuu:20180911224523j:plain:w300

AssetStoreのモデルとかを入り交えて見た目のクオリティにばらつきが出るよりかは、
雑でも自作してクオリティを統一した方が、個人的にはいい感じに見える気がします。

実装

肉を切るフェーズでは、実際にその場でポリゴンを動的に切断しています。

f:id:simomuuu:20180911224816j:plain:w300

切断の実装はこちらを利用させていただきました
https://github.com/BLINDED-AM-ME/UnityAssets
ポリゴン切断処理は若干重いので、対象の肉のモデルはそこまでポリゴン数をもたせることはできなかったです。

f:id:simomuuu:20180911225141j:plain

\displaystyle f(x) = \frac{1}{\sqrt{1+x^{2}}}

焼く部分に関しては、
機械学習界隈ではおなじみのシグモイド関数を焼き加減の値に使用
シグモイド関数の真ん中を焼き加減ジャストに設定しいい感じに狙いづらくしています

f:id:simomuuu:20180911230349j:plain:w300

結果の画面で完成したステーキに名称が付きますが、
あれは厚さ、焼き加減に応じて予め用意したテキストを組み合わせているだけです。 (時間があれば設定ファイルか何かに書き出したかった)
時間とセンスがあればもう少しバリエーションを増やしたかったです。

ゲームサイクルは「切る」→「焼く」→「リザルト」で、
それぞれのステップの時間を調整し1週3秒ほどで終わるようにしています。

反省点

ゲーム内で得点に関して切説明されていないため、
厚く切ったほうが点数が高いことに気が付かなかった人が何人か見受けられました。
(タイトルの肉の厚さが常識的な厚さだったせいもありそう)

あとは切る部分が割と運要素高めっぽいので、もう少し実力に寄せれたらよかったかと。

一応、参考にならないソースコードはこちらになります
https://bitbucket.org/simomu-/nikuatu_steak