「独創アプリ開発日記」カテゴリーアーカイブ

デアゴスティーニ商法作業管理第2弾 8日目

MMOなのでサーバを用意します。

今日はGoogle Cloud Platform(CGP)の契約までを行います。

手順1.https://cloud.google.com/に行きます。

手順2.「無料で始める」ボタンを押します。

手順3.Googleアカウントでログインします。

手順4.「国」を選択、「同意する」チェックオンして「続行」

手順5.「支払方法」「住所」「氏名」を入力して「開始」

お金はまだ一銭も払っていませんが契約が完了しました!次回はCompute EngineでVMインスタンスを作成する予定です。

アプリが万が一バズってからサーバが貧弱だと困るので、Googleの、ユーザ数に応じて柔軟にスケール可能なサーバは嬉しいですね!

まあ、万が一にもバズらないとは思いますが。まあバズらないよね。絶対バズらないよね。ほんとにバズらないよね?バズれや!

ㅤ○○○
○ ・ω・ ○ がおー
 ○○○
c(_uuノ

デアゴスティーニ商法作業管理第2弾 7日目

デアゴスティーニ商法作業管理とは、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を使う予定です。早めに契約と設定を済ませて土台を固めておこうと思います。

そのあと、”家を守るための基本的なブロック”である外壁の作成に着手します。

デアゴスティーニ商法作業管理第2弾 3日目

今日は”土地”の描画です。昨日のインスタンシングを利用して、立方体を画面下部に敷き詰めました。

“自分の土地”は、基本 7 * 7のサイズがあります。”お隣さん”を含めると21 * 21 のサイズになります。

立方体を 21 * 21 個描画すると、インスタンシングを利用して7,392バイトとなります。

現状、高低差がないので立方体である必要はなく平面を描画すれば十分なのですが、将来的に高低差が付く可能性があるので立方体にしておきます。

最終的に立方体である必要がなければ、最適化してメモリサイズを削減します。

デアゴスティーニ商法作業管理第2弾 2日目

今回は インスタンシング(drawElementsInstancedANGLEのAPI)を利用してテクスチャ付きの立方体を描画した場合、どのくらいメモリ使用量が削減出来るかを確認しました。

比較対象は、昨日の GL_TRIANGLE_STRIP の描画データです。

結果は次の通りです。

単位:バイト
立方体の数GL_TRIANGLE_STRIPインスタンシング
1個336352 (104.76%)
10個3,432496 (14.45%)
100個34,3921,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バイトとなります。

比べるのも馬鹿らしくなるくらいメモリ使用量が減りました。

(♡ >ω< ♡)