藁に見える・・・?
まあ、昨日よりは藁っぽく見えるかな・・・
藁に見える・・・?
まあ、昨日よりは藁っぽく見えるかな・・・
今日は予定通り「外壁[藁]の作成」を行いました。
藁だか泥だかよくわからないものが出来上がりました。
藁に見えるよう明日直します。
今日はGCPのCompute EngineでLinuxのVMインスタンスを作成します。
以上、なるべく無料枠(Always Free)内に収まるように設定してみました。
明日は「外壁[藁]の作成」の予定でしたが、予定を変更して引き続きサーバ設定を行なっていこうと思います。
MMOなのでサーバを用意します。
今日はGoogle Cloud Platform(CGP)の契約までを行います。
手順1.https://cloud.google.com/に行きます。
手順2.「無料で始める」ボタンを押します。
手順3.Googleアカウントでログインします。
手順4.「国」を選択、「同意する」チェックオンして「続行」
手順5.「支払方法」「住所」「氏名」を入力して「開始」
お金はまだ一銭も払っていませんが契約が完了しました!次回はCompute EngineでVMインスタンスを作成する予定です。
アプリが万が一バズってからサーバが貧弱だと困るので、Googleの、ユーザ数に応じて柔軟にスケール可能なサーバは嬉しいですね!
まあ、万が一にもバズらないとは思いますが。まあバズらないよね。絶対バズらないよね。ほんとにバズらないよね?バズれや!
ㅤ○○○
○ ・ω・ ○ がおー
○○○
c(_uuノ
デアゴスティーニ商法作業管理とは、1日1日のアプリ制作作業量をとっっっっっっっっっっっっっっっっっっっっっっっっっっっっっても少なくすることによって、飽き性のアプリ制作者(私です)の作業を毎日継続させ易くする管理手法です。
あっという間に1週間経ちました。Unity/three.js等使っていない割には意外と作業が進んでいると思います。
2週目の予定です。
8日目:Google Cloud Platform(CGP)の契約
9日目:Google Compute Engine(GCE)設定
10日目:外壁[藁]の作成
11日目:外壁[藁]の作成
12日目:外壁[木]の作成
13日目:外壁[木]の作成
14日目:予備日(次の週の予定を立てる)
今回作っているアプリはMMOです。サーバはGoogle Compute Engineを使う予定です。早めに契約と設定を済ませて土台を固めておこうと思います。
そのあと、”家を守るための基本的なブロック”である外壁の作成に着手します。
ブロック1辺の長さを1mに定義しました。土地の高さを0mに定義しました。尚、この画像の人の身長は2mです。
人も青い霧の影響を受けるようにしました。
世界に人が降り立ちました。
空を水色で塗りつぶしました。
土地と空の境界を溶かしました。
今日は”土地”の描画です。昨日のインスタンシングを利用して、立方体を画面下部に敷き詰めました。
“自分の土地”は、基本 7 * 7のサイズがあります。”お隣さん”を含めると21 * 21 のサイズになります。
立方体を 21 * 21 個描画すると、インスタンシングを利用して7,392バイトとなります。
現状、高低差がないので立方体である必要はなく平面を描画すれば十分なのですが、将来的に高低差が付く可能性があるので立方体にしておきます。
最終的に立方体である必要がなければ、最適化してメモリサイズを削減します。
今回は インスタンシング(drawElementsInstancedANGLEのAPI)を利用してテクスチャ付きの立方体を描画した場合、どのくらいメモリ使用量が削減出来るかを確認しました。
比較対象は、昨日の GL_TRIANGLE_STRIP の描画データです。
結果は次の通りです。
単位:バイト立方体の数 | GL_TRIANGLE_STRIP | インスタンシング |
---|---|---|
1個 | 336 | 352 (104.76%) |
10個 | 3,432 | 496 (14.45%) |
100個 | 34,392 | 1,936 (5.63%) |
インスタンシングの場合、ベースの立方体のデータ336バイト(GL_TRIANGLE_STRIPで1個の立方体を描画した場合と同じデータ量)に加えて、1つの立方体に付き位置情報(x, y, z)3 * 4バイトと種別(今回は画像の通りテクスチャを変化させました。4バイトの型を利用しました) を指定することで、ベースデータを流用してメモリ使用量を抑えつつ、同じ形をいっぱい描画することが可能です。
1つの立方体の場合は336 + 12 + 4 = 352バイト、10個の場合は336 + (12 + 4) * 10 = 496バイト、100個の場合は336 + (12 + 4) * 100 =1936バイトとなります。
比べるのも馬鹿らしくなるくらいメモリ使用量が減りました。
(♡ >ω< ♡)