uka.apple のすべての投稿

パクリアプリ開発日記 48日目 防衛施設

今回は防衛施設の仕様を決めました。

例によって各数値は仮決めで、試験プレイ後に調整予定です。

・石つぶて

そこらへんに転がっている石を投げるお手軽兵器です。

射程は10mです。ただし、途中でブロックに当たると届きません。

尚、この世界のブロックは1辺が1mです。

AGC Lv 1 2 3 4 5 6 7 8 9 10
設置上限 1 1 2 2 3 3 5 5 5 6
射程距離 攻撃速度 ダメージの種類 攻撃目標 優先攻撃目標 サイズ
10m 0.8秒 / 1撃 単体攻撃 地上ユニット 無差別 2x2x1
Lv ダメージ
(1秒)
ダメージ
(1撃)
HP 必要クリスタル 建造
時間
必要AGC Lv
1 9 7 420 250 1分 1
2 11 9 470 1,000 15分 1
3 15 12 520 4,000 45分 2
4 19 15 570 16,000 2時間 3
5 25 20 620 50,000 6時間 4
6 31 25 670 100,000 12時間 5
7 40 32 730 200,000 1日 6
8 48 38 800 400,000 2日 7
9 56 45 880 800,000 3日 8
10 65 52 960 1,600,000 4日 8
11 80 64 1,060 3,200,000 5日 9
12 95 76 1,160 6,400,000 6日 10
13 110 88 1,260 7,500,000 7日 10
14 120 96 1,380 8,500,000 8日 11

・レーザービーム

石つぶてからいきなりグレードアップ。でもなぜか射程は短いです。

球状に6m届きます。ただし、真横よりも下は狙えません。(半球状の範囲に届く)

途中にブロックがあっても貫通するため、石つぶてより射程が短いのです。

レーザービームよりも1段以上下の位置ならば絶対に狙われません。

AGC Lv 1 2 3 4 5 6 7 8 9 10
設置上限 0 1 1 2 3 3 4 5 6 6
射程距離 攻撃速度 ダメージの種類 攻撃目標 優先攻撃目標 サイズ
6m 1秒 / 1撃 単体攻撃 地上&飛行ユニット 無差別 2x2x1
Lv ダメージ
(1秒)
HP 必要クリスタル 建造
時間
必要AGC Lv
1 11 380 1,000 15分 2
2 15 420 2,000 30分 2
3 19 460 5,000 45分 3
4 25 500 20,000 4時間 4
5 30 540 80,000 12時間 5
6 35 580 180,000 1日 5
7 42 620 360,000 2日 6
8 48 660 720,000 3日 7
9 56 705 1,500,000 4日 8
10 65 750 2,500,000 5日 8
11 75 805 4,500,000 6日 9
12 86 870 6,500,000 7日 10
13 98 930 7,500,000 8日 10

・プラズマ砲

プラズマクラスターと違ってちゃんと効果があります。

大勢の敵に、一度にダメージを与えます。近すぎると攻撃出来ません。

途中にブロックがあっても貫通します。

ただし、真横よりも下は狙えません。(半球状の範囲に届く)

ACG Lv 1 2 3 4 5 6 7 8 9 10
設置上限 0 0 1 1 1 2 3 4 4 4
射程距離 攻撃速度 ダメージの種類 攻撃目標 優先攻撃目標 サイズ
4~11m 5秒 / 1撃 範囲攻撃 地上ユニット 無差別 3x3x1
Lv ダメージ
(1秒)
ダメージ
(1撃)
HP 必要クリスタル 建造
時間
必要AGC Lv
1 4 20 400 8,000 8時間 3
2 5 25 450 32,000 12時間 4
3 6 30 500 120,000 1日 5
4 7 35 550 400,000 2日 6
5 8 40 600 800,000 4日 7
6 9 45 650 1,600,000 5日 8
7 11 55 700 3,200,000 7日 9
8 13 65 750 6,400,000 10日 10
9 15 75 800 9,000,000 12日 11

・毒沼

ブロックを毒化して、通過したユニットにダメージを与えます。

AGC Lv 1 2 3 4 5 6 7 8 9 10
設置上限 0 25 50 75 100 125 175 225 250 250
Lv ダメージ
(1秒)
ダメージ
(1撃)
HP 必要クリスタル 必要マナ 建造
時間
必要AGC Lv
1 2 300 200 0秒 2
2 3 500 1,000 0秒 2
3 4 700 5,000 0秒 3
4 5 900 10,000 0秒 4
5 6 1,400 30,000 0秒 5
6 7 2,000 75,000 0秒 6
7 10 2,500 200,000 0秒 7
8 15 3,000 500,000 0秒 8
9 20 4,000 1,000,000 1,000,000 0秒 9
10 25 5,500 3,000,000 3,000,000 0秒 9
11 30 7,000 4,000,000 4,000,000 0秒 10

・磁場沼

強力な磁場で、通過するユニットを足止めします。

AGC LV 1 2 3 4 5 6 7 8 9 10
設置上限 0 25 50 75 100 125 175 225 250 250
LV 足止め時間 ダメージ
(1撃)
HP 必要クリスタル 必要マナ 建造
時間
必要AGC LV
1 2 300 200 0秒 2
2 3 500 1,000 0秒 2
3 4 700 5,000 0秒 3
4 5 900 10,000 0秒 4
5 6 1,400 30,000 0秒 5
6 7 2,000 75,000 0秒 6
7 10 2,500 200,000 0秒 7
8 12 3,000 500,000 0秒 8
9 15 4,000 1,000,000 1,000,000 0秒 9
10 20 5,500 3,000,000 3,000,000 0秒 9
11 25 7,000 4,000,000 4,000,000 0秒 10

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

将来的にはもっと追加する予定です。

★☆★ 次回の作業 ★☆★

攻撃ユニットのシステム詳細を考える。

パクリアプリ開発日記 47日目 対戦の仕様

今回はパクってないです!!パクってないよね?パクってないんだろうか。

今日は、対戦の基本仕様についてまとめます。

プレーヤーは、自分と同じく空中都市を構築している他プレーヤーの空中都市を襲撃することが出来ます。

襲撃することによって、クリスタルやマナを獲得可能です。

また、襲撃に成功するとトロフィーがもらえ、トロフィーの数に応じて自分のランキングが上がります。

ランキングが上がることのメリットは別の機会に説明します。

襲撃の成功条件は、以下2つのうちいずれかを満たすことです。

  • 反重力結晶を破壊する
  • 合計ダメージが70%をこえる

★☆★ 次回の作業 ★☆★

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

パクリアプリ開発日記 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つのクラス間とのインターフェースをどうするかなどを考えていました。

★☆★ 次回の作業 ★☆★

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