uka.apple のすべての投稿

3日坊主アプリ開発 82日目 人生より複雑なもの


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

  • 今回の作業

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

 
今日はメモリリークのバグ対処を行なっていました。なんかやたらアプリが落ちるなーと思って使用メモリ量をチェックしたら、1G以上使ってました・・・原因箇所はすぐに特定できたのですが、対処しようとすると何故かテクスチャがバグってまともに画面が表示されなくなりました。

仕事でのプログラムも含め、今まで数え切れないくらいのバグを直したと思うのですが、何度経験してもバグ取り作業は辛いものです。バグはいろんな要素が複雑に絡み合って発生します。開発ツールのバージョン、OSのバージョン、ライブラリのバージョン、処理の順番、タイミング・・・

それこそ無限の組み合わせの上にバグがあるわけです。

一日中バグに対処して解決方法が見えないと、このバグを取り払う以上に辛いことなんてこの世にはない!と深く思いますね。人生の悩みなんてプログラムのバグに比べれば屁でもないですね。全然複雑度が違います。たいてい解決方法ありますからね。

会社が嫌なら辞めればいいし、結婚生活が嫌なら離婚して逃げればいいし、不治の病にかかったら死ねばいいし、いじめにあったらいじめっ子殴ればいいですからね。

 

・・・ごめんなさい嘘です辞めたり逃げたり死んだり殴っても解決しないです。

とりあえずメモリのバグは1日で解決しました。

  • 明日の予定

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

3日坊主アプリ開発 78〜81日目 ステージ16と17


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

  • 今回の作業

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

 
4日分まとめて報告します。

ステージ16と17が完成しました!

ステージ16は迷路のような面です。ジャッジパネルをうまく組み合わせてロジックを組んでください。3つ以上のジャッジパネルが必要になります。

適切なロジックを組めば、面白いように通路をスルスルと進んでいきます。

Simulator Screen Shot 2016.03.12 20.58.15

ステージ17は徘徊する犬にうまく対処してゴールに向かうステージです。犬に対処するロジックと、うまく通路を抜けるロジックの両方を組み合わせる必要があります。

犬は敵を見つけると攻撃してきます。まともに立ち向かっても勝ち目はありません。

Simulator Screen Shot 2016.03.12 21.50.01

  • 明日の予定

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

3日坊主アプリ開発 77日目 生存競争


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

  • 本日の作業

11〜15ステージの作成 10時間目(全10時間)

 
ステージ15が完成しました!これで全30ステージの半分が完成したことになります!!

ステージ15の目的は「個体数を50以上にする」です。

敵のねずみも増殖します。ねずみの増殖効率を上回るロジックを作成してください。

以下の動画は、惜しくもねずみとの生存競争に負けてしまった様子です。

  • 明日の予定

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

3日坊主アプリ開発 76日目 繁栄


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

  • 本日の作業

11〜15ステージの作成 9時間目(全10時間)

 
今日はステージ15の作成と、「Sleep」アクションをHP1固定の回復から最大HPの20%回復に変更、その他細かいバグの修正を行いました。

ステージ15のクリア条件は、4つあるクリア条件のうちまだ使用していなかった最後の条件で「自ユニットの個体数を特定数以上にする」です。

敵のねずみよりも効率的な増殖ロジックを作成し、環境の中で繁栄することがクリア条件となります。

最初の「繁栄すること」がクリア条件となるステージのため、簡単なロジックでクリア可能となる予定です。

  • 明日の予定

11〜15ステージの作成 10時間目(全10時間)

3日坊主アプリ開発 75日目 ステージ12,13,14


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

  • 本日の作業

11〜15ステージの作成 8時間目(全10時間)

 
今日はステージ12〜14を一気に作成しました。

ステージ12はS字カーブです。

壁を判定するジャッジパネルをうまく使ってロジックを組んでください。

Simulator Screen Shot 2016.03.06 14.06.47

ステージ13は土嚢で囲まれた狭い空間で、羊が増殖して歩き回ります。ステージ11よりも狭く、ステージ11のねずみよりも効率の良い増殖ロジックを持つ羊に囲まれています。

羊に撲殺されないよう、うまく60秒耐えてください。

ステージ14はステージ12よりも道の分岐が多く、より高度なロジックを組むことが求められます。

敵の犬の動きもよく見て、ゴールに向かってください。

Simulator Screen Shot 2016.03.06 14.07.07

  • 明日の予定

11〜15ステージの作成 9時間目(全10時間)

3日坊主アプリ開発 74日目 増殖


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

  • 本日の作業

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

 
stage11が完成しました。

土嚢で囲まれたステージに、敵の3匹のねずみがいます。

このねずみたちは、なんと自身をコピーして増殖します!

そのうちに土嚢の中は、ねずみでいっぱいになってしまいます。

その中を180秒生き残ることが、このステージのクリア条件です。

どこに逃げれば生き残れるのでしょうか?

  • 明日の予定

11〜15ステージの作成 8時間目(全10時間)

3日坊主アプリ開発 73日目 アクションパネル名の2行化


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

  • 本日の作業

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

 
今までアクションパネルは”Walk”や”TurnL”など、名前が短く一行で記述出来ていたのですが、今度作りたいのは向きをランダムに変えるアクションパネルで”Rand Turn”という名前です。

少し長い名前で1行で記述するのは辛いため、ジャッジパネルのように2行でも記述できるように改修しました。

Simulator Screen Shot 2016.03.05 0.38.46

  • 明日の予定

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

3日坊主アプリ開発 71日目 決定論の世界


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

  • 本日の作業

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

 
ランダム要素に関する仕様を、以下のように決定しました。

1.十分な数の乱数テーブルを作成して、事前に定数としてプログラムに埋め込んでおきます。

2.ロジックボードの中でランダム要素を必要とするパネルを実行する毎に、1で事前に決定したテーブルの先頭から順番に数値を取得して利用します。テーブルを使い切ったらテーブルの初めに戻って循環します。

このようにする事で、ランダム要素を用いながら同じロジックを持つキャラの実行結果は必ず同じになります。

厳密には敵も乱数テーブルを利用するため、ステージ上にいる全キャラのロジックに対して、結果が決まります。

対人戦でも、互いのロジックが決定していれば、何度ステージをやり直しても必ず勝敗の結果は同じとなります。

ちょっと回り道になりましたが、この内容で実装をしていきます。

  • 明日の予定

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

3日坊主アプリ開発 70日目 悩む悩む


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

  • 本日の作業

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

 
本日はステージ11の作成を完了する予定でしたが、引き続きランダム要素に関する点で悩んでいました。

あと、全50ステージでは多すぎて同じようなパターンのステージが出来てしまうと考え、全30ステージに変更することにしました。
作業予定を更新しました。
 

  • 明日の予定

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