uka.apple のすべての投稿

パクリアプリ開発日記 46日目 資源生成施設の仕様

今回は、資源生成施設の詳細を考えます。各数値は仮のもので、今後調整予定です。

反重力結晶を除いた各施設の建設には、該当施設の幅と奥行きが収まる平らな土地が必要です。

反重力結晶以外の各施設は、いずれかの部分が反重力結晶とブロックで繋がっていないとその能力を失います。

資源生成施設の前に、まず空中都市の核となる反重力結晶の詳細です。

・反重力結晶(AGC)

レベルが1〜11まであり、クリスタルによって強化可能です。反重力結晶のレベルに応じて建造可能な施設が増えます。各レベルのHP、強化に必要なクリスタル、強化に必要な時間は以下の通りです。反重力結晶に限らず、各施設はレベルが上がるにつれて、豪華な外観に変わっていきます。

反重力結晶をブロックで完全に囲むと浮力が失われるため、囲むことは出来ません。

サイズ:3(幅) x 3(奥行き) x 3(高さ)

Lv HP 必要クリスタル 建造時間
1 1,500
2 1,600 1,000 5分
3 1,850 4,000 3時間
4 2,100 25,000 1日
5 2,400 150,000 2日
6 2,800 750,000 4日
7 3,300 1,200,000 6日
8 3,900 2,000,000 8日
9 4,600 3,000,000 10日
10 5,500 5,000,000 12日
11 6,800 7,000,000 14日

・クリスタル生成所

大気中のエネルギーを集めてクリスタルとして結晶にして資源化します。マナで強化します。ブーストに必要な資源は”ルピー”で、生産量が1日だけ2倍になります。

大気中のエネルギーを集めることが出来なくなるため、この施設をブロックで完全に囲むことは出来ません。

ブースト時間 サイズ 最大略奪割合
1日 2x2x1 50%
AGC Lv 1 2 3 4 5 6 7 8 9 10 11 11 12
設置上限 1 1 2 2 3 3 6 6 6 7 5 7 8
Lv 必要マナ 建造時間 ブースト費用(ルピー) 収容量 生産量(/時) HP 必要AGCLv
1 150 1分 500 200 400 1
2 300 5分 1,000 400 440 1
3 700 15分 1,500 600 480 2
4 1,400 1時間 2,500 800 520 2
5 3,000 2時間 4 10,000 1,000 560 3
6 7,000 6時間 5 20,000 1,300 600 3
7 14,000 12時間 6 30,000 1,600 640 4
8 28,000 1日 7 50,000 1,900 680 4
9 56,000 2日 8 75,000 2,200 720 5
10 84,000 3日 9 100,000 2,500 760 5
11 168,000 4日 10 150,000 3,000 800 7
12 336,000 5日 10 200,000 3,500 840 8

・マナ生成所

大気中の魔力を集めてマナとして資源化します。クリスタルで強化します。

大気中の魔力を集めることが出来なくなるため、この施設をブロックで完全に囲むことは出来ません。

ブースト時間 サイズ 最大略奪割合
1日 2x2x1 50%
AGC Lv 1 2 3 4 5 6 7 8 9 10 11 12
設置上限 1 2 3 4 5 6 6 6 6 7 7 7
Lv 必要クリスタル 建造時間 ブースト費用(ルピー) 収容量 生産量(/時) HP 必要AGCLv
1 150 1分 500 200 400 1
2 300 5分 1,000 400 440 1
3 700 15分 1,500 600 480 2
4 1,400 1時間 2,500 800 520 2
5 3,500 2時間 4 10,000 1,000 560 3
6 7,000 6時間 5 20,000 1,300 600 3
7 14,000 12時間 6 30,000 1,600 640 4
8 28,000 1日 7 50,000 1,900 680 4
9 56,000 2日 8 75,000 2,200 720 5
10 84,000 3日 9 100,000 2,500 760 5
11 168,000 4日 10 150,000 3,000 800 7
12 336,000 5日 10 200,000 3,500 840 8

・クリスタル庫

生成したクリスタルを貯蓄します。クリスタルを運び込めなくなるため、この施設をブロックで完全に囲むことは出来ません。

AGC Lv 1 2 3 4 5 6 7 8 9 10 11
設置上限 1 1 2 2 2 2 2 3 4 4 4

サイズ:2(幅) x 2(奥行き) x 2(高さ)

自分のAGC LV 略奪可能% 最大略奪上限
1-5 20% 20万
6 18% 20万
7 16% 25万
8 14% 30万
9 12% 35万
10 10% 40万
Lv 必要マナ 建造時間 ブースト費用 収容量 HP 必要AGCLv
1 300 1分 1,500 400 1
2 750 30分 3,000 600 2
3 1,500 1時間 6,000 800 2
4 3,000 2時間 12,000 1,000 3
5 6,000 3時間 25,000 1,200 3
6 12,000 4時間 50,000 1,400 3
7 25,000 6時間 100,000 1,600 4
8 50,000 8時間 250,000 1,700 4
9 100,000 12時間 500,000 1,800 5
10 250,000 1日 1,000,000 1,900 6
11 500,000 2日 1,750,000 2,100 7
12 2,500,000 7日 2,000,000 2,500 11

・マナタンク

生成したマナを貯蓄します。マナを運び込めなくなるため、この施設をブロックで完全に囲むことは出来ません。

AGC Lv 1 2 3 4 5 6 7 8 9 10 11
設置上限 1 1 2 2 2 2 2 3 4 4 4

サイズ:2(幅) x 2(奥行き) x 2(高さ)

自分のAGC LV 略奪可能% 最大略奪上限
1-5 20% 20万
6 18% 20万
7 16% 25万
8 14% 30万
9 12% 35万
10 10% 40万
Lv 必要クリスタル 建造時間 ブースト費用 収容量 HP 必要AGCLv
1 300 1分 1,500 400 1
2 750 30分 3,000 600 2
3 1,500 1時間 6,000 800 2
4 3,000 2時間 12,000 1,000 3
5 6,000 3時間 25,000 1,200 3
6 12,000 4時間 50,000 1,400 3
7 25,000 6時間 100,000 1,600 4
8 50,000 8時間 250,000 1,700 4
9 100,000 12時間 500,000 1,800 5
10 250,000 1日 1,000,000 1,900 6
11 500,000 2日 2,000,000 2,000 7

・・・あくまで仮のテーブルですよ。

必要に応じて調整していきます。必要に応じて調整していきます。必要に応じて調整していきます。

★☆★ 次回の作業 ★☆★

防御施設などのシステム詳細を考える。

パクリアプリ開発日記 45日目 2種類の資源

今回は資源システムの詳細を考えます。

もちろん(パクリなので)資源は2種類です。

空中都市なので地下資源は使えません。大気中のエネルギーを集めるという設定にしました。

・マナ — 空気中の魔力を集めて資源化

※聖◯伝説のパクリ

・クリスタル — 空気中からエネルギーを集め、結晶にして資源化

※ファイナ◯ファンタジーのパクリ

本日のパクリゲーム増加数:+2

★☆★ 次回の作業 ★☆★

各施設のシステム詳細を考える。

パクリアプリ開発日記 44日目 飛行◯システム

★☆★ 前回の作業 ★☆★

対戦フィールドがマ◯クラで、対戦システムがク◯クラのゲームを作ろうとしています。

対戦フィールドを球形の惑星風にしようとしましたが、立方体で球形を構成するのは無理があったので、ラピュ◯をパクって空中都市的な感じにしました。

※iPadProを使っても、絵はうまくなりません。

★☆★ 今回の作業 ★☆★

飛行◯のシステム詳細を考える。

以下、箇条書きにします。

・飛行◯の力によって、ブロックに浮力が与えられる。

・飛行◯は通常のブロックより大きく、高さ・横幅・奥行きが各3ブロック分、合計でブロック9個分の領域を占める。

・飛行◯の力は、初期状態で飛行◯の中心から上下左右10ブロック分(飛行◯を鍛えると増える)の範囲に及ぶ。ブロック数にすると、飛行◯(9個分)も入れて21 * 21 * 21 =9261個となる。

・自キャラが空中都市から落ちると、飛行◯の近くに復活する。

・名称について、飛行◯はまずいので反重力結晶とする。

とりあえずこのくらいで・・・

★☆★ 次回の作業 ★☆★

資源や防御施設建設などのシステム詳細を考える。

パクリアプリ開発日記 43日目 ラピュ◯もパクろう

フィールドについて、はじめは、マイ◯ラの土ブロックを球形に並べてちっちゃな惑星風にしようと思いました。が、ちょっと困ったことが起きます。

地球の緯度と経度の線を見るとわかるのですが、立方体のブロックを組み合わせて球形を作ろうと思うと、赤道付近は四角いブロックを並べることができますが、北極や南極付近は四角くなりませんよね?

サッカーボールなど、うまく多角形をバランス良く並べられるケースもありますが、四角形は同じ大きさで均等に球形で並べることは出来ません。

ブロックを掘って球の中心に向かったり、ブロックを積み上げて高いタワー作ったりするときも困ります。同じ大きさの立方体ではなくなります。

そこで、いきなり話が飛びますが、飛◯石を思い出しました。

◯行石の力でブロックが浮力を持ち、飛行◯の周りに浮かんでいる感じにしました。

※私の頭のメモリ容量が足りない関係上、絵が下手なことをお詫びいたします。どうでも良い事ですが、この絵を描くのに最新のiPadProを使っています。

飛◯石から一定距離でブロックを配置できることにします。

はじめは飛◯石から10ブロック四方くらい、飛行石を鍛えるとどんどん配置できる範囲が増えることとします。

クラ◯ラも取り入れるつもりなので、この飛◯石を対戦時の最終攻撃目標とすることとしました。システム的なことも決まって一石二鳥です。

★☆★ 次回の作業 ★☆★

飛行◯や、防御施設建設などのシステム詳細を考える。

パクリアプリ開発日記 41日目 メモリ使用量の再計算

実際に土ブロックを描画してみて、メモリ使用量がちょっと増えたので再計算します。

主に、頂点バッファとインデックスバッファを考慮します。

19日目の日記の通り、頂点バッファは、1ブロックあたり以下のメモリ量となります

1頂点=4バイト x 3軸(位置) + 4バイト(明るさ) + 4バイト x 2軸(テクスチャ) = 24バイト

1ブロック=14頂点=24バイト*14=336バイト

インデックスバッファは、int型4バイトを使用し、GL_TRIANGLE_STRIPで14個+区切り1個を使用することになっていました。

4バイト * (14 + 1) = 60バイト

よって、1ブロックあたり、合計で396バイトとなります。

100 * 100 * 100 で、一度に百万個のブロックを描画すると、

396MBとなります。ちょっと多いな・・・

四方を囲まれているなど、描画不要なブロックがあるはずなので、工夫して実際にはもっと減らそうと思います。

 

ちなみに、GL_TRIANGLE_STRIPをGL_TRIANGLESにすると、インデックスバッファは36個になるので、

4バイト * 36 = 144バイト

となり、合計 480バイト、百万個のブロックでは480MBになります。

★☆★ 次回の作業 ★☆★

世界を土ブロックで一杯にする。

パクリアプリ開発日記 38〜40日目 アプリの完成

遂にパクリアプリが完成しました!

マ◯クラとク◯クラと、ちょっとシム◯ティを混ぜた、いいとこ取りアプリです。

3日間くらい徹夜したら完成してしまいました。気合いは大事ですね。

有名なアプリをパクることで、ここまで面白い作品になるとは思いませんでした。おかげ様で販売開始直後から現在まで売上/DL数共にAppStoreランキング1位を維持しています。ありがとうございました。

★☆★ 次回の作業 ★☆★

次回作の構想を練る。

パクリアプリ開発日記 37日目 サーフェース管理クラス

今日は、サーフェース(頂点バッファやインデックスバッファ)を管理するC++クラスを作っていました

レンダリングエンジンやアプリケーションエンジンのクラス(これらもC++)を作成済みですが、この2つのクラス間とのインターフェースをどうするかなどを考えていました。

★☆★ 次回の作業 ★☆★

土ブロックで世界をいっぱいにする。

パクリアプリ開発日記 34〜36日目 ソース整理

頂点バッファやインデックバッファを作る箇所のソースコードを改良していました。

かなり汎用性がなくグダグダなコードだったため、ちゃんと別クラスにしてうまく使いまわせるように調整していました。

★☆★ 次回の作業 ★☆★

土ブロックで世界をいっぱいにする。

パクリアプリ開発日記 33日目

『土ブロック』を1つ完成させるのに1か月かかりました。

これではアプリの完成まで100年くらいかかりそうです。

そこで、今日は作業をもっと効率的に進める対策案を考えました。

1.会社の勤務時間が作業が進まない要因である

2.1を解決するため会社を辞める

3.2を行うと収入源がなくなる

4.3を解決するため銀行強盗する

5.4はリスクがありすぎるためアプリを売る

6.アプリを作る

今やっていることに戻りました・・・

★☆★ 次回の作業 ★☆★

『土ブロック』を1つ完成させるのに1か月かかったことを反省する。