Nao_uの日記 このページをアンテナに追加 RSSフィード

2017-11-04

[] Tiny Clouds  Tiny Clouds - Nao_uの日記 を含むブックマーク はてなブックマーク -  Tiny Clouds - Nao_uの日記  Tiny Clouds - Nao_uの日記 のブックマークコメント

#define T texture(iChannel0,(s*p.zw+ceil(s*p.x))/2e2).y/(s+=s)*4.

void mainImage(out vec4 O,vec2 x){

vec4 p,d=vec4(.8,0,x/iResolution.y-.8),c=vec4(.6,.7,d);

O=c-d.w;

for(float f,s,t=2e2+sin(dot(x,x));--t>0.;p=.05*t*d)

p.xz+=iTime,

s=2.,

f=p.w+1.-T-T-T-T,

f<0.?O+=(O-1.-f*c.zyxw)*f*.4:O;

}

これだけのソースで雲が描画できてる


『UnityのWebGL出力に簡単に無料でグローバルランキングを実装できる仕組みを考えてみた』 『UnityのWebGL出力に簡単に無料でグローバルランキングを実装できる仕組みを考えてみた』 - Nao_uの日記 を含むブックマーク はてなブックマーク - 『UnityのWebGL出力に簡単に無料でグローバルランキングを実装できる仕組みを考えてみた』 - Nao_uの日記 『UnityのWebGL出力に簡単に無料でグローバルランキングを実装できる仕組みを考えてみた』 - Nao_uの日記 のブックマークコメント

2000年代のゲーム開発だとわりと大規模なタイトルでもまともなユーザーテストはほとんど行っておらず、ゲームバランスもディレクターの経験とカンで調整されることが多くて、詳細なプレイログが自動で取れるようになって以降もこの手のデータ分析はわりと最近まで軽視されがちだったような印象が


最近は自動収集したログを開発に使用する事例も増えてるけど、この手の手法は個人製作など小規模な開発でもかなり有効じゃないかと思う。小規模だとテストプレイをお願いするのも難しくなるので、テスト規模が小さくて遠隔でやることも増えるため、数少ない収集データを詳細に分析する意義は増えそうな


リトライ回数とタイムの相関グラフを出してみた。70回で2分半、150回で2分20秒、250回で2分10秒、2分の壁を切るには400回と、タイムが減るにつれて必要なリトライ回数が指数的に増えていってるのがわかる。


プレイ時間とタイムの相関グラフも出してみた。2分20秒を出すのに必要なプレイ時間は30分で、2分10秒で2時間、2分の壁を切るには5時間と、こちらも経過プレイ時間が指数的に伸びているというわかりやすい結果に。

トラックバック - http://game.g.hatena.ne.jp/Nao_u/20171104

2017-11-03 このエントリーを含むブックマーク このエントリーのブックマークコメント

Tofu Racer、気が付いたら累計プレイ人数が1000人を超えてたので、ログに記録されてる情報を集計してみてる。今回はサーバにGoogleスプレッドシートを使用してるのでいろんな数字を簡単に確認できて楽しい


プレイ時間については、トップ10に入るような人は大抵5時間以上遊んでくれているが、中にはたったの110分で2分の壁を越えてトップ10に入っている人も。一番長く遊んでくれている人は20時間近くも遊んで頂いてて、本当に感謝です!


1100人の延べプレイ時間は約315時間。今回のゲームは製作時間が60時間くらいだったので、開発時間をプレイ時間が上回った。個人製作のゲームは大抵「開発にかかった時間>合計の遊んでもらえた時間」になって赤字になりがちなところなので、今回は大幅な黒字になってとても嬉しい


全体のプレイ時間を平均すると1人30分くらいになるけど、トップ10人の合計だけで全体の3分の1に相当する90時間になり、プレイ時間を多い順に並べたグラフを見ると、わりと綺麗な曲線で減っていってるのがわかる


ゲームを起動したけど一度もゴールに到達しなかった人は1100人中600人。約54%の人がゴールする前に遊ぶのをやめている。これはクラッシュ時のペナルティが大きすぎたせいかも。反省。


ゴールに到達しなかった人の中で一番プレイ時間の長かった人は、1時間以上かけて300回もリトライしながら、一度もゴールせずに諦めてた。大変申し訳ない感じ。


操作方法をログで確認したら、トップ5に入る人は皆キーボードでプレイしていて、パッドは使用していない。これはかなり予想外の結果…。シビアなアクセルワークは必要ないゲームとはいえ、アナログ操作できるパッドのほうがタイム的には有利だと思ってたので。


視点については、トップ10に入っている人のほどんどは車が見える後方視点ではなく、ドライバー視点でプレイしていた。シミュレーション寄りのゲームだとドライバー視点のほうが遊びやすいと思ってるので、こちらは納得の結果に。

トラックバック - http://game.g.hatena.ne.jp/Nao_u/20171103

2017-10-22

[]OSM+Houdini OSM+Houdini - Nao_uの日記 を含むブックマーク はてなブックマーク - OSM+Houdini - Nao_uの日記 OSM+Houdini - Nao_uの日記 のブックマークコメント

f:id:Nao_u:20171022171505p:image

houdini game dev toolのopen street mapでニューヨークを取り込んでFBX出力したものを、UnityでGoogle Mapの衛星画像と合わせてみた。OSMの道路データも加工できると面白そうなんだけど、そっちは簡単にはいかなそう

Yoshiaki Higa‏ @YoshiakiHiga 10月21日

道路はラインポリゴンで読み込まれるのできれいに作ろうとしたら難しそうですね。自分も色々やってますがなかなか上手くいってないです。地図画像のスクショとって画像からジオメトリ生成するのがきれいにできそうです。(多分)

いただいたアドバイスを元に、地図の画像から道路の色を抜き出してポリゴン化してみた。


f:id:Nao_u:20171022171850p:image

画像解像度より細かくしたGridにUVを割り当てて画像を転写して、Wrangleで色の白いところだけを残して頂点を削り、fuseしてから、Groupで端のエッジをグループ化。Groupでエッジを残す方法は以下の通り。

f:id:Nao_u:20171022171349p:image


この後は、dissplveで端のエッジグループ以外を削除。ここでfuseしてないといるエッジまで消える?この辺トラブってた。

最後にresampleで適当に削ってるけど、ここももっといいやり方ありそう

トラックバック - http://game.g.hatena.ne.jp/Nao_u/20171022

2017-10-14 このエントリーを含むブックマーク このエントリーのブックマークコメント

とはいえ一応挙動のほうも遊んでくれた方には想定してた感じで楽しんでもらえてるようでよかった。Unityだとこういうのが思いついたときにさくっと作れるのはとても助かる。昔はゲームエンジン否定派だったけどこれを経験するともう戻れない…


物理シミュのおかげでいろんな現象が自然に再現されたのは面白かった。ヒルクライムでハンドルを切っても全然曲がらず一瞬バグかと思ったけど実際もそうなるらしいし、重力の影響で登りと下りの加速度の違いも自動的に生まれてて、このへん全然調整してないのにそれなりにバランスが生まれるのは楽しい


あと、何も特別な実装をしてないのにロケットスタートが勝手にいい感じの挙動になってたのも驚いた。スタート前にアクセルをふかしすぎると摩擦円を超えてスリップするし、アクセルONの時間が短すぎると加速が鈍くなる。こういうのが何もしなくてもうまく動くのはシミュレーションならではか。


タイヤの摩擦円の縁で滑り始める直前の所ちょっとだけグリップ力が向上する領域を作ると、タイヤが地面を噛む感じでちょっと粘り気が出るような印象の挙動になったのも面白かった。現実のグリップ力の遷移もそういうものらしいけど、詳細なデータが見つからなかったので目分量で適当にグラフを作った


前後左右の荷重移動もばねの硬さとダンパーはForzaの摩擦円を見ながらそれっぽくなるような適当な値に設定。少し左右の揺れが大きすぎる気がするけど、これは実車ではばね以外の色んな機構で吸収されてるのかも。ちょっと極端なくらいのほうが面白いかと思って放置した




しばらく前から一歩二歩はいはいで動くことがあったけど、今日完全にはいはいをマスター。

最近の週末は子供からの遊んでくれ要求と奥さんからの子供の面倒を見てくれ要求に答えてたら気がついたら1日が終わってる感じが。

トラックバック - http://game.g.hatena.ne.jp/Nao_u/20171014

2017-10-13 このエントリーを含むブックマーク このエントリーのブックマークコメント

Tofu Racer、作ってた期間は3週間くらいだけど何もしてない日もあるので、作業時間は1日平均4時間×14日くらい。作業の内訳は挙動の調整とコース選定に約1週間、効果音の追加が3日間で、ランキングとUIがおおむね4日間くらい。


タイヤ関連や衝突の効果音だけで丸三日くらいの作業量になった。4輪それぞれで荷重と速度に合わせてスリップ音+加速/ブレーキ音をピッチを変えつつ鳴らして、エンジン音に加えて速度が上がったときの走行ノイズも付与。衝突音も衝撃ごとに5種類鳴らし分けてる。


SEの調整には結構時間がかかったけど、音が入るだけでタイヤの状態が感覚的にわかるようになって一気に走りやすくなった印象が。ハンドルやコントローラー振動のフィードバックもないので、このゲームでは効果音は車の状態を知る重要な手掛かりになってる


昔同じようなものを自前のエンジンで作ったときには数か月~年単位の時間がかかってたところが3週間でちゃんとゲームっぽく遊べるものになるあたりはUnityって便利だなぁ、とあらためて思う。絵、物理、音が何もしなくてもすぐ使い始められるのはすごく有難い



あと今回タイムアタックが楽しめてる理由の9割以上はアセットストアで購入したコースのおかげ。いくつか試した中でも抜群によくできてた。左右に連続するコーナーに高速セクションもあり、微妙な凹凸もいい仕事をしてくれててほんと素晴らしいコース

https://www.assetstore.unity3d.com/jp/#!/content/70655 …



挙動を調整してたときのテストコースはHoudiniで適当に作った道っぽいポリゴンとかジャンプ台とかが平面の上に置いてるだけの殺風景な状態だったので、こんな状態のものをリリースしても誰も遊んでもらえなかっただろうなぁと思うとAssetStoreってほんと素晴らしい

トラックバック - http://game.g.hatena.ne.jp/Nao_u/20171013

2017-10-11 このエントリーを含むブックマーク このエントリーのブックマークコメント

https://twitter.com/Nao_u_/status/918110664287141890

今日のTofu Racer、ダウンヒルの一位と二位が1分49秒63でぴったり同タイムに。小数点2桁では足りなかったか…とサーバの記録を調べたら、どちらも1分49秒6336。記録されてる限界の4桁まで一致してて、本当に同一フレームでゴールしたらしい。こんなことってあるんだなぁ…。

トラックバック - http://game.g.hatena.ne.jp/Nao_u/20171011

2017-10-09 このエントリーを含むブックマーク このエントリーのブックマークコメント

ダウンヒル、ヒルクライムともにyamagutisizuwoさんに一位を奪われた。

特にダウンヒルは挙動の作り始めから2週間走ってやっと出たタイムだったのに。理屈では2分切れそうに思ってたけどまさか公開数時間であっさりと達成してしまうとは…。どんなラインで走ってるかリプレイが見たい



現在ダウンヒルで最速の1'54.75のリプレイ動画、すべてのコーナーで迷いなくスムーズに荷重移動されててほんとすごい。第二チェックポイント直前の高速区間では130km/h超えてる。こんなタイムが出るとは想定してなかった…


ヒルクライムも一度減速するとその後伸び悩むし、荷重のかかり方も違うので下りとはまた違った難しさがあるのにこの動画はすごく丁寧に走っててこちらもすごい。ダウンヒルの伸びしろを考えると、もしかしてヒルクライムでも2分切れたりするのかな…




今月に入って離乳食が1日に2回になった結果、液状だったうんちが固形に近くなり、匂いもヨーグルトのような芳香だったものが人間のものに近くなってきた。ずりばいが上手になり、呼べばこちらに来るようになった。寝たきりだった頃から考えるとすごい進歩。移動範囲が増えたので気をつけることも色々増える。

トラックバック - http://game.g.hatena.ne.jp/Nao_u/20171009

2017-10-08

Tofu Racer Tofu Racer - Nao_uの日記 を含むブックマーク はてなブックマーク - Tofu Racer - Nao_uの日記 Tofu Racer - Nao_uの日記 のブックマークコメント

Unityで4輪の荷重と摩擦円をシミュレーションしたレースゲームを作ってみました。ブラウザで遊べて、インターネットランキングに対応しています。


今回のは自分にとっての理想のレースゲーム挙動を目指して作ってた。シミュレーション的な荷重移動の重要性と昔のアーケードゲームのような気持ちいいコーナリングの両立を目標としてパラメータを調整してて、おおむねイメージしてたような動きが実現できたように思う


初期の頃は市販車の挙動を参考にしてたのでグリップ走行でしか曲がれない状態だったけど、セガラリー風に後輪が流れるほうが楽しいのでそっち方向に寄せて調整。この手の挙動を楽しく感じるのが自分だけだったら嫌だなぁ、と思ってたけど想定よりたくさんの人にタイムアタックしてもらえてとても嬉しい


実車再現のシミュレーションだと開発者が狙う「面白い挙動とコーナーの組み合わせ」で固定したタイムアタックがやりづらいのは最近のレースゲームが失ったものの一つではないかと。セガラリー2面や3面中盤の舗装路の挙動とコースの組み合わせが絶妙で気持ちいい、みたいなのはリアル系では難しい


セガラリーはこれまでで一番たくさん遊んだレースゲームなのであの挙動が体に染みついているんだけど、荷重移動がちょっと固く感じるのと、アクセルオフ時の減速が激しいところは気になってた。あと舗装路でもかなりタイヤが滑る印象があるけど、実際のラリーでもあのくらい滑るものなんだろうか?

トラックバック - http://game.g.hatena.ne.jp/Nao_u/20171008

2017-10-04

2017-10-04 - Nao_uの日記 を含むブックマーク 2017-10-04 - Nao_uの日記 のブックマークコメント

ランキングのめどが立ったので、残りを仕上げる作業に入る。

タイトルとランキング画面の分離、開始前のカウントダウン、ゴール表示の繊維を実装。

あとひっくり返った時に自動で復帰する機能と、開始前のカメラ演出も追加。

あとゴール後とリザルトが入れば最低限のシーケンスは通る。


これで残り作業の大きいのはランキングの送受信と、ボイスとクラッシュ音、UIの整理か。

トラックバック - http://game.g.hatena.ne.jp/Nao_u/20171004

2017-10-02

2017-10-02 - Nao_uの日記 を含むブックマーク 2017-10-02 - Nao_uの日記 のブックマークコメント

WebGLでランキングを作るのに、Googleスプレッドシートを使うのが一番簡単そう。

自前サーバにテキストを送ろうとしたが、WebGLだとうまく動かないうえに、WWWモジュールがUnity5.6だと動くのに、Unity2017だと変なエラーをはいて落ちる状態だったので断念。

Googleスプレッドシートは汎用的に使えそうなので良い。他の情報も送ってみてもよさそう


今月に入って離乳食が1日に2回になった結果、液状だったうんちが固形に近くなり、匂いもヨーグルトのような芳香だったものが人間のものに近くなってきた。ずりばいが上手になり、呼べばこちらに来るようになった。寝たきりだった頃から考えるとすごい進歩。移動範囲が増えたので気をつけることも色々増える。

トラックバック - http://game.g.hatena.ne.jp/Nao_u/20171002

2017-09-30

2017-09-30 - Nao_uの日記 を含むブックマーク 2017-09-30 - Nao_uの日記 のブックマークコメント

タイヤの滑りやブレーキ時のSEとBGMを追加。あとクラッシュ音はまだだけど、ここまででほぼ丸一日かかってしまった。音は難しい…。


f:id:Nao_u:20170930231405p:image


WebGL出力したものがUnityRoomで動くことを確認。

ただ、なぜかラフネスが高いマテリアルに完全鏡面反射がついてしまってる。

あと、WebGL出力するにはLinerでなくGannma必須らしい。不便。

トラックバック - http://game.g.hatena.ne.jp/Nao_u/20170930

2017-09-29

2017-09-29 - Nao_uの日記 を含むブックマーク 2017-09-29 - Nao_uの日記 のブックマークコメント

いろいろ挙動調整。

ほぼ理想とする形に近づいてきた。

パッドの操作性が悪いのでよく調べたらアクセルのアナログ入力ができてなかったことに気づいて、治すとパッドのほうがタイムが出るようになった。当然か。

ただ、他のレースゲームと同じ土崩で遊べるようになって気づいたのは、やはり挙動が崩れる境界付近で不自然な印象が強い。シミュレーション制度の問題か。

この辺はもっとモデルと精度を磨き込んでいくしかなさそうか。茨の道。

トラックバック - http://game.g.hatena.ne.jp/Nao_u/20170929

2017-09-27

2017-09-27 - Nao_uの日記 を含むブックマーク 2017-09-27 - Nao_uの日記 のブックマークコメント

タイトルから登りと下りを選んで、チェックポイントでタイム計測ができるように。

これでだいぶゲームっぽくなってきた。延々とタイムアタックをして遊んでるが、これだけでも割と楽しい。

トラックバック - http://game.g.hatena.ne.jp/Nao_u/20170927

2017-09-26

2017-09-26 - Nao_uの日記 を含むブックマーク 2017-09-26 - Nao_uの日記 のブックマークコメント

久々にPS2移植版のセガラリーを遊んでみたらやっぱり面白い。全体にとても滑りやすく、綺麗に曲がれるライン取りがかなりシビアで、一瞬タイミングがずれだけですぐコースを外れてしまうような挙動だけど、それがまた緊張感があって楽しい。


セガラリーの後に今作ってるレースゲームを遊ぶと、実車と比べてある程度気持ち良く滑らせながら走れる感じに調整したつもりだったのに、セガラリーと比べたらなんだかタイヤが引っかかる感じで全然曲がれない印象になった。もう少しマイルドな方が遊びやすいかも、とタイヤの摩擦計算を修正中。


実車を扱うレースゲームがシミュレータ寄りに偏った結果、「実車と同じ挙動」が絶対の正義でそれに沿ってないと出来が悪いとみなされるような風潮は、デイトナやセガラリー、頭文字Dなどのゲームが「気持ちの良い挙動」を目指してそれぞれ味付けしてたのとは相反する流れなんだなぁ、と。


個人的にリッジレーサーの挙動は何を模しているかがいまいち掴みづらくて苦手だったりするけど、それでもあれは気持ちよく走れる車の挙動の味付けとして正解の一つだったのだろうとは思う。そういったリアルとは別方向の気持ち良さを追求する車ゲーム文化も、時代の流れとともに消えてしまったのかな


はじめてゲーセンでデイトナUSAを遊んだときに、反力のあるハンドルが重すぎてカーブを曲がりきれずに草地に突っ込んでしまってハンドルがガタガタ揺れて操作不能になったときの衝撃は忘れがたい。あの重くてパワーのある車を無理やりねじ伏せて走らせる感じの挙動は不自然な点も多いけど、すごく好き

トラックバック - http://game.g.hatena.ne.jp/Nao_u/20170926

2017-09-24

2017-09-24 - Nao_uの日記 を含むブックマーク 2017-09-24 - Nao_uの日記 のブックマークコメント

ふと思い立って車のシミュレーションを作成中。

f:id:Nao_u:20170930231634g:image


コースはAssetStoreによさげなのがあったので落としてみたら、これだけでかなりいい感じに。よくできたコースだ。

なんとか頭文字Dごっこができるくらいには動くようになった。4輪の荷重から摩擦円を計算してコーナリングフォースを反映する程度しかやってないけど、ガチでシミュレーションするゲームでなければここから味付けすれば大抵のものに対応できそう


Project CARS2のGTRの挙動をイメージしつつそれっぽい動きになるようにパラメータを調整。剛体にばねを4つ付けてその先のタイヤの角度に合わせて力を加えてるだけだけど、前後左右の荷重移動でグリップが変わったり、峠の下り坂で重力を感じるような挙動になってくれたりしてて楽しい


それこそ90年代後半はアーケード移植でコース3つ+逆走+ミラーくらいの物量でも十分に商品になってたところが、00年代後半になると大量の実車再現+実在コースか、もしくはオープンワールドの組み込みが必須みたいな風潮になってきて、新しいレースゲームの出る余地も随分減った


アーケード由来の短時間で遊べるタイプではボリューム不足に感じてしまうし、グランツーリスモが大きくハードルを上げたので、そもそも「フルプライスで満足感のある物量」って制約がいろんな事を難しくしてるのかな。ワイプアウト系の反重力レースもインディー的な扱いでしか新作が出ない状態だし。

トラックバック - http://game.g.hatena.ne.jp/Nao_u/20170924