クイズを作っています。

厄介です。

だいたいの論理は分かるのですが、

具体的にどの様にするかを考えています。

やることは、文字列を1つ1つ分割し、、

それを並べ直して1つにする、、

たった、それだけです。

扱うデータの数は、、たかだか300弱なのですが、、

これを考えて、実装すれば完成です。

全ての情報は揃っています。

揃っているんですが、、

なかなか、厄介な問題です。

これをリアルで行うと、、

要は、こうしたいんでしょ、、と1秒あれば言い切れる問題なんですが、

それをプログラムとして組むとなると、、

 

 

 

こういう事実を知ってしまうと、ロボットアニメって見れなくなります。

グーグルで、、「戦車、射程距離」で検索を掛けると、、

戦車の主砲がミサイル化しない理由 – 独りで歩いてく人のブログ

だいたい有効射程が2、3kmとのこと、、

だから、現実にロボット兵器が存在したとしても、、

ガンダムみたいな、テレビの画角に入るくらいの接近戦はあり得ないんです。

ミノフスキー粒子にも、程がある訳です。

戦車は地を這う兵器、、有視界戦闘、だと確実に当てられる距離が、それくらいと言うことですが、、

ボトムズのATにしても、、

カスタム機で最高速度120kmで突っ走っても、、

最低でも1分掛かる距離です。

そんなの、、近付けっこありません。


熱源を探るセンサーとか併用されたら、、

市街地戦にも程がある訳です。

膨大な運動エネルギーを持つ砲弾が、、建物に当たったら、、

まだ、ボトムズを見ていたら、、違和感はなかったんですが、、

ダグラムを見ていた時は、、

敵の拠点、要塞を襲撃する際に、、画面から見て、、

好意的に見て、3、400m先から、、リニアカノンを撃つというのは、、

それ、、どれだけ、、持っている武装が非力なんだよと、、

動作を視聴しながら、ツッコンでいました、、

昨日、全てを止めてしまいました。

ラストスパートです。

問題点は2つという状態で、、外出し、、

宿題を持ち帰ってきました。

それを昨日、せっせと直していました。

アプリが非常に重いです。

私の感性をデジタル化するのは、、

まだまだ、スマホでは力不足です。

私が現実世界で出来ることを、、デジタルの世界に落とし込むのには力不足で、

そこに開発ツールのバグが絡んでくると、、

結構、、無駄なことを行っています。


私が、行っていることって、、多重化、多層化な訳です。

昔の手書きアニメの様に、、

背景と、、キャラクターとかを合成して1つの画面を作る訳です。

そこで、1コマ1コマ、、少しずつ動かしながら、写真撮影していく訳です。

カメラを少しずつ退くて撮影したり、、セルを回転させて撮影したり、、

現実世界では、拡大、回転なんて、、普通に負荷すらも掛けずに出来るのですが、、

コンピュータでは、、

まあ、負荷が掛かりまくりです。


iPhoneのCPU負荷が、200%を超えました、、

それを家で確認しました。

そりゃ、、出先で、アプリが落ちるはずです。

その状態を意識せず、静観せず、さらに動かしたら、、落ちる訳です。

そして、開発で使っているMac、、

開発しているアプリが、、

瞬間的に1ギガバイト、、メモリを喰うというとんでもなく重いアプリ、、

そして、CPU負荷も尋常じゃないほど重いアプリ、、

アプリの画面書き換えは、、昔は通常のスピードが出ていたのに

どんどんスピードが落ち、

昨日はついに、画面の書き換えが止まってしまったんです。

開発ツールがハングアップすることなんて、、私には日常ですが、、

昨日は違っていました。

Mac自体が開発ツールのせいで、、開発しているアプリのせいで、、

完全に停止してしまったんです。

まあ、くだらないことを考える訳です。

自分は半端な人間で、

理系の大学を出ても、そちらの方はダメダメで、、

よっぽど、文系のスキルが高いと云う、、訳のわからない人な訳です。

だから、、

YouTubeの解説、勉強系の動画を見て、

科学のことを、、数学を交えて解説されるとさっぱりで、、

よほど、人文学、歴史の方が、

人間がどの様に行動するのか、、そっちの方が余程理解できますし、

共感できますし、、知っています。


さて、宇宙関係の動画を見ていると、、

とんでも理論、学説で、、

この世は二次元とか、、実は三次元ではなく四次元なんだという話が出てきますが、、

難しく、理論だって説明できないのですが、、

現物を示して、二次元であり四次元であることを語ることが出来ます。

二次元で三次元を表現することが出来ます。

これって、、はっきり言うと、、「写真」な訳です。

二次元の写真で、、三次元の世界を語ることが出来ます。

そして、四次元、、

三次元の座標上に、4本目の時間軸を如何示すか、、ですが、、

それも、現実にある訳です。


ビデオの中の世界、、動画の中の世界、、

その画面に映し出されるのは、、

厚さを持たない二次元の世界で、、

その世界は、既に終わっていて、、

その世界の中では過去にも、未来にも行ける訳です。

そういう風に考えると、そういう風に世界を捉えると、、

この世界は、、三次元ではない、、と思います。

まあ、こういう事をアプリ、、作りながら考えています。

三次元を二次元化して、、それをYouTube上でみれば、、

スラスタースイッチが、、時間軸で示されます。

そして、そこでは、一時停止も、繰り返し再生も出来る訳です。

さて、ここは何処なんでしょうね?

 

 

 

 

 

 

最悪の事態は回避しました。

メモリーリークが起こる箇所を特定して、

そこにメモリを解放する措置を施して、なんとか復旧しました。

そして、英訳も終わり、、

今はアプリ内の矛盾を修正しています。

例えば、、

システムカラーの設定、

これを宣言したら、、「カラーを選んでください」としか、、書きようがないわけです。

他の場所で「文字色を選んでください」と書いていても、、


場所場所で、、書いていることが一貫しないというのは、、

それは、アプリの出来が悪いと思われても、判断されても仕方がないことです。

それが、、ワザと、、目立たせるためにやったことなら兎も角、、

メッセージの出る場所も、、一緒の方が良いわけです。

こういう、、言葉使いのミスや、システム設計のミスは、、

長期間、、デバッグしないと、、なかなか排除できないのですが、、

見つけ次第修正するという姿勢が大切です。

あと、、

今回、、アップルの用意する機能、サービスを使って、、

アプリ内に機能を追加しようとしましたが、、

駄目ですね! 融通が効きません。

自分以外は偽物を作るしかありません。

アプリ作成ではまっています。

重い重いとは思っていましたが、

昨日のお出掛けで持っていったアプリを、、

自宅に帰って、、Macで動かしたら、、

使用メモリ、1ギガ、、超えていました。

まあ、馬鹿な構成の狂った人間が作ったアプリですが、、

非効率な、、

それでも、メモリリークを起こさない様に、都度、、メモリ解放していたんですが、、

それでも、800メガとか、、狂っています。


ちっとも、本気を出していません。

これでも、端折って、、目の前の機能だけを作る様にしていたのですが、、

本気で、デザインしたら、、如何なることやら、、

文字も、写真もCGも、、IPhoneのハードからしてみたら同じ扱いです。

それぞれ、、専用の、、関数を使いますが、、

結局のところ、、最終的には1枚の画面に集約して表示するだけなので、

写真もCGも文字も、、結局は画像データなんです。

私は、、そういう画像を、特大サイズで、、40〜50枚、、重ねて、、

画面を作成しています。

そして、恐らく、、今回のアプリの最終形は重ね合わせ枚数は100枚を超えるでしょう、、

まあ、真っ当じゃありません。


そしてふと気付いたんです。

自分以外を偽物にすれば、、使用メモリを減らせるんじゃないかと、、

私が作っているアプリは、激重ですが、、ゲームではありません。

これがゲームであれば、同時に複数のキャラクタを動かさないといけませんが、、

ユーティリティなので、、

編集している対象以外は変わりまえん。

変わらないということは、、

アプリ内部で、、編集対象以外を1枚の写真として保存して、、

背景として、、表示すれば、、

流石に、1つの要素に掛かるメモリは100メガ以下です。

アプリの構成がぐるっと変わり大変ですが、、

これしか、ないと思っています。

妥協をさせてくれません、、困ったものです。

そりゃ、出来るけど、、

そう、ツッコミながら、、対応することになります。

自分で、自分のアプリを使って、、

デモンストレーションの画像を作っていたんですが、、

いまいち、しっくり来なかったんです。

そして、その理由も、、

自分では派手派手にしたつもりだったんですが、、

弾けきってなくて、、

そして、もっと派手にするアイデアが頭に浮かんだのですが、、


出来るだろうという考えと、

出来るけど、、という考えがぶつかって、、

結局、、押し切られて、、対応することになります。

今回も、、お出掛け時に動作確認をしましたが、、

細かいところに、アラが目立ち、、

そして、機能するはずの機能が機能しなかったりと、、

まあ、これは、、良かれと思って行った、内部動作の影響が、、

自分の考えていたところ以外から出たという形なので、、

リリース前に気付いてよかったです。


個人が出来ること、

想像も創造も出来ることなんて限られています。

だから、時間が経つにつれて、、自ずと出来ること、、

やるべきこと、対応せざるを得ないことは少なくなってきます。

少し、検証実験が必要ですが、、ほぼ今の自分なら出来ると思っています。

それでアプリが売れるなら、、

まあ、季節外れな訳です。

夏休み商戦に出すアプリにしても、、早すぎます。

ここで1週間、、余分に時間を取っても、、

問題はありません。

何だかんだと、後回しにしていた、、英語版の作成、、

8割方、、終わりました。

まあ、将来の自分のためです。

頑張ろうと思います。