「3日坊主アプリ開発日記」カテゴリーアーカイブ

3日坊主アプリ開発 50日目 敵の識別

吾輩はやれば出来る子である。
    ∩∩
   (´・ω・)
   _| ⊃/(___
 / └-(____/
  ̄ ̄ ̄ ̄ ̄ ̄ ̄

  • 本日の作業

1〜5ステージの作成 6時間目(全10時間)

 

ロジックパネル「Judge」の “Front Enemy” を実装しました。

既に実装済みの “Front Wall” は前方が壁かどうかが判断基準でしたが、”Front Enemy” は、前方が敵だったら赤い矢印へ、そうでなければ青い矢印へ処理を分岐します。

処理にかかる時間は 300ms としました。(Front Wallも 300ms としました。)

ステージ5完成まで、あと4時間も余裕がある・・・

あと3時間くらいは今回のような下準備をしようと思います。

 

  • 明日の予定

1〜5ステージの作成 7時間目(全10時間)

3日坊主アプリ開発 49日目 ねずみと競争


    ∩∩
   (´・ω・)
   _| ⊃/(___
 / └-(____/
  ̄ ̄ ̄ ̄ ̄ ̄ ̄

  • 本日の作業

1〜5ステージの作成 5時間目(全10時間)

 

ステージ4が完成しました。

ステージ4もゴールにたどり着くのが目的です。マップには敵のねずみが1匹おり、ねずみもなぜかゴールを目指しているようです。

ねずみの目的はゴールなので、ねずみはゴールまで移動するとそこで停止します。プレーヤーはねずみより先にゴールしないと、ねずみが邪魔でゴールできなくなってしまいます。

動画前半では ねこ視点 のロジックを、後半では ねずみ視点 のロジックを観察しながらステージを進めています。

  • 明日の予定

1〜5ステージの作成 6時間目(全10時間)

3日坊主アプリ開発 48日目 ステージ3


    ∩∩
   (´・ω・)
   _| ⊃/(___
 / └-(____/
  ̄ ̄ ̄ ̄ ̄ ̄ ̄

  • 本日の作業

1〜5ステージの作成 4時間目(全10時間)

 

ステージ3が完成しました。

使えるロジックパネルは “Walk”(1マス進む) x 2 と “TurnL”(左を向く) x 1 です。

Simulator Screen Shot 2016.02.09 7.37.33 Simulator Screen Shot 2016.02.09 7.37.42

報酬は “Front Wall”(前方が壁かどうかの判断) x 1 としました。

このステージ左上にいるネズミはプレーヤーを邪魔するわけではなく、報酬の “Front Wall” を使い、うまく壁にぶつからずにステージ内を駆け回ります。敵のロジックが、他のステージをクリアするためのヒントになっていたりします。

  • 明日の予定

1〜5ステージの作成 5時間目(全10時間)

3日坊主アプリ開発 47日目 「Judge」の実装


    ∩∩
   (´・ω・)
   _| ⊃/(___
 / └-(____/
  ̄ ̄ ̄ ̄ ̄ ̄ ̄

  • 本日の作業

今日は「1000万人のためのPachiシミュレータ」への新機種追加作業のためお休みの予定でしたが、少しだけ作業を行っていました。

ロジックパネル「Judge」の “Front Wall” を実装しました。

Simulator Screen Shot 2016.02.07 18.38.46

前方に障害物があれば赤色の矢印へ、そうでなければ青色の矢印へ進みます。

ロジックパネルの実行には、それぞれ固有の時間がかかります。
“Front Wall”の実行時間については 100ms 〜 500ms くらいを考えています。ちなみに “Walk” は 1000ms、TurnL” は 500ms かけるようにしています。

Judgeパネルを入れるほどキャラは頭の良い行動をしますが、あまりに入れすぎると逆にキャラの行動効率が悪くなります。

  • 明日の予定

1〜5ステージの作成 4時間目(全10時間)

3日坊主アプリ開発 46日目 1〜5ステージの作成 3/10


    ∩∩
   (´・ω・)
   _| ⊃/(___
 / └-(____/
  ̄ ̄ ̄ ̄ ̄ ̄ ̄

  • 本日の作業

1〜5ステージの作成 3時間目(全10時間)

ステージ2が完成しました。

クリア目的は、ステージ1と同じくゴールにたどり着くことです。クリア報酬は “TurnL”(左を向く) x 1 としました。

このステージには敵が3匹いるようです。敵をタップすると、そのHPやロジックが分かります。

Simulator Screen Shot 2016.02.06 21.24.38 Simulator Screen Shot 2016.02.06 21.24.40

ゴール左側のネズミはHP4、ゴール上下のネズミはHP3で、表示されたロジックから、前進してくることが分かります。(同じ前進でもHP4と3のネズミでちょっと違います)

スタート前に敵の動きを確認した上で、考えてロジックを組むことが出来ます。

  • 明日の予定

1〜5ステージの作成 4時間目(全10時間)

3日坊主アプリ開発 45日目 1〜5ステージの作成 2/10


    ∩∩
   (´・ω・)
   _| ⊃/(___
 / └-(____/
  ̄ ̄ ̄ ̄ ̄ ̄ ̄

  • 本日の作業

1〜5ステージの作成 2時間目(全10時間)

左:作業前 右:作業後

Simulator Screen Shot 2016.02.05 22.28.29 Simulator Screen Shot 2016.02.05 22.28.55

違いがおわかりでしょうか?

そうです。描画順を制御して、キャラを手前の柵の後ろにちゃんと隠すようにしました。

これだけのために1時間かけました。

  • 明日の予定

1〜5ステージの作成 3時間目(全10時間)

3日坊主アプリ開発 44日目 1〜5ステージの作成 1/10


    ∩∩
   (´・ω・)
   _| ⊃/(___
 / └-(____/
  ̄ ̄ ̄ ̄ ̄ ̄ ̄

  • 本日の作業

1〜5ステージの作成 1時間目(全10時間)

本日からステージの作成に入っていきます。全50ステージを計100時間かけて作ります。2時間で1ステージ完成するペースの予定です。

また1時間目ですが、1ステージ目ということもあり、サクッと初めてのステージが完成しました!

Simulator Screen Shot 2016.02.04 23.55.30 Simulator Screen Shot 2016.02.04 23.45.59

ステージ1のクリア目的は、ゴールにたどり着くことです。クリア報酬は “Walk” x 1 としました。

Simulator Screen Shot 2016.02.04 23.45.28 Simulator Screen Shot 2016.02.04 23.45.37

使用できるロジックパネルは、”Walk(前進)”の1つだけです。ロジックパネルには Action(赤色) と Judge(青色) があります。Judgeのロジックパネルはまだ1つも所持していません。

ステージ1をクリアすると、”Walk”が一個増えて合計2個になり、ステージ2では”Walk”を2つ使うことができます。

歩くだけでもめっちゃ楽しいです。

  • 明日の予定

1〜5ステージの作成 2時間目(全10時間)

3日坊主アプリ開発 43日目 マップサイズの可変化 1/1


    ∩∩
   (´・ω・)
   _| ⊃/(___
 / └-(____/
  ̄ ̄ ̄ ̄ ̄ ̄ ̄

  • 本日の作業

マップサイズの可変化 1時間目(全1時間)

今まで実装したマップは 10 x 10 の固定サイズでしたが、サイズを自由に変更可能としました。

以下は 20 x 20 の様子です。大抵のステージは 10 x 10 位にしておき、一部の高難度ステージはそれよりも大きなサイズにする予定です。ちなみにマップ右上の「OVER 30 POP」はクリア目的の表示です。

Simulator Screen Shot 2016.02.04 0.20.51

これで下準備が整いました。次回からはどんどんステージを作っていく予定です!

マップなどのデータはすでに用意済みのため、それらを作りたいステージに合わせてエディットしていくだけです。
(ゲームでよくあるステージをエディットするような機能を事前に作成済みです。マリオメーカーみたいな感じと言えばわかるでしょうか。)

1ステージ2時間かけられる予定ですが、ロジックパネル(「歩く」「攻撃」などの命令や、「前方が壁だったら」などの判断処理)の実装も同時に行い、こちらは完全にプログラミングなので、それほど余裕はないと考えています。

  • 明日の予定

1〜5ステージの作成 1時間目(全10時間)

3日坊主アプリ開発 42日目 クリア条件「特定時間生存」の追加 2/2


    ∩∩
   (´・ω・)
   _| ⊃/(___
 / └-(____/
  ̄ ̄ ̄ ̄ ̄ ̄ ̄

  • 本日の作業

クリア条件「特定時間生存」の追加 2時間目(全2時間)

今まで実装したクリア条件は

1.自ユニットを特定位置に移動
「Logic success!! Reach a goal!」(クリア時のメッセージ)
2.敵ユニットを全滅させる
「Logic success!! Kill all enemies!」
3.自ユニットの個体数を特定数以上にする
「Logic success!! Seeds of prosperity!」
4.自ユニットが特定時間経過するまで生き残る
「Logic success!! Survived!」

です。

本日は、4のクリア条件の時に、クリアできるまでの残り秒数を常に画面表示するようにしました。
10秒以上は整数で、10秒未満は小数第1位まで表示します。

Simulator Screen Shot 2016.02.03 0.33.24

ついでに、3のクリア条件の時も、何体まで増やせば良いか画面表示するようにしました。

  • 明日の予定

マップサイズの可変化 1時間目(全1時間)

3日坊主アプリ開発 41日目 クリア条件「特定時間生存」の追加 1/2


    ∩∩
   (´・ω・)
   _| ⊃/(___
 / └-(____/
  ̄ ̄ ̄ ̄ ̄ ̄ ̄

  • 本日の作業

クリア条件「特定時間生存」の追加 1時間目(全2時間)

今まで実装したクリア条件は

1.自ユニットを特定位置に移動
「Logic success!! Reach a goal!」(クリア時のメッセージ)
2.敵ユニットを全滅させる
「Logic success!! Eliminate enemies!」
3.自ユニットの個体数を特定数以上にする
「Logic success!! Seeds of prosperity!」

です。本日は、4つ目のクリア条件として

4.自ユニットが特定時間経過するまで生き残る
「Logic success!! Survived!」

を追加しました。生存時間は、5秒〜60秒程度を想定しています。

例えば敵に囲まれた状況からスタートし、頭を使ってなんとか逃げ回るなどのステージを想定しています。

特定時間経過で「Logic success!! Survived!」と表示し、ステージクリアになるよう実装しました。

  • 明日の予定

クリア条件「特定時間生存」の追加 2時間目(全2時間)

4のクリア条件の時は、クリアできるまでの残り秒数を画面に表示しようと思います。