イベント駆動型の iOS アプリをいくつか書いたことがありますが、現在取り組んでいることに対して十分な準備ができていないため、アドバイスが必要です。
ビュー、アニメーション ブロック、ジェスチャ レコグナイザーを使用してプロトタイプを作成したシンプルな戦略ゲーム デザインがあります。ボード、移動、基本的な UI が整ったので、AI プレーヤーの作成を始めたばかりですが、最善の進め方がまったくわからないことに気付きました。メイン スレッドをブロックすることなく、AI 移動イベントとその結果のアニメーションを生成する必要があります。何年も前に私は古典的なゲームループ パターンを使用していたかもしれませんが、iOS でその方法を使用することは避けたいと思います。ゲーム以外のアプリで使用できる手法としては思い浮かびません。私の目標の 1 つは、 iOS アプリを構築する方法についての理解を深めます。
私は GCD について読んだことがあり、GCD を使用してメイン スレッドから多くの作業を行うことができるというのが私の感覚ですが、さまざまな部分をどのように調整するかは明確ではありません。たとえば、AI はボードを評価する必要がありますが、アクターがボードを変更するたびに、現在の評価が無効になります。ボードの状態を管理するためにキューを設定しますか? 各 AI プレイヤーを 1 つのキューに入れますか? AI が最善の手を選んでいるときに、AI を中断する最善の方法は何ですか?
私のアプリがこれをサポートするために必要な種類のアーキテクチャのスケッチを持っている人はいますか? ゲームだけでなく、一般的に使えるパターンを探しています。誰かがそのようなことを知っていれば、私が実験できるいくつかの実用的なサンプルコードは完璧です. ありがとう!